Fixed bugs in MQTT and updated tests
This commit is contained in:
parent
97df7f4304
commit
214bf0f40d
7 changed files with 66 additions and 38 deletions
|
|
@ -54,12 +54,12 @@ public class MqttPacketConnectTest {
|
|||
|
||||
0b0000_0100, // Prot. Level
|
||||
|
||||
0b0101_1010, // Flags
|
||||
0b0001_1010, // Flags
|
||||
|
||||
0b0000_0000, // Keep alive
|
||||
0b0000_1010, // Keep alive
|
||||
// Payload
|
||||
0x00, 0x01, '5', // password
|
||||
0x00, 0x01, '1', // Client Identifier
|
||||
};
|
||||
|
||||
MqttPacketConnect obj = (MqttPacketConnect) MqttPacket.read(
|
||||
|
|
@ -70,17 +70,17 @@ public class MqttPacketConnectTest {
|
|||
assertEquals(10, obj.keepAlive);
|
||||
|
||||
assertFalse(obj.flagUsername);
|
||||
assertTrue(obj.flagPassword);
|
||||
assertFalse(obj.flagPassword);
|
||||
assertFalse(obj.flagWillRetain);
|
||||
assertEquals(3, obj.flagWillQoS);
|
||||
assertFalse(obj.flagWillFlag);
|
||||
assertTrue(obj.flagCleanSession);
|
||||
|
||||
assertNull(obj.clientIdentifier);
|
||||
assertEquals("1", obj.clientIdentifier);
|
||||
assertNull(obj.willTopic);
|
||||
assertNull(null, obj.willPayload);
|
||||
assertNull(obj.username);
|
||||
assertEquals("5", obj.password);
|
||||
assertNull(obj.password);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -88,7 +88,7 @@ public class MqttPacketConnectTest {
|
|||
char[] data = new char[]{
|
||||
// Fixed Header
|
||||
0b0001_0000, // Packet Type + Reserved
|
||||
0b0000_1010, // Variable Header + Payload Length
|
||||
0xFF & 25, // Variable Header + Payload Length
|
||||
// Variable Header
|
||||
0b0000_0000, // length
|
||||
0b0000_0100, // length
|
||||
|
|
@ -137,7 +137,7 @@ public class MqttPacketConnectTest {
|
|||
char[] data = new char[]{
|
||||
// Fixed Header
|
||||
0b0001_0000, // Packet Type + Reserved
|
||||
0b0000_1010, // Variable Header + Payload Length
|
||||
0xFF & 13, // Variable Header + Payload Length
|
||||
// Variable Header
|
||||
0b0000_0000, // length
|
||||
0b0000_0100, // length
|
||||
|
|
@ -153,10 +153,10 @@ public class MqttPacketConnectTest {
|
|||
0b0000_0000, // Keep alive
|
||||
0b0000_1010, // Keep alive
|
||||
// Payload
|
||||
0x00, 0x01, '1', // Client Identifier
|
||||
};
|
||||
|
||||
MqttPacketConnect obj = new MqttPacketConnect();
|
||||
obj.variableHeaderAndPayloadLength = 10;
|
||||
obj.keepAlive = 10;
|
||||
|
||||
obj.flagUsername = false;
|
||||
|
|
@ -166,6 +166,8 @@ public class MqttPacketConnectTest {
|
|||
obj.flagWillFlag = false;
|
||||
obj.flagCleanSession = true;
|
||||
|
||||
obj.clientIdentifier = "1";
|
||||
|
||||
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
|
||||
BinaryStructOutputStream binOut = new BinaryStructOutputStream(buffer);
|
||||
MqttPacket.write(binOut, obj);
|
||||
|
|
@ -201,7 +203,6 @@ public class MqttPacketConnectTest {
|
|||
};
|
||||
|
||||
MqttPacketConnect obj = new MqttPacketConnect();
|
||||
obj.variableHeaderAndPayloadLength = 10;
|
||||
obj.keepAlive = 10;
|
||||
|
||||
obj.flagUsername = true;
|
||||
|
|
|
|||
|
|
@ -18,23 +18,21 @@ public class MqttPacketPublishTest {
|
|||
char[] data = new char[]{
|
||||
// Fixed Header
|
||||
0b0011_0000, // Packet Type(4) + Reserved(4)
|
||||
0xFF & 6, // Variable Header + Payload Length
|
||||
0xFF & 4, // Variable Header + Payload Length
|
||||
// Variable Header
|
||||
0b0000_0000, // length
|
||||
0xFF & 2, // length
|
||||
'a', // Topic Name
|
||||
'b', // Topic Name
|
||||
0b0000_0000, // Packet Identifier
|
||||
0xFF & 5, // Packet Identifier
|
||||
// Payload
|
||||
};
|
||||
|
||||
MqttPacketPublish obj = (MqttPacketPublish) MqttPacket.read(
|
||||
new BinaryStructInputStream(new ByteArrayInputStream(Converter.toBytes(data))));
|
||||
|
||||
assertEquals(6, obj.variableHeaderAndPayloadLength);
|
||||
assertEquals(4, obj.variableHeaderAndPayloadLength);
|
||||
assertEquals("ab", obj.topicName);
|
||||
assertEquals(5, obj.packetId);
|
||||
assertEquals(0, obj.packetId);
|
||||
assertArrayEquals(new byte[0], obj.payload);
|
||||
}
|
||||
|
||||
|
|
@ -43,14 +41,12 @@ public class MqttPacketPublishTest {
|
|||
char[] data = new char[]{
|
||||
// Fixed Header
|
||||
0b0011_0000, // Packet Type(4) + Reserved(4)
|
||||
0xFF & 9, // Variable Header + Payload Length
|
||||
0xFF & 7, // Variable Header + Payload Length
|
||||
// Variable Header
|
||||
0b0000_0000, // length
|
||||
0xFF & 2, // length
|
||||
'a', // Topic Name
|
||||
'b', // Topic Name
|
||||
0b0000_0000, // Packet Identifier
|
||||
0xFF & 5, // Packet Identifier
|
||||
// Payload
|
||||
0x00, 0x01, 0x02,
|
||||
};
|
||||
|
|
@ -58,9 +54,9 @@ public class MqttPacketPublishTest {
|
|||
MqttPacketPublish obj = (MqttPacketPublish) MqttPacket.read(
|
||||
new BinaryStructInputStream(new ByteArrayInputStream(Converter.toBytes(data))));
|
||||
|
||||
assertEquals(9, obj.variableHeaderAndPayloadLength);
|
||||
assertEquals(7, obj.variableHeaderAndPayloadLength);
|
||||
assertEquals("ab", obj.topicName);
|
||||
assertEquals(5, obj.packetId);
|
||||
assertEquals(0, obj.packetId);
|
||||
assertArrayEquals(new byte[]{0x00, 0x01, 0x02}, obj.payload);
|
||||
}
|
||||
|
||||
|
|
@ -69,19 +65,16 @@ public class MqttPacketPublishTest {
|
|||
char[] data = new char[]{
|
||||
// Fixed Header
|
||||
0b0011_0000, // Packet Type(4) + Reserved(4)
|
||||
0xFF & 6, // Variable Header + Payload Length
|
||||
0xFF & 4, // Variable Header + Payload Length
|
||||
// Variable Header
|
||||
0b0000_0000, // length
|
||||
0xFF & 2, // length
|
||||
'a', // Topic Name
|
||||
'b', // Topic Name
|
||||
0b0000_0000, // Packet Identifier
|
||||
0xFF & 5, // Packet Identifier
|
||||
// Payload
|
||||
};
|
||||
|
||||
MqttPacketPublish obj = new MqttPacketPublish();
|
||||
obj.variableHeaderAndPayloadLength = 5;
|
||||
obj.topicName = "ab";
|
||||
obj.packetId = 5;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue