diff options
Diffstat (limited to 'tests/test_db.py')
| -rw-r--r-- | tests/test_db.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/test_db.py b/tests/test_db.py new file mode 100644 index 0000000..6ac4635 --- /dev/null +++ b/tests/test_db.py @@ -0,0 +1,33 @@ +import sqlite3 + +import pytest +from flaskr.db import get_db + + +def test_get_close_db(app): + with app.app_context(): + db = get_db() + assert db is get_db() + + with pytest.raises(sqlite3.ProgrammingError) as e: + db.execute('SELECT 1') + + assert 'closed' in str(e.value) + + +def test_init_db_command(runner, monkeypatch): + """ + This test uses Pytest’s monkeypatch fixture to replace the init_db + function with one that records that it’s been called. The runner fixture you + wrote above is used to call the init-db command by name. + """ + class Recorder(object): + called = False + + def fake_init_db(): + Recorder.called = True + + monkeypatch.setattr('flaskr.db.init_db', fake_init_db) + result = runner.invoke(args=['init-db']) + assert 'Initialized' in result.output + assert Recorder.called
\ No newline at end of file |
