import pytest from thoughtsync.app import create_app @pytest.fixture def app(): return create_app() async def test_health_ok(app): client = app.test_client() resp = await client.get("/api/health") assert resp.status_code == 200 data = await resp.get_json() assert data["status"] == "ok" assert "version" in data async def test_me_requires_auth(app): client = app.test_client() resp = await client.get("/api/auth/me") assert resp.status_code == 401 async def test_unknown_api_route_404s(app): client = app.test_client() resp = await client.get("/api/does-not-exist") assert resp.status_code == 404 # --- the version a running server reports ------------------------------------ # # Note 3127 §5 removed version tags, so this string is the only answer to "which # build is this?" and nothing exists to contradict it when it is wrong. That makes # the FALLBACK the interesting case rather than the happy path: it used to be # `__version__`, so a server run from a checkout reported `0.2.0` — a real-looking # version naming no build anybody could obtain. async def reported_version() -> str: """What a freshly built app tells /api/health it is. Built per call rather than through the `app` fixture: the value is read from the environment in `create_app`, so an app constructed before `monkeypatch` ran would answer about the wrong environment. """ client = create_app().test_client() return (await (await client.get("/api/health")).get_json())["version"] async def test_the_version_is_whatever_the_environment_says(monkeypatch): monkeypatch.setenv("APP_VERSION", "2026.08.29.0443") assert await reported_version() == "2026.08.29.0443" async def test_no_version_in_the_environment_reports_unknown(monkeypatch): """The honest "I cannot say", not a plausible default. Also asserted against `__version__` by name rather than against the literal it happens to hold, so bumping the packaging version cannot make this pass for the wrong reason. """ from thoughtsync import __version__ monkeypatch.delenv("APP_VERSION", raising=False) reported = await reported_version() assert reported == "unknown" assert reported != __version__ async def test_an_empty_version_reports_unknown_too(monkeypatch): """`APP_VERSION=` is what a mis-set build arg looks like, and an empty string renders as a blank space rather than as a missing value.""" monkeypatch.setenv("APP_VERSION", "") assert await reported_version() == "unknown"