mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
[8df60dde] Rebase timeout-fix branch onto current main and restore test coverage (#816)
* [8df60dde] Fix RuntimeWarning in claim_review tests by stubbing the findings ledger session Three claim_review tests (test_claim_review_returns_evidence_inline, test_claim_review_marks_evidence_inspected, test_claim_review_returns_gateway_timeout_on_slow_evidence) triggered RuntimeWarnings about unawaited coroutines from findings.py because the mock session's execute method was not configured for the ReviewFindingsRepository calls that _build_qa_claim_evidence makes. Added _stub_empty_ledger(task_svc.session) to each, matching the pattern already used by the pass_review and fail_review tests. * [8df60dde] Fix RuntimeWarning in evidence tests by stubbing the findings ledger session * [8df60dde] test: add _stub_empty_ledger to slow-db-read evidence test to prevent RuntimeWarning The third evidence test (test_evidence_returns_gateway_timeout_on_slow_db_read) was missing the _stub_empty_ledger stub that the other two evidence tests already have. Without it, the mock session's execute method is not configured for the ReviewFindingsRepository calls that evidence() makes, producing RuntimeWarnings about unawaited coroutines from findings.py:288. --------- Co-authored-by: Backend Developer 2 <be-dev-2@roboco.tech>
This commit is contained in:
co-authored by
Backend Developer 2
parent
c6913bf792
commit
c0a2a0c871
@@ -83,6 +83,7 @@ async def test_claim_review_returns_evidence_inline() -> None:
|
||||
work_svc = AsyncMock()
|
||||
git_svc = AsyncMock()
|
||||
git_svc.diff_and_files.return_value = ("+++ diff content", ["README.md"])
|
||||
_stub_empty_ledger(task_svc.session)
|
||||
deps = _make_deps(task=task_svc, work_session=work_svc, git=git_svc)
|
||||
c = Choreographer(deps)
|
||||
|
||||
@@ -149,6 +150,7 @@ async def test_claim_review_marks_evidence_inspected() -> None:
|
||||
task_svc.qa_claim.return_value = t_claimed
|
||||
git_svc = AsyncMock()
|
||||
git_svc.diff_and_files.return_value = ("", [])
|
||||
_stub_empty_ledger(task_svc.session)
|
||||
deps = _make_deps(task=task_svc, git=git_svc)
|
||||
c = Choreographer(deps)
|
||||
|
||||
@@ -218,6 +220,7 @@ async def test_claim_review_returns_gateway_timeout_on_slow_evidence(
|
||||
return "+++ diff content", ["README.md"]
|
||||
|
||||
git_svc.diff_and_files.side_effect = _slow_diff_and_files
|
||||
_stub_empty_ledger(task_svc.session)
|
||||
deps = _make_deps(task=task_svc, work_session=work_svc, git=git_svc)
|
||||
c = Choreographer(deps)
|
||||
|
||||
|
||||
@@ -58,6 +58,17 @@ def _make_deps(**overrides: AsyncMock) -> ContentActionsDeps:
|
||||
)
|
||||
|
||||
|
||||
def _stub_empty_ledger(session: MagicMock) -> None:
|
||||
"""Configure a mock session's ``execute`` so ``ReviewFindingsRepository``
|
||||
finds no rows — covers evidence()'s findings-ledger read, which a bare
|
||||
``AsyncMock`` session doesn't configure and leaves unawaited coroutines."""
|
||||
session.execute = AsyncMock(
|
||||
return_value=MagicMock(
|
||||
scalars=MagicMock(return_value=MagicMock(all=MagicMock(return_value=[])))
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# commit
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -647,6 +658,7 @@ async def test_evidence_valid_task_returns_ok_with_pr_diff() -> None:
|
||||
)
|
||||
task_svc = AsyncMock()
|
||||
task_svc.get.return_value = task_obj
|
||||
_stub_empty_ledger(task_svc.session)
|
||||
git_svc = AsyncMock()
|
||||
git_svc.diff_and_files.return_value = (
|
||||
"diff --git a/foo.py b/foo.py\n+added line",
|
||||
@@ -711,6 +723,7 @@ async def test_evidence_returns_gateway_timeout_on_slow_git(
|
||||
)
|
||||
task_svc = AsyncMock()
|
||||
task_svc.get.return_value = task_obj
|
||||
_stub_empty_ledger(task_svc.session)
|
||||
|
||||
async def _slow_diff_and_files(**_kwargs: object) -> tuple[str, list[str]]:
|
||||
await asyncio.sleep(1)
|
||||
@@ -755,6 +768,7 @@ async def test_evidence_returns_gateway_timeout_on_slow_db_read(
|
||||
)
|
||||
task_svc = AsyncMock()
|
||||
task_svc.get.return_value = task_obj
|
||||
_stub_empty_ledger(task_svc.session)
|
||||
git_svc = AsyncMock()
|
||||
git_svc.diff_and_files.return_value = ("diff", ["f.py"])
|
||||
workspace_svc = AsyncMock()
|
||||
|
||||
Reference in New Issue
Block a user