From 2c924d09f2bb79036147df8030ba939df985c8e2 Mon Sep 17 00:00:00 2001 From: Felix Moessbauer Date: Tue, 19 May 2026 16:00:02 +0200 Subject: [PATCH] test(darc_mowas_service): check scope from alert region id logic --- tests/unit/test_darc_mowas.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/unit/test_darc_mowas.py b/tests/unit/test_darc_mowas.py index 8b9b319..8752dd7 100644 --- a/tests/unit/test_darc_mowas.py +++ b/tests/unit/test_darc_mowas.py @@ -128,6 +128,27 @@ def _mowas_service_bot(): return bot +@pytest.mark.unit +class TestScopeByRegion: + def test_hierarchical_lookup(self): + bot = _mowas_service_bot() + bot.config.set("DARC_MoWaS_Service", "flood_scope.090000000000", "#de-by") + bot.config.set("DARC_MoWaS_Service", "flood_scope.091840000000", "#de-by-muc") + svc = DARC_MoWaS_Service(bot) + # City Haar within LK Munich + area = TRDECapAlertArea(areaDesc="Stadt Haar", geocode=[("SHN", "091841230000")]) + info = TRDECapAlertInfo(language="de", category=None, event=None, urgency=None, + severity=None, certainty=None, description="", parameter=[], headline=None, area=[area]) + # most specific wins + assert svc.scope_by_region(info) == "#de-by-muc" + # broader prefix + area.geocode = [("SHN", "091000000000")] + assert svc.scope_by_region(info) == "#de-by" + # no match + area.geocode = [("SHN", "050000000000")] + assert svc.scope_by_region(info) is None + + @pytest.mark.unit @pytest.mark.asyncio async def test_send_chunks_assigns_ascending_timestamps_per_index():