Skip to content

Commit ef7f776

Browse files
committed
fix(alarms): mark raised alarms as handled
1 parent eb8bad7 commit ef7f776

2 files changed

Lines changed: 20 additions & 1 deletion

File tree

bec_lib/bec_lib/alarm_handler.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@ def raise_alarms(self, severity=Alarms.MAJOR):
166166
alarms = self.get_unhandled_alarms(severity=severity)
167167
if len(alarms) > 0:
168168
alarm = alarms.pop(0)
169+
alarm.handled = True
169170
self._raised_alarms.append(alarm)
170171
raise alarm
171172

bec_lib/tests/test_alarm_handler.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import pytest
22

33
from bec_lib import messages
4-
from bec_lib.alarm_handler import AlarmBase, Alarms
4+
from bec_lib.alarm_handler import AlarmBase, AlarmHandler, Alarms
55

66

77
@pytest.mark.parametrize(
@@ -48,3 +48,21 @@ def test_alarm_base_printing(msg):
4848

4949
# Test pretty_print method (just ensure it runs without error)
5050
alarm_msg.pretty_print()
51+
52+
53+
def test_raise_alarms_marks_alarm_handled():
54+
error_info = messages.ErrorInfo(
55+
error_message="This is a test alarm message for testing purposes.",
56+
compact_error_message="Compact alarm content",
57+
exception_type="TestAlarmType",
58+
device="TestDevice",
59+
)
60+
alarm_msg = messages.AlarmMessage(severity=Alarms.MAJOR, info=error_info)
61+
handler = AlarmHandler(connector=None)
62+
handler.add_alarm(alarm_msg)
63+
64+
with pytest.raises(AlarmBase) as exc_info:
65+
handler.raise_alarms()
66+
67+
assert exc_info.value.handled is True
68+
assert handler.get_unhandled_alarms() == []

0 commit comments

Comments
 (0)