Agentic-Reliability-Framework-API / tests /test_risk_service.py
petter2025's picture
Upload folder using huggingface_hub (#3)
6d20eab
from unittest.mock import Mock
from app.services.risk_service import evaluate_intent, evaluate_healing_decision
from agentic_reliability_framework.core.governance.intents import ProvisionResourceIntent, ResourceType
from agentic_reliability_framework.core.models.event import ReliabilityEvent
from agentic_reliability_framework.core.governance.policy_engine import PolicyEngine
def test_evaluate_intent():
engine = Mock()
engine.calculate_risk.return_value = (0.5, "explanation", {"a": 1})
intent = ProvisionResourceIntent(
resource_type=ResourceType.VM,
region="eastus",
size="Standard_D2s_v3",
requester="alice",
environment="dev"
)
result = evaluate_intent(
engine,
intent,
cost_estimate=100.0,
policy_violations=[])
assert result["risk_score"] == 0.5
assert result["explanation"] == "explanation"
engine.calculate_risk.assert_called_once()
def test_evaluate_healing_decision():
event = ReliabilityEvent(
component="test",
latency_p99=600,
error_rate=0.2,
service_mesh="default"
)
policy_engine = PolicyEngine()
# Temporarily disable decision engine to get raw actions
policy_engine.use_decision_engine = False
result = evaluate_healing_decision(event, policy_engine)
assert "selected_action" in result
assert "risk_score" in result
# The result should have epistemic_signals (zeros) even without model
assert result["epistemic_signals"] is not None