1import sqlite3 2 3import pytest 4 5from flaskr.db import get_db 6 7 8def test_get_close_db(app): 9 with app.app_context(): 10 db = get_db() 11 assert db is get_db() 12 13 with pytest.raises(sqlite3.ProgrammingError) as e: 14 db.execute("SELECT 1") 15 16 assert "closed" in str(e.value) 17 18 19def test_init_db_command(runner, monkeypatch): 20 class Recorder: 21 called = False 22 23 def fake_init_db(): 24 Recorder.called = True 25 26 monkeypatch.setattr("flaskr.db.init_db", fake_init_db) 27 result = runner.invoke(args=["init-db"]) 28 assert "Initialized" in result.output 29 assert Recorder.called 30