Index: tests/test_alarms.py =================================================================== diff -u -r4bdb012848d1b59be5edc31d677b77b9d95f6190 -rb9fb7db20f9ac97da147afc08a18648347dc8d90 --- tests/test_alarms.py (.../test_alarms.py) (revision 4bdb012848d1b59be5edc31d677b77b9d95f6190) +++ tests/test_alarms.py (.../test_alarms.py) (revision b9fb7db20f9ac97da147afc08a18648347dc8d90) @@ -17,7 +17,9 @@ sys.path.append("..") from dialin.hd.hemodialysis_device import HD from dialin.utils.base import AbstractObserver -import time +from dialin.ui.hd_simulator import HDSimulator +from dialin.common.alarm_defs import AlarmList +from time import time, sleep class Observer(AbstractObserver): @@ -26,13 +28,14 @@ pass def update(self, result): - print(result) + pass # Store the state def check_something(self): pass + def test_disable_all_hd_alarms(): """ Disables all hd alarms @@ -42,12 +45,13 @@ if hd.cmd_log_in_to_hd(): hd.ui.cmd_ui_request_hd_version() - time.sleep(0.5) + sleep(0.5) print(f"Current HD version: {hd.ui.hd_version}") for desc, val in hd.alarms.ids.items(): hd.alarms.cmd_alarm_state_override(0, val) - time.sleep(0.5) + sleep(0.5) + def test_hd_alarms(): """ Simulates all HD alarms @@ -72,7 +76,7 @@ 'ALARM_ID_UF_VOLUME_ACCURACY_ERROR', 'ALARM_ID_RTC_OR_TIMER_ACCURACY_FAILURE', 'ALARM_ID_NVDATA_CAL_RECORD_CRC_ERROR', - 'AlARM_ID_NVDATA_DISINFECTION_DATE_CRC_ERROR', + 'ALARM_ID_NVDATA_DISINFECTION_DATE_CRC_ERROR', 'ALARM_ID_NVDATA_MFG_RECORD_CRC_ERROR', 'ALARM_ID_RO_PUMP_OUT_PRESSURE_OUT_OF_RANGE', 'ALARM_ID_TEMPERATURE_SENSORS_OUT_OF_RANGE', @@ -86,23 +90,49 @@ if hd.cmd_log_in_to_hd(): hd.ui.cmd_ui_request_hd_version() - time.sleep(0.5) + sleep(0.5) print(f"Current HD version: {hd.ui.hd_version}") for desc, val in hd.alarms.ids.items(): if desc in alarm_faults: print("Skipping {0}".format(desc)) continue - print("Testing {0} = {1}".format(desc, val)) - success = hd.alarms.cmd_alarm_state_override(1, val) - time.sleep(10) + print("Testing {0} = {1}".format(val.name, val.value)) + success = hd.alarms.cmd_alarm_state_override(1, val.value) + sleep(3) if not success: raise ValueError("Failed to activate alarm {0} = {1}".format(desc, val)) - success = hd.alarms.cmd_alarm_state_override(0, val) + success = hd.alarms.cmd_alarm_state_override(0, val.value) if not success: raise ValueError("Failed to deactivate alarm {0} = {1}".format(desc, val)) - time.sleep(2) + sleep(2) +def test_clear_alarms(): + hd_sim = HDSimulator() + hd_sim.alarms_simulator.cmd_send_clear_alarms() + sleep(3) + hd_sim.alarms_simulator.cmd_activate_alarm(alarm=AlarmList.ALARM_ID_BLOOD_PUMP_MOTOR_SPEED_CHECK) + sleep(3) + hd_sim.alarms_simulator.cmd_send_clear_alarms() + sleep(1) + + +def test_repeated_alarm(): + hd_sim = HDSimulator(log_level="DEBUG") + hd_sim.alarms_simulator.cmd_send_clear_alarms() + sleep(2) + flags = hd_sim.alarms_simulator.cmd_make_alarm_flags(alarms_silenced=0, + user_acknowledge=0) + hd_sim.alarms_simulator.set_flags(flags) + hd_sim.alarms_simulator.cmd_repeat_broadcast_alarm(alarm=AlarmList.ALARM_ID_BLOOD_PUMP_MOTOR_SPEED_CHECK, + state=1, + timeout=20) +def test_activate_alarm(): + hd_sim = HDSimulator() + hd_sim.alarms_simulator.cmd_send_clear_alarms() + hd_sim.alarms_simulator.cmd_activate_alarm(alarm=AlarmList.ALARM_ID_BLOOD_PUMP_MOTOR_SPEED_CHECK) + + if __name__ == '__main__': - # test_disable_all_hd_alarms() - test_hd_alarms() + test_activate_alarm() + # test_repeated_alarm()