|
@@ -177,17 +177,17 @@ class TestAlarmDecoder(TestCase): |
|
|
self._device.write.assert_called_with(bytes("L{0:02}0\r".format(1), 'utf-8')) |
|
|
self._device.write.assert_called_with(bytes("L{0:02}0\r".format(1), 'utf-8')) |
|
|
|
|
|
|
|
|
def test_message(self): |
|
|
def test_message(self): |
|
|
msg = self._decoder._handle_message(b'[0000000000000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[00000000000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertIsInstance(msg, Message) |
|
|
self.assertIsInstance(msg, Message) |
|
|
|
|
|
|
|
|
self._decoder._on_read(self, data=b'[0000000000000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
self._decoder._on_read(self, data=b'[00000000000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertTrue(self._message_received) |
|
|
self.assertTrue(self._message_received) |
|
|
|
|
|
|
|
|
def test_message_kpm(self): |
|
|
def test_message_kpm(self): |
|
|
msg = self._decoder._handle_message(b'!KPM:[0000000000000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'!KPM:[00000000000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertIsInstance(msg, Message) |
|
|
self.assertIsInstance(msg, Message) |
|
|
|
|
|
|
|
|
self._decoder._on_read(self, data=b'[0000000000000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
self._decoder._on_read(self, data=b'[00000000000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertTrue(self._message_received) |
|
|
self.assertTrue(self._message_received) |
|
|
|
|
|
|
|
|
def test_expander_message(self): |
|
|
def test_expander_message(self): |
|
@@ -241,87 +241,87 @@ class TestAlarmDecoder(TestCase): |
|
|
self.assertTrue(self._got_config) |
|
|
self.assertTrue(self._got_config) |
|
|
|
|
|
|
|
|
def test_power_changed_event(self): |
|
|
def test_power_changed_event(self): |
|
|
msg = self._decoder._handle_message(b'[0000000100000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[00000001000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertFalse(self._power_changed) # Not set first time we hit it. |
|
|
self.assertFalse(self._power_changed) # Not set first time we hit it. |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[0000000000000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[00000000000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertFalse(self._power_changed) |
|
|
self.assertFalse(self._power_changed) |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[0000000100000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[00000001000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertTrue(self._power_changed) |
|
|
self.assertTrue(self._power_changed) |
|
|
|
|
|
|
|
|
def test_ready_changed_event(self): |
|
|
def test_ready_changed_event(self): |
|
|
msg = self._decoder._handle_message(b'[0000000000000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[00000000000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertFalse(self._ready_changed) # Not set first time we hit it. |
|
|
self.assertFalse(self._ready_changed) # Not set first time we hit it. |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[1000000000000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[10000000000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertTrue(self._ready_changed) |
|
|
self.assertTrue(self._ready_changed) |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[0000000000000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[00000000000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertFalse(self._ready_changed) |
|
|
self.assertFalse(self._ready_changed) |
|
|
|
|
|
|
|
|
def test_chime_changed_event(self): |
|
|
def test_chime_changed_event(self): |
|
|
msg = self._decoder._handle_message(b'[0000000000000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[00000000000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertFalse(self._chime_changed) # Not set first time we hit it. |
|
|
self.assertFalse(self._chime_changed) # Not set first time we hit it. |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[0000000010000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[00000000100000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertTrue(self._chime_changed) |
|
|
self.assertTrue(self._chime_changed) |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[0000000000000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[00000000000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertFalse(self._chime_changed) |
|
|
self.assertFalse(self._chime_changed) |
|
|
|
|
|
|
|
|
def test_alarm_event(self): |
|
|
def test_alarm_event(self): |
|
|
msg = self._decoder._handle_message(b'[0000000000100000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[00000000001000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertFalse(self._alarmed) # Not set first time we hit it. |
|
|
self.assertFalse(self._alarmed) # Not set first time we hit it. |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[0000000000000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[00000000000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertFalse(self._alarmed) |
|
|
self.assertFalse(self._alarmed) |
|
|
self.assertTrue(self._alarm_restored) |
|
|
self.assertTrue(self._alarm_restored) |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[0000000000100000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[00000000001000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertTrue(self._alarmed) |
|
|
self.assertTrue(self._alarmed) |
|
|
|
|
|
|
|
|
def test_zone_bypassed_event(self): |
|
|
def test_zone_bypassed_event(self): |
|
|
msg = self._decoder._handle_message(b'[0000000000000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[00000000000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertFalse(self._bypassed) |
|
|
self.assertFalse(self._bypassed) |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[0000001000000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[00000010000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertTrue(self._bypassed) |
|
|
self.assertTrue(self._bypassed) |
|
|
|
|
|
|
|
|
def test_armed_away_event(self): |
|
|
def test_armed_away_event(self): |
|
|
msg = self._decoder._handle_message(b'[0100000000000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[01000000000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertFalse(self._armed) # Not set first time we hit it. |
|
|
self.assertFalse(self._armed) # Not set first time we hit it. |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[0100000000000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[01000000000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertFalse(self._armed) |
|
|
self.assertFalse(self._armed) |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[0000000000000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[00000000000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertFalse(self._armed) |
|
|
self.assertFalse(self._armed) |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[0100000000000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[01000000000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertTrue(self._armed) |
|
|
self.assertTrue(self._armed) |
|
|
|
|
|
|
|
|
self._armed = False |
|
|
self._armed = False |
|
|
msg = self._decoder._handle_message(b'[0010000000000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[00100000000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertTrue(self._armed) |
|
|
self.assertTrue(self._armed) |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[0000000000000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[00000000000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertFalse(self._armed) |
|
|
self.assertFalse(self._armed) |
|
|
|
|
|
|
|
|
def test_battery_low_event(self): |
|
|
def test_battery_low_event(self): |
|
|
msg = self._decoder._handle_message(b'[0000000000010000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[00000000000100000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertTrue(self._battery) |
|
|
self.assertTrue(self._battery) |
|
|
|
|
|
|
|
|
# force the timeout to expire. |
|
|
# force the timeout to expire. |
|
|
with patch.object(time, 'time', return_value=self._decoder._battery_status[1] + 35): |
|
|
with patch.object(time, 'time', return_value=self._decoder._battery_status[1] + 35): |
|
|
msg = self._decoder._handle_message(b'[0000000000000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[00000000000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertFalse(self._battery) |
|
|
self.assertFalse(self._battery) |
|
|
|
|
|
|
|
|
def test_fire_alarm_event(self): |
|
|
def test_fire_alarm_event(self): |
|
|
msg = self._decoder._handle_message(b'[0000000000000000----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[00000000000000000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertFalse(self._fire) # Not set the first time we hit it. |
|
|
self.assertFalse(self._fire) # Not set the first time we hit it. |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[0000000000000100----],000,[f707000600e5800c0c020000]," "') |
|
|
|
|
|
|
|
|
msg = self._decoder._handle_message(b'[00000000000001000A--],000,[f707000600e5800c0c020000]," "') |
|
|
self.assertTrue(self._fire) |
|
|
self.assertTrue(self._fire) |
|
|
|
|
|
|
|
|
def test_fire_lrr(self): |
|
|
def test_fire_lrr(self): |
|
@@ -337,7 +337,7 @@ class TestAlarmDecoder(TestCase): |
|
|
self.assertFalse(self._fire) |
|
|
self.assertFalse(self._fire) |
|
|
|
|
|
|
|
|
def test_hit_for_faults(self): |
|
|
def test_hit_for_faults(self): |
|
|
self._decoder._handle_message(b'[0000000000000000----],000,[f707000600e5800c0c020000],"Hit * for faults "') |
|
|
|
|
|
|
|
|
self._decoder._handle_message(b'[00000000000000000A--],000,[f707000600e5800c0c020000],"Hit * for faults "') |
|
|
|
|
|
|
|
|
self._decoder._device.write.assert_called_with(b'*') |
|
|
self._decoder._device.write.assert_called_with(b'*') |
|
|
|
|
|
|
|
|