diff --git a/tests/mqtt/test_connect.py b/tests/mqtt/test_connect.py index 4a2c5b7..9fa18cd 100644 --- a/tests/mqtt/test_connect.py +++ b/tests/mqtt/test_connect.py @@ -32,6 +32,26 @@ class ConnectPacketTest(unittest.TestCase): self.assertEqual(message.payload.username, 'user') self.assertEqual(message.payload.password, 'password') + def test_decode_ok_will_flag(self): + data = b'\x10\x26\x00\x04MQTT\x04\xca\x00\x00\x00\x0a0123456789\x00\x04user\x00\x08password' + stream = asyncio.StreamReader(loop=self.loop) + stream.feed_data(data) + message = self.loop.run_until_complete(ConnectPacket.from_stream(stream)) + self.assertEqual(message.variable_header.proto_name, "MQTT") + self.assertEqual(message.variable_header.proto_level, 4) + self.assertTrue(message.variable_header.username_flag) + self.assertTrue(message.variable_header.password_flag) + self.assertFalse(message.variable_header.will_retain_flag) + self.assertEqual(message.variable_header.will_qos, 1) + self.assertFalse(message.variable_header.will_flag) + self.assertTrue(message.variable_header.clean_session_flag) + self.assertFalse(message.variable_header.reserved_flag) + self.assertEqual(message.payload.client_id, '0123456789') + self.assertEqual(message.payload.will_topic, None) + self.assertEqual(message.payload.will_message, None) + self.assertEqual(message.payload.username, 'user') + self.assertEqual(message.payload.password, 'password') + def test_decode_fail_protocol_name(self): data = b'\x10\x3e\x00\x04TTQM\x04\xce\x00\x00\x00\x0a0123456789\x00\x09WillTopic\x00\x0bWillMessage\x00\x04user\x00\x08password' stream = asyncio.StreamReader(loop=self.loop)