Newer
Older
navi-1 / tests / unit / test_startup.py
@Eugene Sukhodolskiy Eugene Sukhodolskiy on 29 Apr 1 KB Complete phase 7 regression test coverage
"""Unit tests for application startup wiring."""


async def test_startup_initializes_registries_before_embed_check(monkeypatch):
    import navi.api.deps as deps
    import navi.api.routes.health as health_mod
    import navi.content_store as content_store
    import navi.main as main_mod
    import navi.session_files as session_files

    order = []

    async def fake_ensure_tables():
        order.append("ensure_tables")

    def fake_get_registries():
        order.append("get_registries")
        return None

    async def fake_check_embed():
        order.append("check_embed")
        return {"ok": True, "backend": "fake", "error": None}

    async def fake_cleanup_loop(store):
        return None

    def fake_create_task(coro):
        order.append("create_task")
        coro.close()
        return object()

    monkeypatch.setattr(content_store, "ensure_tables", fake_ensure_tables)
    monkeypatch.setattr(deps, "get_registries", fake_get_registries)
    monkeypatch.setattr(health_mod, "_check_embed", fake_check_embed)
    monkeypatch.setattr(session_files, "cleanup_loop", fake_cleanup_loop)
    monkeypatch.setattr(deps, "get_session_store", lambda: object())
    monkeypatch.setattr(main_mod.asyncio, "create_task", fake_create_task)

    await main_mod._on_startup()

    assert order[:3] == ["ensure_tables", "get_registries", "check_embed"]
    assert order[-1] == "create_task"