Browse Source

fixed tests.

main
Sean Mathews 6 years ago
parent
commit
67b8ae9467
2 changed files with 52 additions and 52 deletions
  1. +29
    -29
      test/test_ad2.py
  2. +23
    -23
      test/test_zonetracking.py

+ 29
- 29
test/test_ad2.py View File

@@ -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'*')




+ 23
- 23
test/test_zonetracking.py View File

@@ -56,34 +56,34 @@ class TestZonetracking(TestCase):
self.assertTrue(self._restored) self.assertTrue(self._restored)


def test_message_ready(self): def test_message_ready(self):
msg = Message('[0000000000000010----],001,[f707000600e5800c0c020000]," "')
msg = Message('[00000000000000100A--],001,[f707000600e5800c0c020000]," "')
self._zonetracker.update(msg) self._zonetracker.update(msg)


self.assertEqual(len(self._zonetracker._zones_faulted), 1) self.assertEqual(len(self._zonetracker._zones_faulted), 1)


msg = Message('[1000000000000000----],000,[f707000600e5800c0c020000]," "')
msg = Message('[10000000000000000A--],000,[f707000600e5800c0c020000]," "')
self._zonetracker.update(msg) self._zonetracker.update(msg)


self.assertEqual(len(self._zonetracker._zones_faulted), 0) self.assertEqual(len(self._zonetracker._zones_faulted), 0)


def test_message_fault_text(self): def test_message_fault_text(self):
msg = Message('[0000000000000000----],001,[f707000600e5800c0c020000],"FAULT 1 "')
msg = Message('[00000000000000000A--],001,[f707000600e5800c0c020000],"FAULT 1 "')
self._zonetracker.update(msg) self._zonetracker.update(msg)


self.assertEqual(len(self._zonetracker._zones_faulted), 1) self.assertEqual(len(self._zonetracker._zones_faulted), 1)


def test_ECP_failure(self): def test_ECP_failure(self):
msg = Message('[0000000000000010----],0bf,[f707000600e5800c0c020000],"CHECK 1 "')
msg = Message('[00000000000000100A--],0bf,[f707000600e5800c0c020000],"CHECK 1 "')
self._zonetracker.update(msg) self._zonetracker.update(msg)


self.assertEqual(self._zonetracker._zones['1'].status, Zone.CHECK) self.assertEqual(self._zonetracker._zones['1'].status, Zone.CHECK)


def test_zone_restore_skip(self): def test_zone_restore_skip(self):
panel_messages = [ panel_messages = [
'[0000000000000000----],001,[f707000600e5800c0c020000],"FAULT 1 "',
'[0000000000000000----],002,[f707000600e5800c0c020000],"FAULT 2 "',
'[0000000000000000----],001,[f707000600e5800c0c020000],"FAULT 1 "',
'[0000000000000000----],001,[f707000600e5800c0c020000],"FAULT 1 "'
'[00000000000000000A--],001,[f707000600e5800c0c020000],"FAULT 1 "',
'[00000000000000000A--],002,[f707000600e5800c0c020000],"FAULT 2 "',
'[00000000000000000A--],001,[f707000600e5800c0c020000],"FAULT 1 "',
'[00000000000000000A--],001,[f707000600e5800c0c020000],"FAULT 1 "'
] ]


for m in panel_messages: for m in panel_messages:
@@ -96,10 +96,10 @@ class TestZonetracking(TestCase):


def test_zone_out_of_order_fault(self): def test_zone_out_of_order_fault(self):
panel_messages = [ panel_messages = [
'[0000000000000010----],001,[f707000600e5800c0c020000],"FAULT 1 "',
'[0000000000000010----],004,[f707000600e5800c0c020000],"FAULT 4 "',
'[0000000000000010----],003,[f707000600e5800c0c020000],"FAULT 3 "',
'[0000000000000010----],004,[f707000600e5800c0c020000],"FAULT 4 "',
'[00000000000000100A--],001,[f707000600e5800c0c020000],"FAULT 1 "',
'[00000000000000100A--],004,[f707000600e5800c0c020000],"FAULT 4 "',
'[00000000000000100A--],003,[f707000600e5800c0c020000],"FAULT 3 "',
'[00000000000000100A--],004,[f707000600e5800c0c020000],"FAULT 4 "',
] ]


for m in panel_messages: for m in panel_messages:
@@ -113,11 +113,11 @@ class TestZonetracking(TestCase):


def test_zone_multi_zone_skip_restore(self): def test_zone_multi_zone_skip_restore(self):
panel_messages = [ panel_messages = [
'[0000000000000010----],001,[f707000600e5800c0c020000],"FAULT 1 "',
'[0000000000000010----],004,[f707000600e5800c0c020000],"FAULT 4 "',
'[0000000000000010----],002,[f707000600e5800c0c020000],"FAULT 2 "',
'[0000000000000010----],004,[f707000600e5800c0c020000],"FAULT 4 "',
'[0000000000000010----],004,[f707000600e5800c0c020000],"FAULT 4 "',
'[00000000000000100A--],001,[f707000600e5800c0c020000],"FAULT 1 "',
'[00000000000000100A--],004,[f707000600e5800c0c020000],"FAULT 4 "',
'[00000000000000100A--],002,[f707000600e5800c0c020000],"FAULT 2 "',
'[00000000000000100A--],004,[f707000600e5800c0c020000],"FAULT 4 "',
'[00000000000000100A--],004,[f707000600e5800c0c020000],"FAULT 4 "',
] ]


for m in panel_messages: for m in panel_messages:
@@ -131,11 +131,11 @@ class TestZonetracking(TestCase):


def test_zone_timeout_restore(self): def test_zone_timeout_restore(self):
panel_messages = [ panel_messages = [
'[0000000000000010----],001,[f707000600e5800c0c020000],"FAULT 1 "',
'[0000000000000010----],004,[f707000600e5800c0c020000],"FAULT 4 "',
'[0000000000000010----],002,[f707000600e5800c0c020000],"FAULT 2 "',
'[0000000000000010----],004,[f707000600e5800c0c020000],"FAULT 4 "',
'[0000000000000010----],004,[f707000600e5800c0c020000],"FAULT 4 "',
'[00000000000000100A--],001,[f707000600e5800c0c020000],"FAULT 1 "',
'[00000000000000100A--],004,[f707000600e5800c0c020000],"FAULT 4 "',
'[00000000000000100A--],002,[f707000600e5800c0c020000],"FAULT 2 "',
'[00000000000000100A--],004,[f707000600e5800c0c020000],"FAULT 4 "',
'[00000000000000100A--],004,[f707000600e5800c0c020000],"FAULT 4 "',
] ]


for m in panel_messages: for m in panel_messages:
@@ -147,7 +147,7 @@ class TestZonetracking(TestCase):
self._zonetracker._zones[4].timestamp -= 35 # forcefully expire the zone self._zonetracker._zones[4].timestamp -= 35 # forcefully expire the zone


# generic message to force an update. # generic message to force an update.
msg = Message('[0000000000000000----],000,[f707000600e5800c0c020000]," "')
msg = Message('[00000000000000000A--],000,[f707000600e5800c0c020000]," "')
self._zonetracker.update(msg) self._zonetracker.update(msg)


self.assertNotIn(4, self._zonetracker._zones_faulted) self.assertNotIn(4, self._zonetracker._zones_faulted)

Loading…
Cancel
Save