fix(netx): derive ne_id from objectName ME{net_id}

When alarmkey does not contain a net_id, fall back to extracting ME{net_id} from objectName so alarms can join inventory correctly. Add regression coverage for the ME{} objectName pattern.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
oliver 2026-05-13 17:02:46 +08:00
parent 626bb2b02e
commit 15d9cb5db3
2 changed files with 13 additions and 0 deletions

View file

@ -487,6 +487,7 @@ class UmeSyncServiceTests(unittest.TestCase):
alarm_hash = {"alarmkey": "00ceb960-1b62-478e-8303-0935ffea1d28#99010"}
alarm_csv = {"alarmkey": "00ceb960-1b62-478e-8303-0935ffea1d28, 4237, 79"}
alarm_space = {"alarmkey": "00ceb960-1b62-478e-8303-0935ffea1d28 4205 3588"}
alarm_object_name_me = {"alarmkey": "no-net-id-here", "objectName": "OLT/ME{00ceb960-1b62-478e-8303-0935ffea1d28}/PON-1"}
self.assertEqual(
_derive_ne_id_from_alarm(alarm_hash),
@ -500,6 +501,10 @@ class UmeSyncServiceTests(unittest.TestCase):
_derive_ne_id_from_alarm(alarm_space),
"00ceb960-1b62-478e-8303-0935ffea1d28",
)
self.assertEqual(
_derive_ne_id_from_alarm(alarm_object_name_me),
"00ceb960-1b62-478e-8303-0935ffea1d28",
)
def test_serialize_ume_alarm_raw_row_select_fields(self):
alarm = UmeAlarmCurrent(