Explorar el Código

fixed tests.

main
Sean Mathews hace 5 años
padre
commit
67b8ae9467
Se han modificado 2 ficheros con 52 adiciones y 52 borrados
  1. +29
    -29
      test/test_ad2.py
  2. +23
    -23
      test/test_zonetracking.py

+ 29
- 29
test/test_ad2.py Ver fichero

@@ -177,17 +177,17 @@ class TestAlarmDecoder(TestCase):
self._device.write.assert_called_with(bytes("L{0:02}0\r".format(1), 'utf-8'))

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._decoder._on_read(self, data=b'[0000000000000000----],000,[f707000600e5800c0c020000]," "')
self._decoder._on_read(self, data=b'[00000000000000000A--],000,[f707000600e5800c0c020000]," "')
self.assertTrue(self._message_received)

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._decoder._on_read(self, data=b'[0000000000000000----],000,[f707000600e5800c0c020000]," "')
self._decoder._on_read(self, data=b'[00000000000000000A--],000,[f707000600e5800c0c020000]," "')
self.assertTrue(self._message_received)

def test_expander_message(self):
@@ -241,87 +241,87 @@ class TestAlarmDecoder(TestCase):
self.assertTrue(self._got_config)

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.

msg = self._decoder._handle_message(b'[0000000000000000----],000,[f707000600e5800c0c020000]," "')
msg = self._decoder._handle_message(b'[00000000000000000A--],000,[f707000600e5800c0c020000]," "')
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)

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.

msg = self._decoder._handle_message(b'[1000000000000000----],000,[f707000600e5800c0c020000]," "')
msg = self._decoder._handle_message(b'[10000000000000000A--],000,[f707000600e5800c0c020000]," "')
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)

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.

msg = self._decoder._handle_message(b'[0000000010000000----],000,[f707000600e5800c0c020000]," "')
msg = self._decoder._handle_message(b'[00000000100000000A--],000,[f707000600e5800c0c020000]," "')
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)

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.

msg = self._decoder._handle_message(b'[0000000000000000----],000,[f707000600e5800c0c020000]," "')
msg = self._decoder._handle_message(b'[00000000000000000A--],000,[f707000600e5800c0c020000]," "')
self.assertFalse(self._alarmed)
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)

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)

msg = self._decoder._handle_message(b'[0000001000000000----],000,[f707000600e5800c0c020000]," "')
msg = self._decoder._handle_message(b'[00000010000000000A--],000,[f707000600e5800c0c020000]," "')
self.assertTrue(self._bypassed)

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.

msg = self._decoder._handle_message(b'[0100000000000000----],000,[f707000600e5800c0c020000]," "')
msg = self._decoder._handle_message(b'[01000000000000000A--],000,[f707000600e5800c0c020000]," "')
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)

msg = self._decoder._handle_message(b'[0100000000000000----],000,[f707000600e5800c0c020000]," "')
msg = self._decoder._handle_message(b'[01000000000000000A--],000,[f707000600e5800c0c020000]," "')
self.assertTrue(self._armed)

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)

msg = self._decoder._handle_message(b'[0000000000000000----],000,[f707000600e5800c0c020000]," "')
msg = self._decoder._handle_message(b'[00000000000000000A--],000,[f707000600e5800c0c020000]," "')
self.assertFalse(self._armed)

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)

# force the timeout to expire.
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)

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.

msg = self._decoder._handle_message(b'[0000000000000100----],000,[f707000600e5800c0c020000]," "')
msg = self._decoder._handle_message(b'[00000000000001000A--],000,[f707000600e5800c0c020000]," "')
self.assertTrue(self._fire)

def test_fire_lrr(self):
@@ -337,7 +337,7 @@ class TestAlarmDecoder(TestCase):
self.assertFalse(self._fire)

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



+ 23
- 23
test/test_zonetracking.py Ver fichero

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

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

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

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

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

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.assertEqual(len(self._zonetracker._zones_faulted), 1)

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

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

def test_zone_restore_skip(self):
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:
@@ -96,10 +96,10 @@ class TestZonetracking(TestCase):

def test_zone_out_of_order_fault(self):
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:
@@ -113,11 +113,11 @@ class TestZonetracking(TestCase):

def test_zone_multi_zone_skip_restore(self):
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:
@@ -131,11 +131,11 @@ class TestZonetracking(TestCase):

def test_zone_timeout_restore(self):
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:
@@ -147,7 +147,7 @@ class TestZonetracking(TestCase):
self._zonetracker._zones[4].timestamp -= 35 # forcefully expire the zone

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

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

Cargando…
Cancelar
Guardar