Files
awoooi/apps/api/tests/test_decision_manager_telegram_dedup.py
Your Name 5ed396e390
All checks were successful
CD Pipeline / tests (push) Successful in 58s
Code Review / ai-code-review (push) Successful in 10s
CD Pipeline / build-and-deploy (push) Successful in 3m30s
CD Pipeline / post-deploy-checks (push) Successful in 2m19s
fix(decision): derive telegram dedup from incident signals
2026-05-06 00:19:35 +08:00

36 lines
1.1 KiB
Python

from datetime import UTC, datetime
from src.models.incident import Incident, Severity, Signal
from src.services.decision_manager import _incident_alertname_for_dedup
def test_telegram_dedup_alertname_uses_signal_not_missing_title() -> None:
incident = Incident(
incident_id="INC-TEST",
severity=Severity.P3,
signals=[
Signal(
alert_name="FallbackAlertName",
severity=Severity.P3,
source="alertmanager",
fired_at=datetime.now(UTC),
labels={"alertname": "DockerContainerMemoryLimitPressure"},
)
],
affected_services=["node-exporter-110"],
)
assert not hasattr(incident, "title")
assert _incident_alertname_for_dedup(incident) == "DockerContainerMemoryLimitPressure"
def test_telegram_dedup_alertname_falls_back_to_incident_id() -> None:
incident = Incident(
incident_id="INC-NO-SIGNAL",
severity=Severity.P3,
signals=[],
affected_services=[],
)
assert _incident_alertname_for_dedup(incident) == "INC-NO-SIGNAL"