from __future__ import annotations from types import SimpleNamespace from unittest.mock import MagicMock from jarvis.runtime_observability_status import ( default_observability_status_snapshot, publish_observability_status, ) def test_default_observability_status_snapshot_shape() -> None: snapshot = default_observability_status_snapshot() assert snapshot["enabled"] is False assert "intent_metrics" in snapshot assert "latency_dashboards" in snapshot assert "policy_decision_analytics" in snapshot assert "router_canary_analytics" in snapshot assert "budget_metrics" in snapshot def test_publish_observability_status_uses_default_when_disabled() -> None: runtime = SimpleNamespace(_observability=None) payload: dict[str, object] = {} publish_observability_status( runtime, set_runtime_observability_state_fn=lambda value: payload.update(value), ) assert payload["enabled"] is False assert payload["latency_dashboards"]["sample_count"] == 0 def test_publish_observability_status_enriches_snapshot_with_analytics() -> None: runtime = SimpleNamespace( _observability=SimpleNamespace(status_snapshot=lambda: {"enabled": True, "alerts": []}), _conversation_latency_analytics=lambda: {"sample_count": 3}, _policy_decision_analytics=lambda: {"decision_count": 2}, _router_canary_analytics=lambda: {"sample_count": 4, "shadow_disagreement_count": 1}, ) payload: dict[str, object] = {} publish_observability_status( runtime, set_runtime_observability_state_fn=lambda value: payload.update(value), ) assert payload["enabled"] is True assert payload["latency_dashboards"]["sample_count"] == 3 assert payload["policy_decision_analytics"]["decision_count"] == 2 assert payload["router_canary_analytics"]["shadow_disagreement_count"] == 1 def test_publish_observability_status_falls_back_when_snapshot_raises() -> None: runtime = SimpleNamespace( _observability=SimpleNamespace(status_snapshot=MagicMock(side_effect=RuntimeError("boom"))), _conversation_latency_analytics=lambda: {"sample_count": 1}, _policy_decision_analytics=lambda: {"decision_count": 1}, ) payload: dict[str, object] = {} publish_observability_status( runtime, set_runtime_observability_state_fn=lambda value: payload.update(value), ) assert payload["enabled"] is False assert payload["latency_dashboards"]["sample_count"] == 1 assert payload["policy_decision_analytics"]["decision_count"] == 1