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