Spaces:
Sleeping
Sleeping
| """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 | |
| 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"] | |