57 lines
1.4 KiB
Python
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,
|
|
)
|
|
== []
|
|
)
|