Files
awoooi/apps/api/tests/test_drift_fingerprint_state_api.py
Your Name 468eba526e
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Failing after 2m3s
CD Pipeline / build-and-deploy (push) Has been skipped
CD Pipeline / post-deploy-checks (push) Has been skipped
fix(awooop): fail soft drift fingerprint readback
2026-07-03 07:53:18 +08:00

32 lines
1.1 KiB
Python

import pytest
from src.api.v1 import drift as drift_api
class _BrokenDriftFingerprintStateService:
async def get_state(self, *, report_id=None, namespace=None):
raise RuntimeError("simulated drift readback failure")
@pytest.mark.asyncio
async def test_drift_fingerprint_state_endpoint_fails_soft_on_readback_error(monkeypatch) -> None:
monkeypatch.setattr(
drift_api,
"get_drift_fingerprint_state_service",
lambda: _BrokenDriftFingerprintStateService(),
)
payload = await drift_api.get_drift_fingerprint_state(
report_id=None,
namespace="awoooi-prod",
)
assert payload["schema_version"] == "drift_fingerprint_state_v1"
assert payload["namespace"] == "awoooi-prod"
assert payload["readback_status"] == "degraded"
assert payload["readback_error"] == "internal_readback_error"
assert payload["operator_stage"] == "readback_degraded_ai_controlled_repair"
assert payload["writes_incident_state"] is False
assert payload["writes_auto_repair_result"] is False
assert payload["writes_drift_status"] is False