RICS / app /tests /test_generation_finalize_stub.py
StormShadow308's picture
feat: async pipeline, job queue, generation hardening, and docs
732b14f
Raw
History Blame Contribute Delete
988 Bytes
"""Generation status must never remain stuck on ``generating``."""
from __future__ import annotations
from unittest.mock import AsyncMock, MagicMock, patch
import pytest
from app.services.generation import finalize_generation_status_if_stuck, run_generation
@pytest.mark.asyncio
async def test_run_generation_finally_clears_stuck_generating() -> None:
marked: list[str] = []
async def _stuck_finalize(rid: str, tid: str, **kwargs) -> None:
marked.append("finalize")
async def _body(**kwargs) -> None:
return None
with (
patch("app.services.generation._run_generation_body", side_effect=_body),
patch(
"app.services.generation.finalize_generation_status_if_stuck",
side_effect=_stuck_finalize,
),
):
await run_generation(
report_id="r1",
tenant_id="tenant-a",
template_id="D",
bullets=["note"],
)
assert marked == ["finalize"]