Ejemplo n.º 1
0
 def test_sync_not_wait_for_response(self):
     """Testing _sync_impl() method without waiting for response (send_group_read should be called directly)."""
     # pylint: disable=protected-access
     xknx = XKNX(loop=self.loop)
     device = Device(xknx, 'TestDevice')
     with patch('xknx.devices.Device.state_addresses') as mock_state_addresses:
         mock_state_addresses.return_value = [GroupAddress('1/2/3'), ]
         with patch('xknx.core.ValueReader.send_group_read') as mock_value_reader_group_read:
             fut = asyncio.Future()
             fut.set_result(None)  # Make Value reader return no response
             mock_value_reader_group_read.return_value = fut
             self.loop.run_until_complete(asyncio.Task(device._sync_impl(wait_for_result=False)))
             mock_value_reader_group_read.assert_called_with()
Ejemplo n.º 2
0
 def test_sync_not_wait_for_response(self):
     """Testing _sync_impl() method without waiting for response (send_group_read should be called directly)."""
     # pylint: disable=protected-access
     xknx = XKNX(loop=self.loop)
     device = Device(xknx, 'TestDevice')
     with patch('xknx.devices.Device.state_addresses') as mock_state_addresses:
         mock_state_addresses.return_value = [GroupAddress('1/2/3'), ]
         with patch('xknx.core.ValueReader.send_group_read') as mock_value_reader_group_read:
             fut = asyncio.Future()
             fut.set_result(None)  # Make Value reader return no response
             mock_value_reader_group_read.return_value = fut
             self.loop.run_until_complete(asyncio.Task(device._sync_impl(wait_for_result=False)))
             mock_value_reader_group_read.assert_called_with()
Ejemplo n.º 3
0
 def test_sync_no_response(self):
     """Testing _sync_impl() method with ValueReader returning no telegram as response."""
     # pylint: disable=protected-access
     xknx = XKNX(loop=self.loop)
     device = Device(xknx, 'TestDevice')
     with patch('xknx.devices.Device.state_addresses') as mock_state_addresses:
         mock_state_addresses.return_value = [GroupAddress('1/2/3'), ]
         with patch('xknx.core.ValueReader.read') as mock_value_reader_read:
             fut = asyncio.Future()
             fut.set_result(None)  # Make Value reader return no response
             mock_value_reader_read.return_value = fut
             with patch('logging.Logger.warning') as mock_warn:
                 self.loop.run_until_complete(asyncio.Task(device._sync_impl()))
                 mock_warn.assert_called_with("Could not sync group address '%s' from %s",
                                              GroupAddress('1/2/3'), device)
Ejemplo n.º 4
0
 def test_sync_no_response(self):
     """Testing _sync_impl() method with ValueReader returning no telegram as response."""
     # pylint: disable=protected-access
     xknx = XKNX(loop=self.loop)
     device = Device(xknx, 'TestDevice')
     with patch('xknx.devices.Device.state_addresses') as mock_state_addresses:
         mock_state_addresses.return_value = [GroupAddress('1/2/3'), ]
         with patch('xknx.core.ValueReader.read') as mock_value_reader_read:
             fut = asyncio.Future()
             fut.set_result(None)  # Make Value reader return no response
             mock_value_reader_read.return_value = fut
             with patch('logging.Logger.warning') as mock_warn:
                 self.loop.run_until_complete(asyncio.Task(device._sync_impl()))
                 mock_warn.assert_called_with("Could not sync group address '%s' from %s",
                                              GroupAddress('1/2/3'), device)
Ejemplo n.º 5
0
 def test_sync_valid_response(self):
     """Testing _sync_imp() method with ValueReader.read returning a Telegram - which should be processed."""
     # pylint: disable=protected-access
     xknx = XKNX(loop=self.loop)
     device = Device(xknx, 'TestDevice')
     with patch('xknx.devices.Device.state_addresses') as mock_state_addresses:
         mock_state_addresses.return_value = [GroupAddress('1/2/3'), ]
         with patch('xknx.core.ValueReader.read') as mock_value_reader_read:
             fut = asyncio.Future()
             telegram = Telegram(GroupAddress("1/2/3"))
             fut.set_result(telegram)
             mock_value_reader_read.return_value = fut
             with patch('xknx.devices.Device.process') as mock_device_process:
                 fut2 = asyncio.Future()
                 fut2.set_result(None)
                 mock_device_process.return_value = fut2
                 self.loop.run_until_complete(asyncio.Task(device._sync_impl()))
                 mock_device_process.assert_called_with(telegram)
Ejemplo n.º 6
0
 def test_sync_valid_response(self):
     """Testing _sync_imp() method with ValueReader.read returning a Telegram - which should be processed."""
     # pylint: disable=protected-access
     xknx = XKNX(loop=self.loop)
     device = Device(xknx, 'TestDevice')
     with patch('xknx.devices.Device.state_addresses') as mock_state_addresses:
         mock_state_addresses.return_value = [GroupAddress('1/2/3'), ]
         with patch('xknx.core.ValueReader.read') as mock_value_reader_read:
             fut = asyncio.Future()
             telegram = Telegram(GroupAddress("1/2/3"))
             fut.set_result(telegram)
             mock_value_reader_read.return_value = fut
             with patch('xknx.devices.Device.process') as mock_device_process:
                 fut2 = asyncio.Future()
                 fut2.set_result(None)
                 mock_device_process.return_value = fut2
                 self.loop.run_until_complete(asyncio.Task(device._sync_impl()))
                 mock_device_process.assert_called_with(telegram)