ef385340e8
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
25 lines
842 B
Python
25 lines
842 B
Python
from fastapi.testclient import TestClient
|
|
|
|
from app.main import create_app
|
|
|
|
|
|
def test_healthz_ok_on_migrated_empty_db(fresh_db_url):
|
|
app = create_app(database_url=fresh_db_url)
|
|
with TestClient(app) as client:
|
|
resp = client.get("/healthz")
|
|
assert resp.status_code == 200
|
|
assert resp.json() == {"status": "ok"}
|
|
|
|
|
|
def test_startup_migrates_from_empty(fresh_db_url):
|
|
# create_app on an empty DB must self-migrate so /healthz reports current.
|
|
app = create_app(database_url=fresh_db_url)
|
|
with TestClient(app) as client:
|
|
assert client.get("/healthz").status_code == 200
|
|
# the schema_migrations row exists -> migrations ran at startup
|
|
import psycopg
|
|
|
|
with psycopg.connect(fresh_db_url) as conn:
|
|
n = conn.execute("SELECT count(*) FROM schema_migrations").fetchone()[0]
|
|
assert n >= 1
|