Files
awoooi/apps/api/tests/test_approval_repository_pending_expiry.py
Your Name 0bb4773b9e
Some checks failed
CD Pipeline / tests (push) Successful in 1m26s
Code Review / ai-code-review (push) Successful in 12s
CD Pipeline / build-and-deploy (push) Has been cancelled
CD Pipeline / post-deploy-checks (push) Has been cancelled
fix(aiops): preserve alert identity in degraded diagnosis
2026-06-04 11:32:31 +08:00

47 lines
1.1 KiB
Python

import pytest
from src.repositories import approval_repository as repo_mod
class _FakeScalars:
def all(self) -> list:
return []
class _FakeResult:
def scalars(self) -> _FakeScalars:
return _FakeScalars()
class _FakeDb:
def __init__(self) -> None:
self.statements = []
async def execute(self, statement):
self.statements.append(statement)
return _FakeResult()
class _FakeDbContext:
def __init__(self, db: _FakeDb) -> None:
self.db = db
async def __aenter__(self) -> _FakeDb:
return self.db
async def __aexit__(self, exc_type, exc, tb) -> bool:
return False
@pytest.mark.asyncio
async def test_repository_get_pending_expires_old_pending_before_select(monkeypatch) -> None:
fake_db = _FakeDb()
monkeypatch.setattr(repo_mod, "get_db_context", lambda: _FakeDbContext(fake_db))
pending = await repo_mod.ApprovalDBRepository().get_pending()
assert pending == []
assert len(fake_db.statements) == 2
assert fake_db.statements[0].__class__.__name__ == "Update"
assert fake_db.statements[1].__class__.__name__ == "Select"