Skip to content

Commit c5da374

Browse files
committed
Add flask tests for registering migration check with app
1 parent fa9fb5f commit c5da374

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

tests/flask/test_flask.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,37 @@ def test_full_db_check_error(mocker, app, db, client):
216216
assert json.loads(response.data.decode())["status"] == "error"
217217

218218

219+
def test_full_migrate_check(mocker, client, app, db, migrate):
220+
mocker.patch(
221+
"alembic.script.ScriptDirectory.get_heads", return_value=("17164a7d1c2e",)
222+
)
223+
mocker.patch(
224+
"alembic.migration.MigrationContext.get_current_heads",
225+
return_value=("17164a7d1c2e",),
226+
)
227+
Dockerflow(app, migrate=migrate)
228+
with app.app_context():
229+
assert "check_migrations_applied" in checks.get_checks()
230+
response = client.get("/__heartbeat__")
231+
assert response.status_code == 200
232+
assert json.loads(response.data.decode())["status"] == "ok"
233+
234+
235+
def test_full_migrate_check_error(mocker, client, app, db, migrate):
236+
237+
with app.app_context():
238+
mocker.patch.object(db.engine, "connect", side_effect=SQLAlchemyError)
239+
Dockerflow(app, migrate=migrate)
240+
assert "check_migrations_applied" in checks.get_checks()
241+
response = client.get("/__heartbeat__")
242+
assert response.status_code == 200
243+
assert response.json["status"] == "info"
244+
assert (
245+
health.INFO_CANT_CHECK_MIGRATIONS
246+
in response.json["details"]["check_migrations_applied"]["messages"]
247+
)
248+
249+
219250
def assert_log_record(record, errno=0, level=logging.INFO):
220251
assert record.levelno == level
221252
assert record.errno == errno

0 commit comments

Comments
 (0)