Files
awoooi/apps/api/tests/test_knowledge_service_readback_degraded.py
Your Name 77daf55cdd
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / build-and-deploy (push) Has been cancelled
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / tests (push) Has been cancelled
fix(knowledge): classify assets and fail soft list readback
2026-07-03 09:02:43 +08:00

34 lines
1.1 KiB
Python

import pytest
from src.services import knowledge_service as knowledge_service_module
from src.services.knowledge_service import KnowledgeService
class _BrokenDbContext:
async def __aenter__(self):
raise RuntimeError("db pool exhausted")
async def __aexit__(self, exc_type, exc, tb):
return False
@pytest.mark.asyncio
async def test_knowledge_list_entries_fails_soft_when_readback_breaks(monkeypatch) -> None:
monkeypatch.setattr(
knowledge_service_module,
"get_db_context",
lambda: _BrokenDbContext(),
)
service = KnowledgeService.__new__(KnowledgeService)
response = await service.list_entries(limit=50)
assert response.items == []
assert response.total == 0
assert response.categories == []
assert response.readback_status == "degraded"
assert response.operator_stage == "knowledge_readback_degraded_ai_controlled_repair"
assert response.next_step == "queue_ai_controlled_km_readback_retry_tagging_and_connector_verifier"
assert response.writes_on_read is False
assert response.manual_review_required is False