def test_update_add(self): dl = DeviceList() dl.update(rf_address=RFAddr('122b65'), serial='123', name='foobar') self.assertEqual(dl, [ Device(rf_address=RFAddr('122b65'), serial='123', name='foobar') ])
def test_for_room(self): dl = DeviceList() self.assertEqual(list(dl.for_room(0)), []) dev = Device(rf_address=RFAddr('122b65'), serial='123', name='foobar', room_id=1) dl.append(dev) self.assertEqual(list(dl.for_room(0)), []) self.assertEqual(list(dl.for_room(1)), [dev])
def test_contains(self): dl = DeviceList() dl.append(Device(rf_address=RFAddr('122b65'), serial='123', name='foobar')) self.assertTrue('foobar' in dl) self.assertTrue(RFAddr('122b65') in dl) self.assertTrue(bytearray([0x12, 0x2b, 0x65]) in dl) self.assertFalse(True in dl) self.assertFalse(1 in dl)
def test_contains(self): dl = DeviceList() dl.append( Device(rf_address=RFAddr('122b65'), serial='123', name='foobar')) self.assertTrue('foobar' in dl) self.assertTrue(RFAddr('122b65') in dl) self.assertTrue(bytearray([0x12, 0x2b, 0x65]) in dl) self.assertFalse(True in dl) self.assertFalse(1 in dl)
def test_update(self): for k, v in ( ('rf_address', '122b65'), ('name', 'foobar'), ): dl = DeviceList([ Device(rf_address=RFAddr('122b65'), serial='123', name='foobar', room_id=0) ]) dl.update(room_id=1, **{k:v}) self.assertEqual(dl, [ Device(rf_address=RFAddr('122b65'), serial='123', name='foobar', room_id=1) ])
def test_update_add(self): dl = DeviceList() dl.update(rf_address=RFAddr('122b65'), serial='123', name='foobar', battery_low=False) self.assertEqual(dl, [ Device(rf_address=RFAddr('122b65'), serial='123', name='foobar', battery_low=False) ])
def test_update(self): for k, v in ( ('rf_address', '122b65'), ('name', 'foobar'), ): dl = DeviceList([ Device(rf_address=RFAddr('122b65'), serial='123', name='foobar', room_id=0, battery_low=False) ]) dl.update(room_id=1, **{k: v}) self.assertEqual(dl, [ Device(rf_address=RFAddr('122b65'), serial='123', name='foobar', room_id=1, battery_low=False) ])
def test_get(self): dev = Device(rf_address=RFAddr('122b65'), serial='123', name='foobar') dl = DeviceList([dev]) self.assertIsNone(dl.get()) self.assertEqual(dl.get(rf_address='122b65'), dev) self.assertEqual(dl.get(rf_address='122b65', serial='123'), dev) self.assertEqual(dl.get(rf_address='122b65', serial='123', name='foobar'), dev) self.assertIsNone(dl.get(rf_address='122b65', serial='123', name='foobar', blah='blubb')) self.assertIsNone(dl.get(rf_address='foo'))
def test_get(self): dev = Device(rf_address=RFAddr('122b65'), serial='123', name='foobar') dl = DeviceList([dev]) self.assertIsNone(dl.get()) self.assertEqual(dl.get(rf_address='122b65'), dev) self.assertEqual(dl.get(rf_address='122b65', serial='123'), dev) self.assertEqual( dl.get(rf_address='122b65', serial='123', name='foobar'), dev) self.assertIsNone( dl.get(rf_address='122b65', serial='123', name='foobar', blah='blubb')) self.assertIsNone(dl.get(rf_address='foo'))
def __init__(self, *args, **kwargs): addr = None port = 62910 if not args: addr = kwargs.get('address', addr) or addr port = kwargs.get('port', port) or port if len(args) == 1: if isinstance(args[0], DiscoveryNetworkConfigurationResponse): addr = args[0].ip_address else: addr, = args elif len(args) == 2: addr, port = args self.addr_port = addr, port self._socket = None self._devices = DeviceList() self._cube_info = None self._ntp_servers = None self.received_messages = {}
def test_handle_message(self): c = Cube(None, None) msg = HelloResponse(HelloResponseBytes) c.handle_message(msg) self.assertEqual(c.info, msg) msg = FResponse(b"ntp.homematic.com,ntp.homematic.com") c.handle_message(msg) self.assertEqual(c._ntp_servers, ['ntp.homematic.com', 'ntp.homematic.com']) msg = MResponse(MResponseBytes) c.handle_message(msg) self.assertEqual(c.devices, [ Device(rf_address='122B65', serial='MEQ1472997', name='Heizung', room_id=1, device_type=2), ]) c = Cube(None, None) c._devices = DeviceList([ Device(rf_address='122B65', serial='MEQ1472997', name='Heizung', room_id=2, device_type=2), ]) msg = MResponse(MResponseBytes) c.handle_message(msg) self.assertEqual(c.devices, [ Device(rf_address='122B65', serial='MEQ1472997', name='Heizung', room_id=1, device_type=2), ]) msg = ConfigurationResponse(ThermostatConfigurationBytes) c.handle_message(msg) self.assertEqual(c.devices, [ Device(rf_address='122B65', serial='MEQ1472997', name='Heizung', room_id=1, configuration=msg, device_type=2), ]) c = Cube(None, None) c._devices = DeviceList([ Device(rf_address='122B65', serial='MEQ1472997', name='Heizung', room_id=1), ]) lresp = LResponse("BhIrZfcSGWQ8AOsA") c.handle_message(lresp) self.assertEqual(c.devices, [ Device(rf_address='122B65', serial='MEQ1472997', name='Heizung', room_id=1, settings=lresp.responses[0]), ]) msg = ConfigurationResponse(ThermostatConfigurationBytes) c.handle_message(msg) self.assertEqual(c.devices, [ Device(rf_address='122B65', serial='MEQ1472997', name='Heizung', room_id=1, configuration=msg, settings=lresp.responses[0]), ]) # Test doesn't work, somehow the extended LResponse is wrong... lrespext = LResponse("CxIrZfcSGWQ8AOsF") c.handle_message(lrespext)