Files
awoooi/apps/api/tests/test_notification_matrix_group_cutover.py

57 lines
1.4 KiB
Python

from src.services.notification_matrix import resolve_chat_ids
def test_only_shared_incident_types_resolve_to_sre_group() -> None:
for notification_type in [
"TYPE-2",
"TYPE-3",
"TYPE-4",
"TYPE-4D",
"TYPE-5S",
"TYPE-7E",
"TYPE-8M",
]:
assert resolve_chat_ids(
notification_type,
dm_chat_id="operator-dm-id",
group_chat_id="sre-room-id",
tg_group_cutover=False,
) == ["sre-room-id"]
def test_info_business_and_unknown_types_are_fail_closed() -> None:
for notification_type in ["TYPE-1", "TYPE-6B", "UNKNOWN"]:
assert (
resolve_chat_ids(
notification_type,
dm_chat_id="operator-dm-id",
group_chat_id="sre-room-id",
tg_group_cutover=False,
)
== []
)
def test_explicit_empty_registry_does_not_fall_back_to_default() -> None:
assert (
resolve_chat_ids(
"TYPE-5S",
dm_chat_id="operator-dm-id",
group_chat_id="sre-room-id",
registry={},
)
== []
)
def test_dm_is_not_used_when_group_missing() -> None:
assert (
resolve_chat_ids(
"TYPE-3",
dm_chat_id="operator-dm-id",
group_chat_id="",
tg_group_cutover=True,
)
== []
)