def test_encode(self): """Test encode of message.""" msg = Message() cmd = msg.encode() self.assertEqual(cmd, '0;0;0;0;0;\n') msg.node_id = 1 msg.child_id = 255 msg.type = MessageType.internal msg.sub_type = Internal.I_BATTERY_LEVEL msg.ack = 0 msg.payload = 57 cmd = msg.encode() self.assertEqual(cmd, '1;255;3;0;0;57\n')
def test_callback_exception(self): """Test gateway callback with exception.""" side_effect = ValueError('test') self.gateway = Gateway(event_callback=self._callback) with mock.patch.object(self.gateway, 'event_callback', side_effect=side_effect) as mock_callback: with self.assertLogs(level='ERROR') as test_handle: msg = Message() msg.node_id = 1 self.gateway.alert(msg) assert mock_callback.called self.assertEqual( # only check first line of error log test_handle.output[0].split('\n', 1)[0], 'ERROR:mysensors:test')