Files
dashboard-cpsp/backend/apps/operations/tests_insight_alert.py
T

52 lines
1.8 KiB
Python

from django.test import SimpleTestCase
from apps.operations.services.insight_service import alert_from_graded
class AlertFromGradedTests(SimpleTestCase):
def test_empty_analyses_is_unknown(self):
self.assertEqual(alert_from_graded({}), "unknown")
self.assertEqual(alert_from_graded({"analyses": {}}), "unknown")
def test_ok_maps_to_healthy(self):
graded = {"analyses": {"fcr": {"status": "ok"}}}
self.assertEqual(alert_from_graded(graded), "healthy")
def test_warning_and_critical_unchanged(self):
self.assertEqual(
alert_from_graded({"analyses": {"fcr": {"status": "warning"}}}),
"warning",
)
self.assertEqual(
alert_from_graded({"analyses": {"mortality": {"status": "critical"}}}),
"critical",
)
def test_unknown_stays_unknown(self):
graded = {"analyses": {"bw": {"status": "unknown"}}}
self.assertEqual(alert_from_graded(graded), "unknown")
def test_worst_wins_critical_over_warning_and_healthy(self):
graded = {
"analyses": {
"fcr": {"status": "ok"},
"mortality": {"status": "warning"},
"environment": {"status": "critical"},
}
}
self.assertEqual(alert_from_graded(graded), "critical")
def test_worst_wins_warning_over_healthy_and_unknown(self):
graded = {
"analyses": {
"fcr": {"status": "ok"},
"bw": {"status": "unknown"},
"mortality": {"status": "warning"},
}
}
self.assertEqual(alert_from_graded(graded), "warning")
def test_ignores_non_dict_blocks(self):
graded = {"analyses": {"fcr": "ok", "bw": {"status": "ok"}}}
self.assertEqual(alert_from_graded(graded), "healthy")