from unittest.mock import MagicMock, patch from slo_tracker import evaluate_slo def make_prom(value): prom = MagicMock() prom.custom_query.return_value = [{"value": [0, str(value)]}] return prom def test_slo_ok(): slo = {"name": "test", "query": "up", "target": 0.99} result = evaluate_slo(make_prom(0.999), slo, "7d") assert result["ok"] is True def test_slo_burning(): slo = {"name": "test", "query": "up", "target": 0.99} result = evaluate_slo(make_prom(0.985), slo, "7d") assert result["ok"] is False