33 lines
1.0 KiB
Python
33 lines
1.0 KiB
Python
from __future__ import annotations
|
|
|
|
from types import SimpleNamespace
|
|
|
|
from src.models.incident import Severity
|
|
from src.services.incident_memory import _derive_incident_alert_metadata
|
|
|
|
|
|
def test_signal_worker_incident_metadata_uses_signal_alert_name() -> None:
|
|
incident = SimpleNamespace(
|
|
incident_id="INC-TEST",
|
|
severity=Severity.P2,
|
|
signals=[
|
|
SimpleNamespace(
|
|
alert_name="HostErrorLogFlood",
|
|
severity=Severity.P2,
|
|
source="journal",
|
|
labels={"error_count": "29"},
|
|
annotations={"summary": "29 ERROR log entries in last 5min"},
|
|
fingerprint="b000a87cfe4bc658",
|
|
)
|
|
],
|
|
)
|
|
|
|
metadata = _derive_incident_alert_metadata(incident)
|
|
|
|
assert metadata["alertname"] == "HostErrorLogFlood"
|
|
assert metadata["alert_category"] == "host_resource"
|
|
assert metadata["notification_type"] == "TYPE-3"
|
|
assert metadata["description"] == "29 ERROR log entries in last 5min"
|
|
assert metadata["actor"] == "journal"
|
|
|