blob: 4e2f10367cd1ca0e3ef91ef619ae32f8ed6d1d1b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
import sqlite3
import pytest
from ustayml.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('ustayml.db.init_db', fake_init_db)
result = runner.invoke(args=['init-db'])
assert 'Initialized' in result.output
assert Recorder.called
|