Msg sequence test: Readability improvements

Each payload has changed from being a string of hex bytes to being a
string of encoded values that better show their meaning. For example,
UTF-8 strings are now shown as strings, and different integer types are
denoted.
This commit is contained in:
Roger A. Light
2025-09-28 22:05:49 +01:00
parent 0c2ba6975f
commit aa952a4ef6
33 changed files with 4988 additions and 4902 deletions

View File

@@ -4,12 +4,12 @@
"group": "v3.1.1 AUTH",
"ver":4,
"tests": [
{ "name": "F0 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"F0 00"}]},
{ "name": "F0 long", "msgs": [{"type":"send", "payload":"F0 01 00"}]},
{ "name": "F1", "msgs": [{"type":"send", "payload":"F1 00"}]},
{ "name": "F2", "msgs": [{"type":"send", "payload":"F2 00"}]},
{ "name": "F4", "msgs": [{"type":"send", "payload":"F4 00"}]},
{ "name": "F8", "msgs": [{"type":"send", "payload":"F8 00"}]}
{ "name": "F0 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"F0 r0"}]},
{ "name": "F0 long", "msgs": [{"type":"send", "payload":"F0 r1 00"}]},
{ "name": "F1", "msgs": [{"type":"send", "payload":"F1 r0"}]},
{ "name": "F2", "msgs": [{"type":"send", "payload":"F2 r0"}]},
{ "name": "F4", "msgs": [{"type":"send", "payload":"F4 r0"}]},
{ "name": "F8", "msgs": [{"type":"send", "payload":"F8 r0"}]}
]
},
{
@@ -18,24 +18,24 @@
"tests": [
{ "name": "F0 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"F0 00"}]},
{ "name": "F0 long", "msgs": [
{"type":"send", "payload":"F0 01 00"},
{"type":"recv", "payload":"E0 01 82"}
{"type":"send", "payload":"F0 r1 00"},
{"type":"recv", "payload":"E0 r1 82"}
]},
{ "name": "F1", "msgs": [
{"type":"send", "payload":"F1 00"},
{"type":"recv", "payload":"E0 01 82"}
{"type":"send", "payload":"F1 r0"},
{"type":"recv", "payload":"E0 r1 82"}
]},
{ "name": "F2", "msgs": [
{"type":"send", "payload":"F2 00"},
{"type":"recv", "payload":"E0 01 82"}
{"type":"send", "payload":"F2 r0"},
{"type":"recv", "payload":"E0 r1 82"}
]},
{ "name": "F4", "msgs": [
{"type":"send", "payload":"F4 00"},
{"type":"recv", "payload":"E0 01 82"}
{"type":"send", "payload":"F4 r0"},
{"type":"recv", "payload":"E0 r1 82"}
]},
{ "name": "F8", "msgs": [
{"type":"send", "payload":"F8 00"},
{"type":"recv", "payload":"E0 01 82"}
{"type":"send", "payload":"F8 r0"},
{"type":"recv", "payload":"E0 r1 82"}
]}
]
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -5,73 +5,73 @@
"ver":4,
"tests": [
{ "name": "QoS 0 self receive ok", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"82 06 1234 0001 70 01", "comment":"SUBSCRIBE, 'p' qos1"},
{"type":"recv", "payload":"90 03 1234 01", "comment":"SUBACK"},
{"type":"send", "payload":"30 0A 0001 70 6d657373616765", "comment":"PUBLISH send"},
{"type":"recv", "payload":"30 0A 0001 70 6d657373616765", "comment":"PUBLISH receive"}
{"type":"send", "payload":"82 r6 m1234 s1 'p' 01", "comment":"SUBSCRIBE, 'p' qos1"},
{"type":"recv", "payload":"90 r3 m1234 01", "comment":"SUBACK"},
{"type":"send", "payload":"30 r10 s1 'p' 'message'", "comment":"PUBLISH send"},
{"type":"recv", "payload":"30 r10 s1 'p' 'message'", "comment":"PUBLISH receive"}
]},
{ "name": "QoS 1 receive ok", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"82 06 1234 0001 70 01", "comment":"SUBSCRIBE, 'p' qos1"},
{"type":"recv", "payload":"90 03 1234 01", "comment":"SUBACK"},
{"type":"send", "payload":"82 r6 m1234 s1 'p' 01", "comment":"SUBSCRIBE, 'p' qos1"},
{"type":"recv", "payload":"90 r3 m1234 01", "comment":"SUBACK"},
{"type":"publish", "topic":"p", "qos":1, "payload":"message", "comment":"helper"},
{"type":"recv", "payload":"32 0C 0001 70 0001 6d657373616765", "comment":"PUBLISH receive"},
{"type":"send", "payload":"40 02 00 01", "comment":"PUBACK"}
{"type":"recv", "payload":"32 r12 s1 'p' m1 'message'", "comment":"PUBLISH receive"},
{"type":"send", "payload":"40 r2 m1", "comment":"PUBACK"}
]},
{ "name": "QoS 1 PUBLISH-PUBREC", "msgs": [
{"type":"send", "payload":"82 06 1234 0001 70 01", "comment":"SUBSCRIBE, 'p' qos1"},
{"type":"recv", "payload":"90 03 1234 01", "comment":"SUBACK"},
{"type":"send", "payload":"82 r6 m1234 s1 'p' 01", "comment":"SUBSCRIBE, 'p' qos1"},
{"type":"recv", "payload":"90 r3 m1234 01", "comment":"SUBACK"},
{"type":"publish", "topic":"p", "qos":1, "payload":"message", "comment":"helper"},
{"type":"recv", "payload":"32 0C 0001 70 0001 6d657373616765", "comment":"PUBLISH receive"},
{"type":"send", "payload":"50 02 0001", "comment":"PUBREC"}
{"type":"recv", "payload":"32 r12 s1 'p' m1 'message'", "comment":"PUBLISH receive"},
{"type":"send", "payload":"50 r2 m1", "comment":"PUBREC"}
]},
{ "name": "QoS 1 PUBLISH-PUBCOMP", "msgs": [
{"type":"send", "payload":"82 06 1234 0001 70 01", "comment":"SUBSCRIBE, 'p' qos1"},
{"type":"recv", "payload":"90 03 1234 01", "comment":"SUBACK"},
{"type":"send", "payload":"82 r6 m1234 s1 'p' 01", "comment":"SUBSCRIBE, 'p' qos1"},
{"type":"recv", "payload":"90 r3 m1234 01", "comment":"SUBACK"},
{"type":"publish", "topic":"p", "qos":1, "payload":"message", "comment":"helper"},
{"type":"recv", "payload":"32 0C 0001 70 0001 6d657373616765", "comment":"PUBLISH receive"},
{"type":"send", "payload":"70 02 0001", "comment":"PUBCOMP"}
{"type":"recv", "payload":"32 r12 s1 'p' m1 'message'", "comment":"PUBLISH receive"},
{"type":"send", "payload":"70 r2 m1", "comment":"PUBCOMP"}
]},
{ "name": "QoS 2 receive ok", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"82 06 1234 0001 70 02", "comment":"SUBSCRIBE, 'p' qos2"},
{"type":"recv", "payload":"90 03 1234 02", "comment":"SUBACK"},
{"type":"send", "payload":"82 r6 m1234 s1 'p' 02", "comment":"SUBSCRIBE, 'p' qos2"},
{"type":"recv", "payload":"90 r3 m1234 02", "comment":"SUBACK"},
{"type":"publish", "topic":"p", "qos":2, "payload":"message", "comment":"helper"},
{"type":"recv", "payload":"34 0C 0001 70 0001 6d657373616765", "comment":"PUBLISH receive"},
{"type":"send", "payload":"50 02 0001", "comment":"PUBREC"},
{"type":"recv", "payload":"62 02 0001", "comment":"PUBREL"},
{"type":"send", "payload":"70 02 0001", "comment":"PUBCOMP"}
{"type":"recv", "payload":"34 r12 s1 'p' m1 'message'", "comment":"PUBLISH receive"},
{"type":"send", "payload":"50 r2 m1", "comment":"PUBREC"},
{"type":"recv", "payload":"62 r2 m1", "comment":"PUBREL"},
{"type":"send", "payload":"70 r2 m1", "comment":"PUBCOMP"}
]},
{ "name": "QoS 2 PUBLISH-PUBACK", "msgs": [
{"type":"send", "payload":"82 06 1234 0001 70 02", "comment":"SUBSCRIBE, 'p' qos2"},
{"type":"recv", "payload":"90 03 1234 02", "comment":"SUBACK"},
{"type":"send", "payload":"82 r6 m1234 s1 'p' 02", "comment":"SUBSCRIBE, 'p' qos2"},
{"type":"recv", "payload":"90 r3 m1234 02", "comment":"SUBACK"},
{"type":"publish", "topic":"p", "qos":2, "payload":"message", "comment":"helper"},
{"type":"recv", "payload":"34 0C 0001 70 0001 6d657373616765", "comment":"PUBLISH receive"},
{"type":"send", "payload":"40 02 0001", "comment": "PUBACK (should be PUBREC)"}
{"type":"recv", "payload":"34 r12 s1 'p' m1 'message'", "comment":"PUBLISH receive"},
{"type":"send", "payload":"40 r2 m1", "comment": "PUBACK (should be PUBREC)"}
]},
{ "name": "QoS 2 PUBLISH-PUBCOMP", "msgs": [
{"type":"send", "payload":"82 06 1234 0001 70 02", "comment":"SUBSCRIBE, 'p' qos2"},
{"type":"recv", "payload":"90 03 1234 02", "comment":"SUBACK"},
{"type":"send", "payload":"82 r6 m1234 s1 'p' 02", "comment":"SUBSCRIBE, 'p' qos2"},
{"type":"recv", "payload":"90 r3 m1234 02", "comment":"SUBACK"},
{"type":"publish", "topic":"p", "qos":2, "payload":"message", "comment":"helper"},
{"type":"recv", "payload":"34 0C 0001 70 0001 6d657373616765", "comment":"PUBLISH receive"},
{"type":"send", "payload":"70 02 0001", "comment": "PUBCOMP (should be PUBREC)"}
{"type":"recv", "payload":"34 r12 s1 'p' m1 'message'", "comment":"PUBLISH receive"},
{"type":"send", "payload":"70 r2 m1", "comment": "PUBCOMP (should be PUBREC)"}
]},
{ "name": "QoS 2 PUBLISH-PUBREC-PUBREL-PUBACK", "msgs": [
{"type":"send", "payload":"82 06 1234 0001 70 02", "comment":"SUBSCRIBE, 'p' qos2"},
{"type":"recv", "payload":"90 03 1234 02", "comment":"SUBACK"},
{"type":"send", "payload":"82 r6 m1234 s1 'p' 02", "comment":"SUBSCRIBE, 'p' qos2"},
{"type":"recv", "payload":"90 r3 m1234 02", "comment":"SUBACK"},
{"type":"publish", "topic":"p", "qos":2, "payload":"message", "comment":"helper"},
{"type":"recv", "payload":"34 0C 0001 70 0001 6d657373616765", "comment":"PUBLISH receive"},
{"type":"send", "payload":"50 02 0001", "comment": "PUBREC)"},
{"type":"recv", "payload":"62 02 0001", "comment": "PUBREL)"},
{"type":"send", "payload":"40 02 0001", "comment": "PUBACK (should be PUBCOMP))"}
{"type":"recv", "payload":"34 r12 s1 'p' m1 'message'", "comment":"PUBLISH receive"},
{"type":"send", "payload":"50 r2 m1", "comment": "PUBREC)"},
{"type":"recv", "payload":"62 r2 m1", "comment": "PUBREL)"},
{"type":"send", "payload":"40 r2 m1", "comment": "PUBACK (should be PUBCOMP))"}
]},
{ "name": "QoS 2 PUBLISH-PUBREC-PUBREL-PUBREC", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"82 06 1234 0001 70 02", "comment":"SUBSCRIBE, 'p' qos2"},
{"type":"recv", "payload":"90 03 1234 02", "comment":"SUBACK"},
{"type":"send", "payload":"82 r6 m1234 s1 'p' 02", "comment":"SUBSCRIBE, 'p' qos2"},
{"type":"recv", "payload":"90 r3 m1234 02", "comment":"SUBACK"},
{"type":"publish", "topic":"p", "qos":2, "payload":"message", "comment":"helper"},
{"type":"recv", "payload":"34 0C 0001 70 0001 6d657373616765", "comment":"PUBLISH receive"},
{"type":"send", "payload":"50 02 0001", "comment": "PUBREC)"},
{"type":"recv", "payload":"62 02 0001", "comment": "PUBREL)"},
{"type":"send", "payload":"50 02 0001", "comment": "PUBREC (should be PUBCOMP))"},
{"type":"recv", "payload":"62 02 0001", "comment": "PUBREL)"}
{"type":"recv", "payload":"34 r12 s1 'p' m1 'message'", "comment":"PUBLISH receive"},
{"type":"send", "payload":"50 r2 m1", "comment": "PUBREC)"},
{"type":"recv", "payload":"62 r2 m1", "comment": "PUBREL)"},
{"type":"send", "payload":"50 r2 m1", "comment": "PUBREC (should be PUBCOMP))"},
{"type":"recv", "payload":"62 r2 m1", "comment": "PUBREL)"}
]}
]
},
@@ -80,78 +80,78 @@
"ver":5,
"tests": [
{ "name": "QoS 0 self receive ok", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"82 07 1234 00 0001 70 01", "comment":"SUBSCRIBE, 'p' qos1"},
{"type":"recv", "payload":"90 04 1234 00 01", "comment":"SUBACK"},
{"type":"send", "payload":"30 0B 0001 70 00 6d657373616765", "comment":"PUBLISH send"},
{"type":"recv", "payload":"30 0B 0001 70 00 6d657373616765", "comment":"PUBLISH receive"}
{"type":"send", "payload":"82 r7 m1234 00 s1 'p' 01", "comment":"SUBSCRIBE, 'p' qos1"},
{"type":"recv", "payload":"90 r4 m1234 00 01", "comment":"SUBACK"},
{"type":"send", "payload":"30 r11 s1 'p' 00 'message'", "comment":"PUBLISH send"},
{"type":"recv", "payload":"30 r11 s1 'p' 00 'message'", "comment":"PUBLISH receive"}
]},
{ "name": "QoS 1 receive ok", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"82 07 1234 00 0001 70 01", "comment":"SUBSCRIBE, 'p' qos1"},
{"type":"recv", "payload":"90 04 1234 00 01", "comment":"SUBACK"},
{"type":"send", "payload":"82 r7 m1234 00 s1 'p' 01", "comment":"SUBSCRIBE, 'p' qos1"},
{"type":"recv", "payload":"90 r4 m1234 00 01", "comment":"SUBACK"},
{"type":"publish", "topic":"p", "qos":1, "payload":"message", "comment":"helper"},
{"type":"recv", "payload":"32 0D 0001 70 0001 00 6d657373616765", "comment":"PUBLISH receive"},
{"type":"send", "payload":"40 02 0001", "comment":"PUBACK"}
{"type":"recv", "payload":"32 r13 s1 'p' m1 00 'message'", "comment":"PUBLISH receive"},
{"type":"send", "payload":"40 r2 m1", "comment":"PUBACK"}
]},
{ "name": "QoS 1 PUBLISH-PUBREC", "msgs": [
{"type":"send", "payload":"82 07 1234 00 0001 70 01", "comment":"SUBSCRIBE, 'p' qos1"},
{"type":"recv", "payload":"90 04 1234 00 01", "comment":"SUBACK"},
{"type":"send", "payload":"82 r7 m1234 00 s1 'p' 01", "comment":"SUBSCRIBE, 'p' qos1"},
{"type":"recv", "payload":"90 r4 m1234 00 01", "comment":"SUBACK"},
{"type":"publish", "topic":"p", "qos":1, "payload":"message", "comment":"helper"},
{"type":"recv", "payload":"32 0D 0001 70 0001 00 6d657373616765", "comment":"PUBLISH receive"},
{"type":"send", "payload":"50 02 0001", "comment":"PUBREC"},
{"type":"recv", "payload":"E0 01 82"}
{"type":"recv", "payload":"32 r13 s1 'p' m1 00 'message'", "comment":"PUBLISH receive"},
{"type":"send", "payload":"50 r2 m1", "comment":"PUBREC"},
{"type":"recv", "payload":"E0 r1 82"}
]},
{ "name": "QoS 1 PUBLISH-PUBCOMP", "msgs": [
{"type":"send", "payload":"82 07 1234 00 0001 70 01", "comment":"SUBSCRIBE, 'p' qos1"},
{"type":"recv", "payload":"90 04 1234 00 01", "comment":"SUBACK"},
{"type":"send", "payload":"82 r7 m1234 00 s1 'p' 01", "comment":"SUBSCRIBE, 'p' qos1"},
{"type":"recv", "payload":"90 r4 m1234 00 01", "comment":"SUBACK"},
{"type":"publish", "topic":"p", "qos":1, "payload":"message", "comment":"helper"},
{"type":"recv", "payload":"32 0D 0001 70 0001 00 6d657373616765", "comment":"PUBLISH receive"},
{"type":"send", "payload":"70 02 0001", "comment":"PUBCOMP"},
{"type":"recv", "payload":"E0 01 82"}
{"type":"recv", "payload":"32 r13 s1 'p' m1 00 'message'", "comment":"PUBLISH receive"},
{"type":"send", "payload":"70 r2 m1", "comment":"PUBCOMP"},
{"type":"recv", "payload":"E0 r1 82"}
]},
{ "name": "QoS 2 receive ok", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"82 07 1234 00 0001 70 02", "comment":"SUBSCRIBE, 'p' qos2"},
{"type":"recv", "payload":"90 04 1234 00 02", "comment":"SUBACK"},
{"type":"send", "payload":"82 r7 m1234 00 s1 'p' 02", "comment":"SUBSCRIBE, 'p' qos2"},
{"type":"recv", "payload":"90 r4 m1234 00 02", "comment":"SUBACK"},
{"type":"publish", "topic":"p", "qos":2, "payload":"message", "comment":"helper"},
{"type":"recv", "payload":"34 0D 0001 70 0001 00 6d657373616765", "comment":"PUBLISH receive"},
{"type":"send", "payload":"50 02 0001", "comment":"PUBREC"},
{"type":"recv", "payload":"62 02 0001", "comment":"PUBREL"},
{"type":"send", "payload":"70 02 0001", "comment":"PUBCOMP"}
{"type":"recv", "payload":"34 r13 s1 'p' m1 00 'message'", "comment":"PUBLISH receive"},
{"type":"send", "payload":"50 r2 m1", "comment":"PUBREC"},
{"type":"recv", "payload":"62 r2 m1", "comment":"PUBREL"},
{"type":"send", "payload":"70 r2 m1", "comment":"PUBCOMP"}
]},
{ "name": "QoS 2 PUBLISH-PUBACK", "msgs": [
{"type":"send", "payload":"82 07 1234 00 0001 70 02", "comment":"SUBSCRIBE, 'p' qos2"},
{"type":"recv", "payload":"90 04 1234 00 02", "comment":"SUBACK"},
{"type":"send", "payload":"82 r7 m1234 00 s1 'p' 02", "comment":"SUBSCRIBE, 'p' qos2"},
{"type":"recv", "payload":"90 r4 m1234 00 02", "comment":"SUBACK"},
{"type":"publish", "topic":"p", "qos":2, "payload":"message", "comment":"helper"},
{"type":"recv", "payload":"34 0D 0001 70 0001 00 6d657373616765", "comment":"PUBLISH receive"},
{"type":"send", "payload":"40 02 0001", "comment": "PUBACK (should be PUBREC)"},
{"type":"recv", "payload":"E0 01 82"}
{"type":"recv", "payload":"34 r13 s1 'p' m1 00 'message'", "comment":"PUBLISH receive"},
{"type":"send", "payload":"40 r2 m1", "comment": "PUBACK (should be PUBREC)"},
{"type":"recv", "payload":"E0 r1 82"}
]},
{ "name": "QoS 2 PUBLISH-PUBCOMP", "msgs": [
{"type":"send", "payload":"82 07 1234 00 0001 70 02", "comment":"SUBSCRIBE, 'p' qos2"},
{"type":"recv", "payload":"90 04 1234 00 02", "comment":"SUBACK"},
{"type":"send", "payload":"82 r7 m1234 00 s1 'p' 02", "comment":"SUBSCRIBE, 'p' qos2"},
{"type":"recv", "payload":"90 r4 m1234 00 02", "comment":"SUBACK"},
{"type":"publish", "topic":"p", "qos":2, "payload":"message", "comment":"helper"},
{"type":"recv", "payload":"34 0D 0001 70 0001 00 6d657373616765", "comment":"PUBLISH receive"},
{"type":"send", "payload":"70 02 0001", "comment": "PUBCOMP (should be PUBREC)"},
{"type":"recv", "payload":"E0 01 82"}
{"type":"recv", "payload":"34 r13 s1 'p' m1 00 'message'", "comment":"PUBLISH receive"},
{"type":"send", "payload":"70 r2 m1", "comment": "PUBCOMP (should be PUBREC)"},
{"type":"recv", "payload":"E0 r1 82"}
]},
{ "name": "QoS 2 PUBLISH-PUBREC-PUBREL-PUBACK", "msgs": [
{"type":"send", "payload":"82 07 1234 00 0001 70 02", "comment":"SUBSCRIBE, 'p' qos2"},
{"type":"recv", "payload":"90 04 1234 00 02", "comment":"SUBACK"},
{"type":"send", "payload":"82 r7 m1234 00 s1 'p' 02", "comment":"SUBSCRIBE, 'p' qos2"},
{"type":"recv", "payload":"90 r4 m1234 00 02", "comment":"SUBACK"},
{"type":"publish", "topic":"p", "qos":2, "payload":"message", "comment":"helper"},
{"type":"recv", "payload":"34 0D 0001 70 0001 00 6d657373616765", "comment":"PUBLISH receive"},
{"type":"send", "payload":"50 02 0001", "comment": "PUBREC)"},
{"type":"recv", "payload":"62 02 0001", "comment": "PUBREL)"},
{"type":"send", "payload":"40 02 0001", "comment": "PUBACK (should be PUBCOMP))"},
{"type":"recv", "payload":"E0 01 82"}
{"type":"recv", "payload":"34 r13 s1 'p' m1 00 'message'", "comment":"PUBLISH receive"},
{"type":"send", "payload":"50 r2 m1", "comment": "PUBREC)"},
{"type":"recv", "payload":"62 r2 m1", "comment": "PUBREL)"},
{"type":"send", "payload":"40 r2 m1", "comment": "PUBACK (should be PUBCOMP))"},
{"type":"recv", "payload":"E0 r1 82"}
]},
{ "name": "QoS 2 PUBLISH-PUBREC-PUBREL-PUBREC", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"82 07 1234 00 0001 70 02", "comment":"SUBSCRIBE, 'p' qos2"},
{"type":"recv", "payload":"90 04 1234 00 02", "comment":"SUBACK"},
{"type":"send", "payload":"82 r7 m1234 00 s1 'p' 02", "comment":"SUBSCRIBE, 'p' qos2"},
{"type":"recv", "payload":"90 r4 m1234 00 02", "comment":"SUBACK"},
{"type":"publish", "topic":"p", "qos":2, "payload":"message", "comment":"helper"},
{"type":"recv", "payload":"34 0D 0001 70 0001 00 6d657373616765", "comment":"PUBLISH receive"},
{"type":"send", "payload":"50 02 0001", "comment": "PUBREC)"},
{"type":"recv", "payload":"62 02 0001", "comment": "PUBREL)"},
{"type":"send", "payload":"50 02 0001", "comment": "PUBREC (should be PUBCOMP))"},
{"type":"recv", "payload":"62 02 0001", "comment": "PUBREL)"}
{"type":"recv", "payload":"34 r13 s1 'p' m1 00 'message'", "comment":"PUBLISH receive"},
{"type":"send", "payload":"50 r2 m1", "comment": "PUBREC)"},
{"type":"recv", "payload":"62 r2 m1", "comment": "PUBREL)"},
{"type":"send", "payload":"50 r2 m1", "comment": "PUBREC (should be PUBCOMP))"},
{"type":"recv", "payload":"62 r2 m1", "comment": "PUBREL)"}
]}
]
},
@@ -160,54 +160,54 @@
"ver":5,
"tests": [
{ "name": "payload-format-indicator=1 (byte)", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"82 0B 1234 00 0005 746F706963 01", "comment":"SUBSCRIBE, 'topic' qos1"},
{"type":"recv", "payload":"90 04 1234 00 01", "comment":"SUBACK"},
{"type":"send", "payload":"30 11 0005 746F706963 02 0101 7061796C6F6164", "comment": "PUBLISH send"},
{"type":"recv", "payload":"30 11 0005 746F706963 02 0101 7061796C6F6164", "comment": "PUBLISH recv"}
{"type":"send", "payload":"82 r11 m1234 00 s5 'topic' 01", "comment":"SUBSCRIBE, 'topic' qos1"},
{"type":"recv", "payload":"90 r4 m1234 00 01", "comment":"SUBACK"},
{"type":"send", "payload":"30 r17 s5 'topic' 02 0101 'payload'", "comment": "PUBLISH send"},
{"type":"recv", "payload":"30 r17 s5 'topic' 02 0101 'payload'", "comment": "PUBLISH recv"}
]},
{ "name": "message-expiry-interval=1 (four byte integer)", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"82 0B 1234 00 0005 746F706963 01", "comment":"SUBSCRIBE, 'topic' qos1"},
{"type":"recv", "payload":"90 04 1234 00 01", "comment":"SUBACK"},
{"type":"send", "payload":"30 14 0005 746F706963 05 0200000001 7061796C6F6164"},
{"type":"recv", "payload":"30 14 0005 746F706963 05 0200000001 7061796C6F6164"}
{"type":"send", "payload":"82 r11 m1234 00 s5 'topic' 01", "comment":"SUBSCRIBE, 'topic' qos1"},
{"type":"recv", "payload":"90 r4 m1234 00 01", "comment":"SUBACK"},
{"type":"send", "payload":"30 r20 s5 'topic' 05 02 L1 'payload'"},
{"type":"recv", "payload":"30 r20 s5 'topic' 05 02 L1 'payload'"}
]},
{ "name": "topic-alias", "expect_disconnect":false, "comment":"broker doesn't initiate topic alias", "msgs": [
{"type":"send", "payload":"82 0B 1234 00 0005 746F706963 01", "comment":"SUBSCRIBE, 'topic' qos1"},
{"type":"recv", "payload":"90 04 1234 00 01", "comment":"SUBACK"},
{"type":"send", "payload":"30 12 0005 746F706963 03 230001 7061796C6F6164", "comment":"PUBLISH with topic alias 1"},
{"type":"recv", "payload":"30 0F 0005 746F706963 00 7061796C6F6164", "comment":"PUBLISH receive 1"},
{"type":"send", "payload":"30 0D 0000 03 230001 7061796C6F6164", "comment":"PUBLISH with topic alias 1, no topic"},
{"type":"recv", "payload":"30 0F 0005 746F706963 00 7061796C6F6164", "comment":"PUBLISH receive 2"}
{"type":"send", "payload":"82 r11 m1234 00 s5 'topic' 01", "comment":"SUBSCRIBE, 'topic' qos1"},
{"type":"recv", "payload":"90 r4 m1234 00 01", "comment":"SUBACK"},
{"type":"send", "payload":"30 r18 s5 'topic' 03 23 s1 'payload'", "comment":"PUBLISH with topic alias 1"},
{"type":"recv", "payload":"30 r15 s5 'topic' 00 'payload'", "comment":"PUBLISH receive 1"},
{"type":"send", "payload":"30 r13 s0 03 23 s1 'payload'", "comment":"PUBLISH with topic alias 1, no topic"},
{"type":"recv", "payload":"30 r15 s5 'topic' 00 'payload'", "comment":"PUBLISH receive 2"}
]},
{ "name": "response-topic", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"82 0B 1234 00 0005 746F706963 01", "comment":"SUBSCRIBE, 'topic' qos1"},
{"type":"recv", "payload":"90 04 1234 00 01", "comment":"SUBACK"},
{"type":"send", "payload":"30 13 0005 746F706963 04 08000170 7061796C6F6164"},
{"type":"recv", "payload":"30 13 0005 746F706963 04 08000170 7061796C6F6164"}
{"type":"send", "payload":"82 r11 m1234 00 s5 'topic' 01", "comment":"SUBSCRIBE, 'topic' qos1"},
{"type":"recv", "payload":"90 r4 m1234 00 01", "comment":"SUBACK"},
{"type":"send", "payload":"30 r19 s5 'topic' 04 08 s1 'p' 'payload'"},
{"type":"recv", "payload":"30 r19 s5 'topic' 04 08 s1 'p' 'payload'"}
]},
{ "name": "correlation-data", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"82 0B 1234 00 0005 746F706963 01", "comment":"SUBSCRIBE, 'topic' qos1"},
{"type":"recv", "payload":"90 04 1234 00 01", "comment":"SUBACK"},
{"type":"send", "payload":"30 13 0005 746F706963 04 09000170 7061796C6F6164"},
{"type":"recv", "payload":"30 13 0005 746F706963 04 09000170 7061796C6F6164"}
{"type":"send", "payload":"82 r11 m1234 00 s5 'topic' 01", "comment":"SUBSCRIBE, 'topic' qos1"},
{"type":"recv", "payload":"90 r4 m1234 00 01", "comment":"SUBACK"},
{"type":"send", "payload":"30 r19 s5 'topic' 04 09 s1 'p' 'payload'"},
{"type":"recv", "payload":"30 r19 s5 'topic' 04 09 s1 'p' 'payload'"}
]},
{ "name": "user-property", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"82 0B 1234 00 0005 746F706963 01", "comment":"SUBSCRIBE, 'topic' qos1"},
{"type":"recv", "payload":"90 04 1234 00 01", "comment":"SUBACK"},
{"type":"send", "payload":"30 16 0005 746F706963 07 26000170000171 7061796C6F6164"},
{"type":"recv", "payload":"30 16 0005 746F706963 07 26000170000171 7061796C6F6164"}
{"type":"send", "payload":"82 r11 m1234 00 s5 'topic' 01", "comment":"SUBSCRIBE, 'topic' qos1"},
{"type":"recv", "payload":"90 r4 m1234 00 01", "comment":"SUBACK"},
{"type":"send", "payload":"30 r22 s5 'topic' 07 26 s1 'p' s1 'q' 'payload'"},
{"type":"recv", "payload":"30 r22 s5 'topic' 07 26 s1 'p' s1 'q' 'payload'"}
]},
{ "name": "subscription-identifier", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"82 0D 1234 02 0B01 0005 746F706963 01", "comment":"SUBSCRIBE, 'topic' qos1"},
{"type":"recv", "payload":"90 04 1234 00 01", "comment":"SUBACK"},
{"type":"send", "payload":"30 0F 0005 746F706963 00 7061796C6F6164"},
{"type":"recv", "payload":"30 11 0005 746F706963 02 0B01 7061796C6F6164"}
{"type":"send", "payload":"82 r13 m1234 02 0B01 s5 'topic' 01", "comment":"SUBSCRIBE, 'topic' qos1"},
{"type":"recv", "payload":"90 r4 m1234 00 01", "comment":"SUBACK"},
{"type":"send", "payload":"30 r15 s5 'topic' 00 'payload'"},
{"type":"recv", "payload":"30 r17 s5 'topic' 02 0B01 'payload'"}
]},
{ "name": "content-type", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"82 0B 1234 00 0005 746F706963 01", "comment":"SUBSCRIBE, 'topic' qos1"},
{"type":"recv", "payload":"90 04 1234 00 01", "comment":"SUBACK"},
{"type":"send", "payload":"30 13 0005 746F706963 04 03000170 7061796C6F6164"},
{"type":"recv", "payload":"30 13 0005 746F706963 04 03000170 7061796C6F6164"}
{"type":"send", "payload":"82 r11 m1234 00 s5 'topic' 01", "comment":"SUBSCRIBE, 'topic' qos1"},
{"type":"recv", "payload":"90 r4 m1234 00 01", "comment":"SUBACK"},
{"type":"send", "payload":"30 r19 s5 'topic' 04 03 s1 'p' 'payload'"},
{"type":"recv", "payload":"30 r19 s5 'topic' 04 03 s1 'p' 'payload'"}
]}
]
}

View File

@@ -3,55 +3,55 @@
"group": "v3.1.1 FORBIDDEN",
"ver":4,
"tests": [
{ "name": "00 first packet", "connect": false, "msgs": [{"type":"send", "payload":"00 00"}]},
{ "name": "01 first packet", "connect": false, "msgs": [{"type":"send", "payload":"01 00"}]},
{ "name": "02 first packet", "connect": false, "msgs": [{"type":"send", "payload":"02 00"}]},
{ "name": "04 first packet", "connect": false, "msgs": [{"type":"send", "payload":"04 00"}]},
{ "name": "08 first packet", "connect": false, "msgs": [{"type":"send", "payload":"08 00"}]},
{ "name": "00 long", "msgs": [{"type":"send", "payload":"00 01 00"}]},
{ "name": "00", "msgs": [{"type":"send", "payload":"00 00"}]},
{ "name": "01", "msgs": [{"type":"send", "payload":"01 00"}]},
{ "name": "02", "msgs": [{"type":"send", "payload":"02 00"}]},
{ "name": "04", "msgs": [{"type":"send", "payload":"04 00"}]},
{ "name": "08", "msgs": [{"type":"send", "payload":"08 00"}]}
{ "name": "00 first packet", "connect": false, "msgs": [{"type":"send", "payload":"00 r0"}]},
{ "name": "01 first packet", "connect": false, "msgs": [{"type":"send", "payload":"01 r0"}]},
{ "name": "02 first packet", "connect": false, "msgs": [{"type":"send", "payload":"02 r0"}]},
{ "name": "04 first packet", "connect": false, "msgs": [{"type":"send", "payload":"04 r0"}]},
{ "name": "08 first packet", "connect": false, "msgs": [{"type":"send", "payload":"08 r0"}]},
{ "name": "00 long", "msgs": [{"type":"send", "payload":"00 r1 00"}]},
{ "name": "00", "msgs": [{"type":"send", "payload":"00 r0"}]},
{ "name": "01", "msgs": [{"type":"send", "payload":"01 r0"}]},
{ "name": "02", "msgs": [{"type":"send", "payload":"02 r0"}]},
{ "name": "04", "msgs": [{"type":"send", "payload":"04 r0"}]},
{ "name": "08", "msgs": [{"type":"send", "payload":"08 r0"}]}
]
},
{
"group": "v5.0 FORBIDDEN",
"ver":5,
"tests": [
{ "name": "00 first packet", "connect": false, "msgs": [{"type":"send", "payload":"00 00"}]},
{ "name": "01 first packet", "connect": false, "msgs": [{"type":"send", "payload":"01 00"}]},
{ "name": "02 first packet", "connect": false, "msgs": [{"type":"send", "payload":"02 00"}]},
{ "name": "04 first packet", "connect": false, "msgs": [{"type":"send", "payload":"04 00"}]},
{ "name": "08 first packet", "connect": false, "msgs": [{"type":"send", "payload":"08 00"}]},
{ "name": "00 first packet", "connect": false, "msgs": [{"type":"send", "payload":"00 r0"}]},
{ "name": "01 first packet", "connect": false, "msgs": [{"type":"send", "payload":"01 r0"}]},
{ "name": "02 first packet", "connect": false, "msgs": [{"type":"send", "payload":"02 r0"}]},
{ "name": "04 first packet", "connect": false, "msgs": [{"type":"send", "payload":"04 r0"}]},
{ "name": "08 first packet", "connect": false, "msgs": [{"type":"send", "payload":"08 r0"}]},
{ "name": "00 long", "msgs": [
{"type":"send", "payload":"00 01 00"},
{"type":"recv", "payload":"E0 01 82", "comment":"DISCONNECT protocol error"}
{"type":"send", "payload":"00 r1 00"},
{"type":"recv", "payload":"E0 r1 82", "comment":"DISCONNECT protocol error"}
]},
{ "name": "00", "msgs": [
{"type":"send", "payload":"00 00"},
{"type":"recv", "payload":"E0 01 82", "comment":"DISCONNECT protocol error"}
{"type":"send", "payload":"00 r0"},
{"type":"recv", "payload":"E0 r1 82", "comment":"DISCONNECT protocol error"}
]},
{ "name": "01", "msgs": [
{"type":"send", "payload":"01 00"},
{"type":"recv", "payload":"E0 01 82", "comment":"DISCONNECT protocol error"}
{"type":"send", "payload":"01 r0"},
{"type":"recv", "payload":"E0 r1 82", "comment":"DISCONNECT protocol error"}
]},
{ "name": "02", "msgs": [
{"type":"send", "payload":"02 00"},
{"type":"recv", "payload":"E0 01 82", "comment":"DISCONNECT protocol error"}
{"type":"send", "payload":"02 r0"},
{"type":"recv", "payload":"E0 r1 82", "comment":"DISCONNECT protocol error"}
]},
{ "name": "04", "msgs": [
{"type":"send", "payload":"04 00"},
{"type":"recv", "payload":"E0 01 82", "comment":"DISCONNECT protocol error"}
{"type":"send", "payload":"04 r0"},
{"type":"recv", "payload":"E0 r1 82", "comment":"DISCONNECT protocol error"}
]},
{ "name": "08", "msgs": [
{"type":"send", "payload":"08 00"},
{"type":"recv", "payload":"E0 01 82", "comment":"DISCONNECT protocol error"}
{"type":"send", "payload":"08 r0"},
{"type":"recv", "payload":"E0 r1 82", "comment":"DISCONNECT protocol error"}
]},
{ "name": "0A with illegal length C0", "ver":5, "expect_disconnect":true, "msgs": [
{"type":"send", "payload":"0A C0"},
{"type":"recv", "payload":"E0 01 82", "comment":"DISCONNECT protocol error"}
{"type":"recv", "payload":"E0 r1 82", "comment":"DISCONNECT protocol error"}
]}
]
}

View File

@@ -3,37 +3,37 @@
"group": "v3.1.1 PINGREQ",
"ver":4,
"tests": [
{ "name": "C0 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"C0 00"}]},
{ "name": "C0 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"C0 r0"}]},
{ "name": "C0 long", "msgs": [{"type":"send", "payload":"C00100"}]},
{ "name": "C0 valid", "expect_disconnect": false, "msgs": [{"type":"send", "payload":"C0 00"}, {"type":"recv", "payload":"D0 00"}]},
{ "name": "C1", "msgs": [{"type":"send", "payload":"C1 00"}]},
{ "name": "C2", "msgs": [{"type":"send", "payload":"C2 00"}]},
{ "name": "C4", "msgs": [{"type":"send", "payload":"C4 00"}]},
{ "name": "C8", "msgs": [{"type":"send", "payload":"C8 00"}]}
{ "name": "C0 valid", "expect_disconnect": false, "msgs": [{"type":"send", "payload":"C0 r0"}, {"type":"recv", "payload":"D0 00"}]},
{ "name": "C1", "msgs": [{"type":"send", "payload":"C1 r0"}]},
{ "name": "C2", "msgs": [{"type":"send", "payload":"C2 r0"}]},
{ "name": "C4", "msgs": [{"type":"send", "payload":"C4 r0"}]},
{ "name": "C8", "msgs": [{"type":"send", "payload":"C8 r0"}]}
]
},
{
"group": "v5.0 PINGREQ",
"ver":5,
"tests": [
{ "name": "C0 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"C0 00"}]},
{ "name": "C0 long", "msgs": [{"type":"send", "payload":"C0 01 00"}]},
{ "name": "C0 valid", "expect_disconnect": false, "msgs": [{"type":"send", "payload":"C0 00"}, {"type":"recv", "payload":"D0 00"}]},
{ "name": "C0 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"C0 r0"}]},
{ "name": "C0 long", "msgs": [{"type":"send", "payload":"C0 r1 00"}]},
{ "name": "C0 valid", "expect_disconnect": false, "msgs": [{"type":"send", "payload":"C0 r0"}, {"type":"recv", "payload":"D0 00"}]},
{ "name": "C1", "msgs": [
{"type":"send", "payload":"C1 00"},
{"type":"recv", "payload":"E0 01 81"}
{"type":"send", "payload":"C1 r0"},
{"type":"recv", "payload":"E0 r1 81"}
]},
{ "name": "C2", "msgs": [
{"type":"send", "payload":"C2 00"},
{"type":"recv", "payload":"E0 01 81"}
{"type":"send", "payload":"C2 r0"},
{"type":"recv", "payload":"E0 r1 81"}
]},
{ "name": "C4", "msgs": [
{"type":"send", "payload":"C4 00"},
{"type":"recv", "payload":"E0 01 81"}
{"type":"send", "payload":"C4 r0"},
{"type":"recv", "payload":"E0 r1 81"}
]},
{ "name": "C8", "msgs": [
{"type":"send", "payload":"C8 00"},
{"type":"recv", "payload":"E0 01 81"}
{"type":"send", "payload":"C8 r0"},
{"type":"recv", "payload":"E0 r1 81"}
]}
]
}

View File

@@ -3,40 +3,40 @@
"group": "v3.1.1 PINGRESP",
"ver":4,
"tests": [
{ "name": "D0 [MQTT-3.1.0-1]", "connect": false, "msgs": [{"type":"send", "payload":"D0 00"}]},
{ "name": "D0 long", "msgs": [{"type":"send", "payload":"D0 01 00"}]},
{ "name": "D0", "msgs": [{"type":"send", "payload":"D0 00"}]},
{ "name": "D1", "msgs": [{"type":"send", "payload":"D1 00"}]},
{ "name": "D2", "msgs": [{"type":"send", "payload":"D2 00"}]},
{ "name": "D4", "msgs": [{"type":"send", "payload":"D4 00"}]},
{ "name": "D8", "msgs": [{"type":"send", "payload":"D8 00"}]}
{ "name": "D0 [MQTT-3.1.0-1]", "connect": false, "msgs": [{"type":"send", "payload":"D0 r0"}]},
{ "name": "D0 long", "msgs": [{"type":"send", "payload":"D0 r1 00"}]},
{ "name": "D0", "msgs": [{"type":"send", "payload":"D0 r0"}]},
{ "name": "D1", "msgs": [{"type":"send", "payload":"D1 r0"}]},
{ "name": "D2", "msgs": [{"type":"send", "payload":"D2 r0"}]},
{ "name": "D4", "msgs": [{"type":"send", "payload":"D4 r0"}]},
{ "name": "D8", "msgs": [{"type":"send", "payload":"D8 r0"}]}
]
},
{
"group": "v5.0 PINGRESP",
"ver":5,
"tests": [
{ "name": "D0 [MQTT-3.1.0-1]", "connect": false, "msgs": [{"type":"send", "payload":"D0 00"}]},
{ "name": "D0 long", "msgs": [{"type":"send", "payload":"D0 01 00"}]},
{ "name": "D0 [MQTT-3.1.0-1]", "connect": false, "msgs": [{"type":"send", "payload":"D0 r0"}]},
{ "name": "D0 long", "msgs": [{"type":"send", "payload":"D0 r1 00"}]},
{ "name": "D0", "msgs": [
{"type":"send", "payload":"D0 00"},
{"type":"recv", "payload":"E0 01 82"}
{"type":"send", "payload":"D0 r0"},
{"type":"recv", "payload":"E0 r1 82"}
]},
{ "name": "D1", "msgs": [
{"type":"send", "payload":"D1 00"},
{"type":"recv", "payload":"E0 01 81"}
{"type":"send", "payload":"D1 r0"},
{"type":"recv", "payload":"E0 r1 81"}
]},
{ "name": "D2", "msgs": [
{"type":"send", "payload":"D2 00"},
{"type":"recv", "payload":"E0 01 81"}
{"type":"send", "payload":"D2 r0"},
{"type":"recv", "payload":"E0 r1 81"}
]},
{ "name": "D4", "msgs": [
{"type":"send", "payload":"D4 00"},
{"type":"recv", "payload":"E0 01 81"}
{"type":"send", "payload":"D4 r0"},
{"type":"recv", "payload":"E0 r1 81"}
]},
{ "name": "D8", "msgs": [
{"type":"send", "payload":"D8 00"},
{"type":"recv", "payload":"E0 01 81"}
{"type":"send", "payload":"D8 r0"},
{"type":"recv", "payload":"E0 r1 81"}
]}
]
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -3,15 +3,15 @@
"group": "REGRESSIONS",
"tests": [
{ "name": "subscribe-unsubscribe-crash part 1", "ver":4, "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"82 26 1234 0009 64 72 61 73 68 2F 31 2F 23 00 0009 65 72 61 73 68 2F 32 2F 23 00 0009 63 72 61 73 68 2F 33 2F 23 00"},
{"type":"recv", "payload":"90 05 1234 00 00 00"},
{"type":"send", "payload":"A2 0D 1234 0009 64 72 61 73 68 2F 31 2F 23"},
{"type":"recv", "payload":"B0 02 1234"}
{"type":"send", "payload":"82 r38 m1234 s9 'drash/1/#' 00 s9 'erash/2/#' 00 s9 'crash/3/#' 00"},
{"type":"recv", "payload":"90 r5 m1234 00 00 00"},
{"type":"send", "payload":"A2 r13 m1234 s9 'drash/1/#'"},
{"type":"recv", "payload":"B0 r2 m1234"}
], "comment": "Must be used with part 2 immediately after",
"comment2": "Requires WITH_ASAN=yes"},
{ "name": "subscribe-unsubscribe-crash part 2", "ver":4, "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"82 0E 1234 0009 63 72 61 73 68 2F 33 2F 23 00"},
{"type":"recv", "payload":"90 03 1234 00"}
{"type":"send", "payload":"82 r14 m1234 s9 'crash/3/#' 00"},
{"type":"recv", "payload":"90 r3 m1234 00"}
], "comment": "https://github.com/eclipse/mosquitto/issues/2885"}
]
},
@@ -20,28 +20,28 @@
"tests": [
{
"name": "mismatched-shared-normal-subscribe-unsubscribe-leak", "ver":4, "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"82 1a 0001 0015 24 73 68 61 72 65 2f 73 68 61 72 65 6e 61 6d 65 2f 74 65 73 74 01"},
{"type":"recv", "payload":"90 03 0001 01"},
{"type":"send", "payload":"82 09 0002 0004 74 65 73 74 00"},
{"type":"recv", "payload":"90 03 0002 00"},
{"type":"send", "payload":"A2 08 0007 0004 74 65 73 74"},
{"type":"recv", "payload":"B0 02 0007"}
{"type":"send", "payload":"82 r26 m1 s21 '$share/sharename/test' 01"},
{"type":"recv", "payload":"90 r3 m1 01"},
{"type":"send", "payload":"82 r9 m2 s4 'test' 00"},
{"type":"recv", "payload":"90 r3 m2 00"},
{"type":"send", "payload":"A2 r8 m7 s4 'test'"},
{"type":"recv", "payload":"B0 r2 m7"}
],
"comment": "Also part one of the next two tests"
},
{
"name": "acl-check-uaf", "ver":4, "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"30 0D 0004 74657374 7061796C6F6164"}
{"type":"send", "payload":"30 r13 s4 'test' 'payload'"}
]
},
{
"name": "shared-sub-uaf", "ver":4, "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"82 1a 0001 0015 24 73 68 61 72 65 2f 73 68 61 72 65 6e 61 6d 65 2f 74 65 73 74 01"},
{"type":"recv", "payload":"90 03 0001 01"},
{"type":"send", "payload":"82 09 0002 0004 74 65 73 74 00"},
{"type":"recv", "payload":"90 03 0002 00"},
{"type":"send", "payload":"A2 08 0007 0004 74 65 73 74"},
{"type":"recv", "payload":"B0 02 0007"}
{"type":"send", "payload":"82 r26 m1 s21 '$share/sharename/test' 01"},
{"type":"recv", "payload":"90 r3 m1 01"},
{"type":"send", "payload":"82 r9 m2 s4 'test' 00"},
{"type":"recv", "payload":"90 r3 m2 00"},
{"type":"send", "payload":"A2 r8 m7 s4 'test'"},
{"type":"recv", "payload":"B0 r2 m7"}
]
}
]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -129,6 +129,49 @@ class MsgSequence(object):
self._connected_check(sock)
def parse_message(message):
b = bytes()
parts = message.split(" ")
for i in range(0, len(parts)):
if len(parts[i]) == 0:
continue
elif parts[i][0] in ['i']:
# General 8-bit unsigned decimal
b += int(parts[i][1:]).to_bytes(1)
elif parts[i][0] in ['H', 'k', 'm', 's']:
# General 16-bit unsigned decimal
# Or 'k' keepalive specific
# Or 'm' mid specific
# Or 's' string specific
b += int(parts[i][1:]).to_bytes(2)
elif parts[i][0] == "L":
# 32-bit unsigned decimal
b += int(parts[i][1:]).to_bytes(4)
elif parts[i][0] == "'":
s = parts[i][1:]
while s[-1] != "'" and i < len(parts)-1:
i += 1
s += " " + parts[i]
if s[-1] != "'":
raise ValueError(f"message {message} has incomplete string type")
b += bytes(s[0:-1].encode('utf-8'))
elif parts[i][0] in ['v', 'r']:
# General variable length integer
# Or 'r' remaining length
v = int(parts[i][1:])
if v > 255:
raise ValueError("Variable length > 255 needs implementing")
b += v.to_bytes(1)
else:
# hex
try:
b += bytes.fromhex(parts[i])
except ValueError:
raise ValueError(f"message {message} has invalid hex bytes")
return b
def do_test(hostname, port, protocol):
data_path=Path(__file__).resolve().parent/"data"
rc = 0
@@ -198,9 +241,9 @@ def do_test(hostname, port, protocol):
except KeyError:
c = ""
if m["type"] == "send":
this_test.add_send(bytes.fromhex(m["payload"].replace(" ", "")))
this_test.add_send(parse_message(m["payload"]))
elif m["type"] == "recv":
this_test.add_recv(bytes.fromhex(m["payload"].replace(" ", "")), c)
this_test.add_recv(parse_message(m["payload"]), c)
elif m["type"] == "publish":
this_test.add_publish(m, c)

View File

@@ -4,24 +4,24 @@
"group": "v3.1.1 AUTH",
"ver":4,
"tests": [
{ "name": "F0 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"F0 00"}]},
{ "name": "F0 long", "msgs": [{"type":"send", "payload":"F0 01 00"}]},
{ "name": "F1", "msgs": [{"type":"send", "payload":"F1 00"}]},
{ "name": "F2", "msgs": [{"type":"send", "payload":"F2 00"}]},
{ "name": "F4", "msgs": [{"type":"send", "payload":"F4 00"}]},
{ "name": "F8", "msgs": [{"type":"send", "payload":"F8 00"}]}
{ "name": "F0 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"F0 r0"}]},
{ "name": "F0 long", "msgs": [{"type":"send", "payload":"F0 r1 00"}]},
{ "name": "F1", "msgs": [{"type":"send", "payload":"F1 r0"}]},
{ "name": "F2", "msgs": [{"type":"send", "payload":"F2 r0"}]},
{ "name": "F4", "msgs": [{"type":"send", "payload":"F4 r0"}]},
{ "name": "F8", "msgs": [{"type":"send", "payload":"F8 r0"}]}
]
},
{
"group": "v5.0 AUTH",
"ver":5,
"tests": [
{ "name": "F0 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"F0 00"}]},
{ "name": "F0 long", "msgs": [{"type":"send", "payload":"F0 01 00"}]},
{ "name": "F1", "msgs": [{"type":"send", "payload":"F1 00"}]},
{ "name": "F2", "msgs": [{"type":"send", "payload":"F2 00"}]},
{ "name": "F4", "msgs": [{"type":"send", "payload":"F4 00"}]},
{ "name": "F8", "msgs": [{"type":"send", "payload":"F8 00"}]}
{ "name": "F0 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"F0 r0"}]},
{ "name": "F0 long", "msgs": [{"type":"send", "payload":"F0 r1 00"}]},
{ "name": "F1", "msgs": [{"type":"send", "payload":"F1 r0"}]},
{ "name": "F2", "msgs": [{"type":"send", "payload":"F2 r0"}]},
{ "name": "F4", "msgs": [{"type":"send", "payload":"F4 r0"}]},
{ "name": "F8", "msgs": [{"type":"send", "payload":"F8 r0"}]}
]
}
]

View File

@@ -4,25 +4,25 @@
"connack": false,
"ver":4,
"tests": [
{ "name": "20 [MQTT-3.1.0-1]", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"20 02 00 00"}]},
{ "name": "20 long", "msgs": [{"type":"send", "payload":"20 03 00 00 00"}]},
{ "name": "20 short 1", "msgs": [{"type":"send", "payload":"20 01 00"}]},
{ "name": "20 short 0", "msgs": [{"type":"send", "payload":"20 00"}]},
{ "name": "20", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"20 02 00 00"}]},
{ "name": "20 [MQTT-3.1.0-1]", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"20 r2 00 00"}]},
{ "name": "20 long", "msgs": [{"type":"send", "payload":"20 r3 00 00 00"}]},
{ "name": "20 short 1", "msgs": [{"type":"send", "payload":"20 r1 00"}]},
{ "name": "20 short 0", "msgs": [{"type":"send", "payload":"20 r0"}]},
{ "name": "20", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"20 r2 00 00"}]},
{ "name": "21", "msgs": [{"type":"send", "payload":"21 02 00 00"}]},
{ "name": "22", "msgs": [{"type":"send", "payload":"22 02 00 00"}]},
{ "name": "24", "msgs": [{"type":"send", "payload":"24 02 00 00"}]},
{ "name": "28", "msgs": [{"type":"send", "payload":"28 02 00 00"}]},
{ "name": "issue 2163 v3", "ver":3, "msgs": [{"type":"send", "payload":"29 02 00 01"}]},
{ "name": "issue 2163 v4", "msgs": [{"type":"send", "payload":"29 02 00 01"}]},
{ "name": "20 CAF=0x01", "msgs": [{"type":"send", "payload":"20 02 01 00"}]},
{ "name": "20 CAF=0x02", "msgs": [{"type":"send", "payload":"20 02 02 00"}]},
{ "name": "20 CAF=0x04", "msgs": [{"type":"send", "payload":"20 02 04 00"}]},
{ "name": "20 CAF=0x08", "msgs": [{"type":"send", "payload":"20 02 08 00"}]},
{ "name": "20 CAF=0x10", "msgs": [{"type":"send", "payload":"20 02 10 00"}]},
{ "name": "20 CAF=0x20", "msgs": [{"type":"send", "payload":"20 02 20 00"}]},
{ "name": "20 CAF=0x40", "msgs": [{"type":"send", "payload":"20 02 40 00"}]},
{ "name": "20 CAF=0x80", "msgs": [{"type":"send", "payload":"20 02 80 00"}]}
{ "name": "20 CAF=0x01", "msgs": [{"type":"send", "payload":"20 r2 01 00"}]},
{ "name": "20 CAF=0x02", "msgs": [{"type":"send", "payload":"20 r2 02 00"}]},
{ "name": "20 CAF=0x04", "msgs": [{"type":"send", "payload":"20 r2 04 00"}]},
{ "name": "20 CAF=0x08", "msgs": [{"type":"send", "payload":"20 r2 08 00"}]},
{ "name": "20 CAF=0x10", "msgs": [{"type":"send", "payload":"20 r2 10 00"}]},
{ "name": "20 CAF=0x20", "msgs": [{"type":"send", "payload":"20 r2 20 00"}]},
{ "name": "20 CAF=0x40", "msgs": [{"type":"send", "payload":"20 r2 40 00"}]},
{ "name": "20 CAF=0x80", "msgs": [{"type":"send", "payload":"20 r2 80 00"}]}
]
},
{
@@ -31,48 +31,48 @@
"ver":5,
"connack": false,
"tests": [
{ "name": "20 [MQTT-3.1.0-1]", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"20 03 00 00 00"}]},
{ "name": "20 with properties", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"20 06 00 00 03 21000A"}]},
{ "name": "20 long", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"20 04 00 00 00 00"}]},
{ "name": "20 short 2", "msgs": [{"type":"send", "payload":"20 02 00 00"}]},
{ "name": "20 short 1", "msgs": [{"type":"send", "payload":"20 01 00"}]},
{ "name": "20 short 0", "msgs": [{"type":"send", "payload":"20 00"}]},
{ "name": "21", "msgs": [{"type":"send", "payload":"21 03 00 00 00"}]},
{ "name": "22", "msgs": [{"type":"send", "payload":"22 03 00 00 00"}]},
{ "name": "24", "msgs": [{"type":"send", "payload":"24 03 00 00 00"}]},
{ "name": "28", "msgs": [{"type":"send", "payload":"28 03 00 00 00"}]},
{ "name": "issue 2163 v5", "msgs": [{"type":"send", "payload":"29 02 00 01"}]},
{ "name": "20 CAF=0x01", "msgs": [{"type":"send", "payload":"20 03 01 00 00"}]},
{ "name": "20 CAF=0x02", "msgs": [{"type":"send", "payload":"20 03 02 00 00"}]},
{ "name": "20 CAF=0x04", "msgs": [{"type":"send", "payload":"20 03 04 00 00"}]},
{ "name": "20 CAF=0x08", "msgs": [{"type":"send", "payload":"20 03 08 00 00"}]},
{ "name": "20 CAF=0x10", "msgs": [{"type":"send", "payload":"20 03 10 00 00"}]},
{ "name": "20 CAF=0x20", "msgs": [{"type":"send", "payload":"20 03 20 00 00"}]},
{ "name": "20 CAF=0x40", "msgs": [{"type":"send", "payload":"20 03 40 00 00"}]},
{ "name": "20 CAF=0x80", "msgs": [{"type":"send", "payload":"20 03 80 00 00"}]},
{ "name": "20 RC=0x01 (invalid)", "msgs": [{"type":"send", "payload":"20 03 00 01 00"}]},
{ "name": "20 RC=0x80 (unspecified error)", "msgs": [{"type":"send", "payload":"20 03 00 80 00"}]},
{ "name": "20 RC=0x81 (malformed packet)", "msgs": [{"type":"send", "payload":"20 03 00 81 00"}]},
{ "name": "20 RC=0x82 (protocol error)", "msgs": [{"type":"send", "payload":"20 03 00 82 00"}]},
{ "name": "20 RC=0x83 (implementation specific error)", "msgs": [{"type":"send", "payload":"20 03 00 83 00"}]},
{ "name": "20 RC=0x84 (unsupported protocol version)", "msgs": [{"type":"send", "payload":"20 03 00 84 00"}]},
{ "name": "20 RC=0x85 (client identifier not valid)", "msgs": [{"type":"send", "payload":"20 03 00 85 00"}]},
{ "name": "20 RC=0x86 (bad user name or password)", "msgs": [{"type":"send", "payload":"20 03 00 86 00"}]},
{ "name": "20 RC=0x87 (not authorised)", "msgs": [{"type":"send", "payload":"20 03 00 87 00"}]},
{ "name": "20 RC=0x88 (server unavailable)", "msgs": [{"type":"send", "payload":"20 03 00 88 00"}]},
{ "name": "20 RC=0x89 (server busy)", "msgs": [{"type":"send", "payload":"20 03 00 89 00"}]},
{ "name": "20 RC=0x8A (banned)", "msgs": [{"type":"send", "payload":"20 03 00 8A 00"}]},
{ "name": "20 RC=0x8C (bad authentication method)", "msgs": [{"type":"send", "payload":"20 03 00 8C 00"}]},
{ "name": "20 RC=0x90 (topic name invalid)", "msgs": [{"type":"send", "payload":"20 03 00 90 00"}]},
{ "name": "20 RC=0x95 (packet too large)", "msgs": [{"type":"send", "payload":"20 03 00 95 00"}]},
{ "name": "20 RC=0x97 (quota exceeded)", "msgs": [{"type":"send", "payload":"20 03 00 97 00"}]},
{ "name": "20 RC=0x99 (payload format invalid)", "msgs": [{"type":"send", "payload":"20 03 00 99 00"}]},
{ "name": "20 RC=0x9A (retain not supported)", "msgs": [{"type":"send", "payload":"20 03 00 9A 00"}]},
{ "name": "20 RC=0x9B (qos not supported)", "msgs": [{"type":"send", "payload":"20 03 00 9B 00"}]},
{ "name": "20 RC=0x9C (use another server)", "msgs": [{"type":"send", "payload":"20 03 00 9C 00"}]},
{ "name": "20 RC=0x9D (server moved)", "msgs": [{"type":"send", "payload":"20 03 00 9D 00"}]},
{ "name": "20 RC=0x9F (connection rate exceeded)", "msgs": [{"type":"send", "payload":"20 03 00 9F 00"}]},
{ "name": "20 RC=0xFF (invalid)", "msgs": [{"type":"send", "payload":"20 03 00 FF 00"}]}
{ "name": "20 [MQTT-3.1.0-1]", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"20 r3 00 00 v0"}]},
{ "name": "20 with properties", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"20 r6 00 00 v3 21 H10"}]},
{ "name": "20 long", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"20 r4 00 00 00 00"}]},
{ "name": "20 short 2", "msgs": [{"type":"send", "payload":"20 r2 00 00"}]},
{ "name": "20 short 1", "msgs": [{"type":"send", "payload":"20 r1 00"}]},
{ "name": "20 short 0", "msgs": [{"type":"send", "payload":"20 r0"}]},
{ "name": "21", "msgs": [{"type":"send", "payload":"21 r3 00 00 v0"}]},
{ "name": "22", "msgs": [{"type":"send", "payload":"22 r3 00 00 v0"}]},
{ "name": "24", "msgs": [{"type":"send", "payload":"24 r3 00 00 v0"}]},
{ "name": "28", "msgs": [{"type":"send", "payload":"28 r3 00 00 v0"}]},
{ "name": "issue 2163 v5", "msgs": [{"type":"send", "payload":"29 r2 00 01"}]},
{ "name": "20 CAF=0x01", "msgs": [{"type":"send", "payload":"20 r3 01 00 v0"}]},
{ "name": "20 CAF=0x02", "msgs": [{"type":"send", "payload":"20 r3 02 00 v0"}]},
{ "name": "20 CAF=0x04", "msgs": [{"type":"send", "payload":"20 r3 04 00 v0"}]},
{ "name": "20 CAF=0x08", "msgs": [{"type":"send", "payload":"20 r3 08 00 v0"}]},
{ "name": "20 CAF=0x10", "msgs": [{"type":"send", "payload":"20 r3 10 00 v0"}]},
{ "name": "20 CAF=0x20", "msgs": [{"type":"send", "payload":"20 r3 20 00 v0"}]},
{ "name": "20 CAF=0x40", "msgs": [{"type":"send", "payload":"20 r3 40 00 v0"}]},
{ "name": "20 CAF=0x80", "msgs": [{"type":"send", "payload":"20 r3 80 00 v0"}]},
{ "name": "20 RC=0x01 (invalid)", "msgs": [{"type":"send", "payload":"20 r3 00 01 v0"}]},
{ "name": "20 RC=0x80 (unspecified error)", "msgs": [{"type":"send", "payload":"20 r3 00 80 v0"}]},
{ "name": "20 RC=0x81 (malformed packet)", "msgs": [{"type":"send", "payload":"20 r3 00 81 v0"}]},
{ "name": "20 RC=0x82 (protocol error)", "msgs": [{"type":"send", "payload":"20 r3 00 82 v0"}]},
{ "name": "20 RC=0x83 (implementation specific error)", "msgs": [{"type":"send", "payload":"20 r3 00 83 v0"}]},
{ "name": "20 RC=0x84 (unsupported protocol version)", "msgs": [{"type":"send", "payload":"20 r3 00 84 v0"}]},
{ "name": "20 RC=0x85 (client identifier not valid)", "msgs": [{"type":"send", "payload":"20 r3 00 85 v0"}]},
{ "name": "20 RC=0x86 (bad user name or password)", "msgs": [{"type":"send", "payload":"20 r3 00 86 v0"}]},
{ "name": "20 RC=0x87 (not authorised)", "msgs": [{"type":"send", "payload":"20 r3 00 87 v0"}]},
{ "name": "20 RC=0x88 (server unavailable)", "msgs": [{"type":"send", "payload":"20 r3 00 88 v0"}]},
{ "name": "20 RC=0x89 (server busy)", "msgs": [{"type":"send", "payload":"20 r3 00 89 v0"}]},
{ "name": "20 RC=0x8A (banned)", "msgs": [{"type":"send", "payload":"20 r3 00 8A v0"}]},
{ "name": "20 RC=0x8C (bad authentication method)", "msgs": [{"type":"send", "payload":"20 r3 00 8C v0"}]},
{ "name": "20 RC=0x90 (topic name invalid)", "msgs": [{"type":"send", "payload":"20 r3 00 90 v0"}]},
{ "name": "20 RC=0x95 (packet too large)", "msgs": [{"type":"send", "payload":"20 r3 00 95 v0"}]},
{ "name": "20 RC=0x97 (quota exceeded)", "msgs": [{"type":"send", "payload":"20 r3 00 97 v0"}]},
{ "name": "20 RC=0x99 (payload format invalid)", "msgs": [{"type":"send", "payload":"20 r3 00 99 v0"}]},
{ "name": "20 RC=0x9A (retain not supported)", "msgs": [{"type":"send", "payload":"20 r3 00 9A v0"}]},
{ "name": "20 RC=0x9B (qos not supported)", "msgs": [{"type":"send", "payload":"20 r3 00 9B v0"}]},
{ "name": "20 RC=0x9C (use another server)", "msgs": [{"type":"send", "payload":"20 r3 00 9C v0"}]},
{ "name": "20 RC=0x9D (server moved)", "msgs": [{"type":"send", "payload":"20 r3 00 9D v0"}]},
{ "name": "20 RC=0x9F (connection rate exceeded)", "msgs": [{"type":"send", "payload":"20 r3 00 9F v0"}]},
{ "name": "20 RC=0xFF (invalid)", "msgs": [{"type":"send", "payload":"20 r3 00 FF v0"}]}
]
},
{
@@ -82,24 +82,24 @@
"connack": false,
"expect_disconnect":false,
"tests": [
{ "name": "20 with session-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"20 08 00 00 05 1100000001"}]},
{ "name": "20 with receive-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"20 06 00 00 03210101"}]},
{ "name": "20 with maximum-qos (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 2400"}]},
{ "name": "20 with retain-available (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 2500"}]},
{ "name": "20 with maximum-packet-size (four byte integer)", "msgs": [{"type":"send", "payload":"20 08 00 00 05 2700000001"}]},
{ "name": "20 with maximum-packet-size (four byte integer)", "msgs": [{"type":"send", "payload":"20 08 00 00 05 2700000001"}]},
{ "name": "20 with topic-alias-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"20 06 00 00 03 220101"}]},
{ "name": "20 with reason-string property", "msgs": [{"type":"send", "payload":"20 07 00 00 04 1F000170"}]},
{ "name": "20 with reason-string property empty", "msgs": [{"type":"send", "payload":"20 06 00 00 03 1F 0000"}]},
{ "name": "20 with wildcard-subscription-available (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 2800"}]},
{ "name": "20 with subscription-identifier-available (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 2900"}]},
{ "name": "20 with server-keep-alive (two byte integer)", "msgs": [{"type":"send", "payload":"20 06 00 00 03 130101"}]},
{ "name": "20 with shared-subscription-available (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 2A00"}]},
{ "name": "20 with response-information (UTF-8 string)", "msgs": [{"type":"send", "payload":"20 07 00 00 04 1A000170"}]},
{ "name": "20 with server-reference (UTF-8 string)", "msgs": [{"type":"send", "payload":"20 07 00 00 04 1C000170"}]},
{ "name": "20 with authentication-method (UTF-8 string)", "msgs": [{"type":"send", "payload":"20 07 00 00 04 15000170"}]},
{ "name": "20 with authentication-data (binary data)", "msgs": [{"type":"send", "payload":"20 07 00 00 04 16000170"}]},
{ "name": "20 with user-property", "msgs": [{"type":"send", "payload":"20 0A 00 00 07 26000170000171"}]}
{ "name": "20 with session-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"20 r8 00 00 v5 11 L1"}]},
{ "name": "20 with receive-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"20 r6 00 00 v3 21 H5"}]},
{ "name": "20 with maximum-qos (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 24 i0"}]},
{ "name": "20 with retain-available (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 25 i0"}]},
{ "name": "20 with maximum-packet-size (four byte integer)", "msgs": [{"type":"send", "payload":"20 r8 00 00 v5 27 L1"}]},
{ "name": "20 with maximum-packet-size (four byte integer)", "msgs": [{"type":"send", "payload":"20 r8 00 00 v5 27 L1"}]},
{ "name": "20 with topic-alias-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"20 r6 00 00 v3 22 H5"}]},
{ "name": "20 with reason-string property", "msgs": [{"type":"send", "payload":"20 r7 00 00 v4 1F s1 'p'"}]},
{ "name": "20 with reason-string property empty", "msgs": [{"type":"send", "payload":"20 r6 00 00 v3 1F s0"}]},
{ "name": "20 with wildcard-subscription-available (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 28 i0"}]},
{ "name": "20 with subscription-identifier-available (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 29 i0"}]},
{ "name": "20 with server-keep-alive (two byte integer)", "msgs": [{"type":"send", "payload":"20 r6 00 00 v3 13 H5"}]},
{ "name": "20 with shared-subscription-available (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 2A i0"}]},
{ "name": "20 with response-information (UTF-8 string)", "msgs": [{"type":"send", "payload":"20 r7 00 00 v4 1A s1 'p'"}]},
{ "name": "20 with server-reference (UTF-8 string)", "msgs": [{"type":"send", "payload":"20 r7 00 00 v4 1C s1 'p'"}]},
{ "name": "20 with authentication-method (UTF-8 string)", "msgs": [{"type":"send", "payload":"20 r7 00 00 v4 15 s1 'p'"}]},
{ "name": "20 with authentication-data (binary data)", "msgs": [{"type":"send", "payload":"20 r7 00 00 v4 16 s1 'p'"}]},
{ "name": "20 with user-property", "msgs": [{"type":"send", "payload":"20 r10 00 00 07 26 s1 'p' s1 'q'"}]}
]
},
{
@@ -109,27 +109,27 @@
"connack": false,
"expect_disconnect":true,
"tests": [
{ "name": "20 with session-expiry-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 11"}]},
{ "name": "20 with receive-maximum (two byte integer) 0 value", "msgs": [{"type":"send", "payload":"20 06 00 00 03 21 0000"}]},
{ "name": "20 with receive-maximum (two byte integer) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 21"}]},
{ "name": "20 with assigned-client-identifier (UTF-8 string)", "msgs": [{"type":"send", "payload":"20 07 00 00 04 12000170"}]},
{ "name": "20 with maximum-qos (byte) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 24"}]},
{ "name": "20 with maximum-qos (byte) 2 value", "msgs": [{"type":"send", "payload":"20 05 00 00 02 2402"}]},
{ "name": "20 with retain-available (byte) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 25"}]},
{ "name": "20 with maximum-packet-size (four byte integer) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 27"}]},
{ "name": "20 with assigned-client-identifier (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 12"}]},
{ "name": "20 with topic-alias-maximum (two byte integer) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 22"}]},
{ "name": "20 with reason-string property missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 1F"}]},
{ "name": "20 with wildcard-subscription-available (byte) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 28"}]},
{ "name": "20 with subscription-identifier-available (byte) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 29"}]},
{ "name": "20 with server-keep-alive (two byte integer) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 13"}]},
{ "name": "20 with shared-subscription-available (byte) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 2A"}]},
{ "name": "20 with response-information (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 1A"}]},
{ "name": "20 with server-reference (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 1C"}]},
{ "name": "20 with authentication-method (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 15"}]},
{ "name": "20 with authentication-data (binary data) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 16"}]},
{ "name": "20 with user-property missing value", "msgs": [{"type":"send", "payload":"20 07 00 00 04 26000170"}]},
{ "name": "20 with user-property missing key,value", "msgs": [{"type":"send", "payload":"20 04 00 00 01 26"}]}
{ "name": "20 with session-expiry-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 11"}]},
{ "name": "20 with receive-maximum (two byte integer) 0 value", "msgs": [{"type":"send", "payload":"20 r6 00 00 v3 21 H0"}]},
{ "name": "20 with receive-maximum (two byte integer) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 21"}]},
{ "name": "20 with assigned-client-identifier (UTF-8 string)", "msgs": [{"type":"send", "payload":"20 r7 00 00 v4 12 s1 'p'"}]},
{ "name": "20 with maximum-qos (byte) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 24"}]},
{ "name": "20 with maximum-qos (byte) 2 value", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 24 i2"}]},
{ "name": "20 with retain-available (byte) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 25"}]},
{ "name": "20 with maximum-packet-size (four byte integer) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 27"}]},
{ "name": "20 with assigned-client-identifier (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 12"}]},
{ "name": "20 with topic-alias-maximum (two byte integer) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 22"}]},
{ "name": "20 with reason-string property missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 01 1F"}]},
{ "name": "20 with wildcard-subscription-available (byte) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 28"}]},
{ "name": "20 with subscription-identifier-available (byte) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 29"}]},
{ "name": "20 with server-keep-alive (two byte integer) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 13"}]},
{ "name": "20 with shared-subscription-available (byte) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 2A"}]},
{ "name": "20 with response-information (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 01 1A"}]},
{ "name": "20 with server-reference (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 1C"}]},
{ "name": "20 with authentication-method (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 15"}]},
{ "name": "20 with authentication-data (binary data) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 16"}]},
{ "name": "20 with user-property missing value", "msgs": [{"type":"send", "payload":"20 r7 00 00 04 26 s1 'p'"}]},
{ "name": "20 with user-property missing key,value", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 26"}]}
]
},
{
@@ -138,48 +138,48 @@
"ver":5,
"connack": false,
"tests": [
{ "name": "20 with payload-format-indicator (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 0100"}]},
{ "name": "20 with request-problem-information (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 1700"}]},
{ "name": "20 with payload-format-indicator (byte) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 01"}]},
{ "name": "20 with request-problem-information (byte) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 17"}]},
{ "name": "20 with message-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"20 08 00 00 05 0200000001"}]},
{ "name": "20 with will-delay-interval (four byte integer)", "msgs": [{"type":"send", "payload":"20 08 00 00 05 1800000001"}]},
{ "name": "20 with message-expiry-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 02"}]},
{ "name": "20 with will-delay-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 18"}]},
{ "name": "20 with content-type (UTF-8 string)", "msgs": [{"type":"send", "payload":"20 07 00 00 04 03000170"}]},
{ "name": "20 with response-topic (UTF-8 string)", "msgs": [{"type":"send", "payload":"20 07 00 00 04 08000170"}]},
{ "name": "20 with content-type (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 03"}]},
{ "name": "20 with response-topic (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 08"}]},
{ "name": "20 with correlation-data (binary data)", "msgs": [{"type":"send", "payload":"20 07 00 00 04 09000170"}]},
{ "name": "20 with correlation-data (binary data) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 09"}]},
{ "name": "20 with subscription-identifier (variable byte integer)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 0B01"}]},
{ "name": "20 with subscription-identifier (variable byte integer) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 0B"}]},
{ "name": "20 with topic-alias (two byte integer)", "msgs": [{"type":"send", "payload":"20 06 00 00 03 230101"}]},
{ "name": "20 with topic-alias (two byte integer) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 01 23"}]},
{ "name": "20 with invalid-property 0x00 (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 0001"}]},
{ "name": "20 with unknown-property 0x04 (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 0401"}]},
{ "name": "20 with unknown-property 0x05 (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 0501"}]},
{ "name": "20 with unknown-property 0x06 (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 0601"}]},
{ "name": "20 with unknown-property 0x07 (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 0701"}]},
{ "name": "20 with unknown-property 0x0A (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 0A01"}]},
{ "name": "20 with unknown-property 0x0C (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 0C01"}]},
{ "name": "20 with unknown-property 0x0D (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 0D01"}]},
{ "name": "20 with unknown-property 0x0E (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 0E01"}]},
{ "name": "20 with unknown-property 0x0F (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 0F01"}]},
{ "name": "20 with unknown-property 0x10 (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 1001"}]},
{ "name": "20 with unknown-property 0x14 (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 1401"}]},
{ "name": "20 with unknown-property 0x1B (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 1B01"}]},
{ "name": "20 with unknown-property 0x1D (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 1D01"}]},
{ "name": "20 with unknown-property 0x1E (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 1E01"}]},
{ "name": "20 with unknown-property 0x20 (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 2001"}]},
{ "name": "20 with unknown-property 0x7F (byte)", "msgs": [{"type":"send", "payload":"20 05 00 00 02 7F01"}]},
{ "name": "20 with invalid-property 0x8000 (byte)", "msgs": [{"type":"send", "payload":"20 06 00 00 03 800001"}]},
{ "name": "20 with unknown-property 0x8001 (byte)", "msgs": [{"type":"send", "payload":"20 06 00 00 03 800101"}]},
{ "name": "20 with unknown-property 0xFF7F (byte)", "msgs": [{"type":"send", "payload":"20 06 00 00 03 FF7F01"}]},
{ "name": "20 with unknown-property 0x808001 (byte)", "msgs": [{"type":"send", "payload":"20 07 00 00 04 80800101"}]},
{ "name": "20 with unknown-property 0xFFFF7F (byte)", "msgs": [{"type":"send", "payload":"20 07 00 00 04 FFFF7F01"}]},
{ "name": "20 with unknown-property 0x80808001 (byte)", "msgs": [{"type":"send", "payload":"20 08 00 00 05 8080800101"}]},
{ "name": "20 with unknown-property 0xFFFFFF7F (byte)", "msgs": [{"type":"send", "payload":"20 08 00 00 05 FFFFFF7F01"}]}
{ "name": "20 with payload-format-indicator (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 01 i0"}]},
{ "name": "20 with request-problem-information (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 17 i0"}]},
{ "name": "20 with payload-format-indicator (byte) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 01"}]},
{ "name": "20 with request-problem-information (byte) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 17"}]},
{ "name": "20 with message-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"20 r8 00 00 v5 02 L1"}]},
{ "name": "20 with will-delay-interval (four byte integer)", "msgs": [{"type":"send", "payload":"20 r8 00 00 v5 18 L1"}]},
{ "name": "20 with message-expiry-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 02"}]},
{ "name": "20 with will-delay-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 18"}]},
{ "name": "20 with content-type (UTF-8 string)", "msgs": [{"type":"send", "payload":"20 r7 00 00 v4 03 s1 'p'"}]},
{ "name": "20 with response-topic (UTF-8 string)", "msgs": [{"type":"send", "payload":"20 r7 00 00 v4 08 s1 'p'"}]},
{ "name": "20 with content-type (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 03"}]},
{ "name": "20 with response-topic (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 08"}]},
{ "name": "20 with correlation-data (binary data)", "msgs": [{"type":"send", "payload":"20 r7 00 00 v4 09 s1 'p'"}]},
{ "name": "20 with correlation-data (binary data) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 09"}]},
{ "name": "20 with subscription-identifier (variable byte integer)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 0B i1"}]},
{ "name": "20 with subscription-identifier (variable byte integer) missing", "msgs": [{"type":"send", "payload":"20 04 00 00 v1 0B"}]},
{ "name": "20 with topic-alias (two byte integer)", "msgs": [{"type":"send", "payload":"20 r6 00 00 v3 23 H5"}]},
{ "name": "20 with topic-alias (two byte integer) missing", "msgs": [{"type":"send", "payload":"20 r4 00 00 v1 23"}]},
{ "name": "20 with invalid-property 0x00 (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 00 i1"}]},
{ "name": "20 with unknown-property 0x04 (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 04 i1"}]},
{ "name": "20 with unknown-property 0x05 (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 05 i1"}]},
{ "name": "20 with unknown-property 0x06 (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 06 i1"}]},
{ "name": "20 with unknown-property 0x07 (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 07 i1"}]},
{ "name": "20 with unknown-property 0x0A (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 0A i1"}]},
{ "name": "20 with unknown-property 0x0C (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 0C i1"}]},
{ "name": "20 with unknown-property 0x0D (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 0D i1"}]},
{ "name": "20 with unknown-property 0x0E (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 0E i1"}]},
{ "name": "20 with unknown-property 0x0F (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 0F i1"}]},
{ "name": "20 with unknown-property 0x10 (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 10 i1"}]},
{ "name": "20 with unknown-property 0x14 (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 14 i1"}]},
{ "name": "20 with unknown-property 0x1B (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 1B i1"}]},
{ "name": "20 with unknown-property 0x1D (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 1D i1"}]},
{ "name": "20 with unknown-property 0x1E (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 1E i1"}]},
{ "name": "20 with unknown-property 0x20 (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 20 i1"}]},
{ "name": "20 with unknown-property 0x7F (byte)", "msgs": [{"type":"send", "payload":"20 r5 00 00 v2 7F i1"}]},
{ "name": "20 with invalid-property 0x8000 (byte)", "msgs": [{"type":"send", "payload":"20 r6 00 00 v3 8000 i1"}]},
{ "name": "20 with unknown-property 0x8001 (byte)", "msgs": [{"type":"send", "payload":"20 r6 00 00 v3 8001 i1"}]},
{ "name": "20 with unknown-property 0xFF7F (byte)", "msgs": [{"type":"send", "payload":"20 r6 00 00 v3 FF7F i1"}]},
{ "name": "20 with unknown-property 0x808001 (byte)", "msgs": [{"type":"send", "payload":"20 r7 00 00 v4 808001 i1"}]},
{ "name": "20 with unknown-property 0xFFFF7F (byte)", "msgs": [{"type":"send", "payload":"20 r7 00 00 v4 FFFF7F i1"}]},
{ "name": "20 with unknown-property 0x80808001 (byte)", "msgs": [{"type":"send", "payload":"20 r8 00 00 v5 80808001 i1"}]},
{ "name": "20 with unknown-property 0xFFFFFF7F (byte)", "msgs": [{"type":"send", "payload":"20 r8 00 00 v5 FFFFFF7F i1"}]}
]
}
]

File diff suppressed because it is too large Load Diff

View File

@@ -3,161 +3,161 @@
"group": "v3.1.1 DISCONNECT",
"ver":4,
"tests": [
{ "name": "E0 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"E0 00"}]},
{ "name": "E0 long", "msgs": [{"type":"send", "payload":"E0 01 00"}]},
{ "name": "E0 valid", "msgs": [{"type":"send", "payload":"E0 00"}]},
{ "name": "E1 [MQTT-3.14.1-1]", "msgs": [{"type":"send", "payload":"E1 00"}]},
{ "name": "E2 [MQTT-3.14.1-1]", "msgs": [{"type":"send", "payload":"E2 00"}]},
{ "name": "E4 [MQTT-3.14.1-1]", "msgs": [{"type":"send", "payload":"E4 00"}]},
{ "name": "E8 [MQTT-3.14.1-1]", "msgs": [{"type":"send", "payload":"E8 00"}]}
{ "name": "E0 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"E0 r0"}]},
{ "name": "E0 long", "msgs": [{"type":"send", "payload":"E0 r1 00"}]},
{ "name": "E0 valid", "msgs": [{"type":"send", "payload":"E0 r0"}]},
{ "name": "E1 [MQTT-3.14.1-1]", "msgs": [{"type":"send", "payload":"E1 r0"}]},
{ "name": "E2 [MQTT-3.14.1-1]", "msgs": [{"type":"send", "payload":"E2 r0"}]},
{ "name": "E4 [MQTT-3.14.1-1]", "msgs": [{"type":"send", "payload":"E4 r0"}]},
{ "name": "E8 [MQTT-3.14.1-1]", "msgs": [{"type":"send", "payload":"E8 r0"}]}
]
},
{
"group": "v5.0 DISCONNECT",
"ver":5,
"tests": [
{ "name": "E0 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"E0 00"}]},
{ "name": "E0 long", "msgs": [{"type":"send", "payload":"E0 01 00"}]},
{ "name": "E0 valid", "msgs": [{"type":"send", "payload":"E0 00"}]},
{ "name": "E1 [MQTT-3.14.1-1]", "msgs": [{"type":"send", "payload":"E1 00"}]},
{ "name": "E2 [MQTT-3.14.1-1]", "msgs": [{"type":"send", "payload":"E2 00"}]},
{ "name": "E4 [MQTT-3.14.1-1]", "msgs": [{"type":"send", "payload":"E4 00"}]},
{ "name": "E8 [MQTT-3.14.1-1]", "msgs": [{"type":"send", "payload":"E8 00"}]},
{ "name": "E0 RC=0x00 (normal disconnection)", "msgs": [{"type":"send", "payload":"E0 01 00"}]},
{ "name": "E0 RC=0x01 (qos 1 - invalid)", "msgs": [{"type":"send", "payload":"E0 01 01"}]},
{ "name": "E0 RC=0x04 (disconnect with will)", "msgs": [{"type":"send", "payload":"E0 01 04"}]},
{ "name": "E0 RC=0x05 (invalid)", "msgs": [{"type":"send", "payload":"E0 01 05"}]},
{ "name": "E0 RC=0x80 (unspecified error)", "msgs": [{"type":"send", "payload":"E0 01 80"}]},
{ "name": "E0 RC=0x81 (malformed packet)", "msgs": [{"type":"send", "payload":"E0 01 81"}]},
{ "name": "E0 RC=0x82 (protocol error)", "msgs": [{"type":"send", "payload":"E0 01 82"}]},
{ "name": "E0 RC=0x83 (implementation specific error)", "msgs": [{"type":"send", "payload":"E0 01 83"}]},
{ "name": "E0 RC=0x87 (not authorised - invalid)", "msgs": [{"type":"send", "payload":"E0 01 87"}]},
{ "name": "E0 RC=0x89 (server busy - invalid)", "msgs": [{"type":"send", "payload":"E0 01 89"}]},
{ "name": "E0 RC=0x8B (server shutting down - invalid)", "msgs": [{"type":"send", "payload":"E0 01 8B"}]},
{ "name": "E0 RC=0x8D (keep alive timeout - invalid)", "msgs": [{"type":"send", "payload":"E0 01 8D"}]},
{ "name": "E0 RC=0x8E (session taken over - invalid)", "msgs": [{"type":"send", "payload":"E0 01 8E"}]},
{ "name": "E0 RC=0x8F (topic filter invalid - invalid)", "msgs": [{"type":"send", "payload":"E0 01 8F"}]},
{ "name": "E0 RC=0x90 (topic name invalid)", "msgs": [{"type":"send", "payload":"E0 01 90"}]},
{ "name": "E0 RC=0x93 (receive maximum exceeded)", "msgs": [{"type":"send", "payload":"E0 01 93"}]},
{ "name": "E0 RC=0x94 (topic alias invalid)", "msgs": [{"type":"send", "payload":"E0 01 94"}]},
{ "name": "E0 RC=0x95 (packet too large)", "msgs": [{"type":"send", "payload":"E0 01 95"}]},
{ "name": "E0 RC=0x96 (message rate too high)", "msgs": [{"type":"send", "payload":"E0 01 96"}]},
{ "name": "E0 RC=0x97 (quota exceeded)", "msgs": [{"type":"send", "payload":"E0 01 97"}]},
{ "name": "E0 RC=0x98 (administrative action)", "msgs": [{"type":"send", "payload":"E0 01 98"}]},
{ "name": "E0 RC=0x99 (payload format invalid)", "msgs": [{"type":"send", "payload":"E0 01 99"}]},
{ "name": "E0 RC=0x9A (retain not supported - invalid)", "msgs": [{"type":"send", "payload":"E0 01 9A"}]},
{ "name": "E0 RC=0x9B (qos not supported - invalid)", "msgs": [{"type":"send", "payload":"E0 01 9B"}]},
{ "name": "E0 RC=0x9C (use another server - invalid)", "msgs": [{"type":"send", "payload":"E0 01 9C"}]},
{ "name": "E0 RC=0x9D (server moved - invalid)", "msgs": [{"type":"send", "payload":"E0 01 9D"}]},
{ "name": "E0 RC=0x9E (shared subs not supported - invalid)", "msgs": [{"type":"send", "payload":"E0 01 9E"}]},
{ "name": "E0 RC=0x9F (connection rate exceeded - invalid)", "msgs": [{"type":"send", "payload":"E0 01 9F"}]},
{ "name": "E0 RC=0xA0 (maximum connect time - invalid)", "msgs": [{"type":"send", "payload":"E0 01 A0"}]},
{ "name": "E0 RC=0xA1 (subscription ids not supported - invalid)", "msgs": [{"type":"send", "payload":"E0 01 A1"}]},
{ "name": "E0 RC=0xA2 (wildcard subs not supported - invalid)", "msgs": [{"type":"send", "payload":"E0 01 A2"}]},
{ "name": "E0 RC=0x82 PL=0", "msgs": [{"type":"send", "payload":"E0 02 82 00"}]},
{ "name": "E0 RC=0x00 PL=1 P=0", "msgs": [{"type":"send", "payload":"E0 03 00 01 00"}]},
{ "name": "E0 RC=0x00 PL=1 P=0x11", "msgs": [{"type":"send", "payload":"E0 03 00 01 11"}]},
{ "name": "E0 RC=0x00 PL=2 P=0x11", "msgs": [{"type":"send", "payload":"E0 04 00 02 1100"}]},
{ "name": "E0 RC=0x00 PL=3 P=0x11", "msgs": [{"type":"send", "payload":"E0 05 00 03 110000"}]},
{ "name": "E0 RC=0x00 PL=4 P=0x11", "msgs": [{"type":"send", "payload":"E0 06 00 04 11000000"}]},
{ "name": "E0 RC=0x00 PL=5 P=0x11", "msgs": [{"type":"send", "payload":"E0 07 00 05 1100000000"}]}
{ "name": "E0 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"E0 r0"}]},
{ "name": "E0 long", "msgs": [{"type":"send", "payload":"E0 r1 00"}]},
{ "name": "E0 valid", "msgs": [{"type":"send", "payload":"E0 r0"}]},
{ "name": "E1 [MQTT-3.14.1-1]", "msgs": [{"type":"send", "payload":"E1 r0"}]},
{ "name": "E2 [MQTT-3.14.1-1]", "msgs": [{"type":"send", "payload":"E2 r0"}]},
{ "name": "E4 [MQTT-3.14.1-1]", "msgs": [{"type":"send", "payload":"E4 r0"}]},
{ "name": "E8 [MQTT-3.14.1-1]", "msgs": [{"type":"send", "payload":"E8 r0"}]},
{ "name": "E0 RC=0x00 (normal disconnection)", "msgs": [{"type":"send", "payload":"E0 r1 00"}]},
{ "name": "E0 RC=0x01 (qos 1 - invalid)", "msgs": [{"type":"send", "payload":"E0 r1 01"}]},
{ "name": "E0 RC=0x04 (disconnect with will)", "msgs": [{"type":"send", "payload":"E0 r1 04"}]},
{ "name": "E0 RC=0x05 (invalid)", "msgs": [{"type":"send", "payload":"E0 r1 05"}]},
{ "name": "E0 RC=0x80 (unspecified error)", "msgs": [{"type":"send", "payload":"E0 r1 80"}]},
{ "name": "E0 RC=0x81 (malformed packet)", "msgs": [{"type":"send", "payload":"E0 r1 81"}]},
{ "name": "E0 RC=0x82 (protocol error)", "msgs": [{"type":"send", "payload":"E0 r1 82"}]},
{ "name": "E0 RC=0x83 (implementation specific error)", "msgs": [{"type":"send", "payload":"E0 r1 83"}]},
{ "name": "E0 RC=0x87 (not authorised - invalid)", "msgs": [{"type":"send", "payload":"E0 r1 87"}]},
{ "name": "E0 RC=0x89 (server busy - invalid)", "msgs": [{"type":"send", "payload":"E0 r1 89"}]},
{ "name": "E0 RC=0x8B (server shutting down - invalid)", "msgs": [{"type":"send", "payload":"E0 r1 8B"}]},
{ "name": "E0 RC=0x8D (keep alive timeout - invalid)", "msgs": [{"type":"send", "payload":"E0 r1 8D"}]},
{ "name": "E0 RC=0x8E (session taken over - invalid)", "msgs": [{"type":"send", "payload":"E0 r1 8E"}]},
{ "name": "E0 RC=0x8F (topic filter invalid - invalid)", "msgs": [{"type":"send", "payload":"E0 r1 8F"}]},
{ "name": "E0 RC=0x90 (topic name invalid)", "msgs": [{"type":"send", "payload":"E0 r1 90"}]},
{ "name": "E0 RC=0x93 (receive maximum exceeded)", "msgs": [{"type":"send", "payload":"E0 r1 93"}]},
{ "name": "E0 RC=0x94 (topic alias invalid)", "msgs": [{"type":"send", "payload":"E0 r1 94"}]},
{ "name": "E0 RC=0x95 (packet too large)", "msgs": [{"type":"send", "payload":"E0 r1 95"}]},
{ "name": "E0 RC=0x96 (message rate too high)", "msgs": [{"type":"send", "payload":"E0 r1 96"}]},
{ "name": "E0 RC=0x97 (quota exceeded)", "msgs": [{"type":"send", "payload":"E0 r1 97"}]},
{ "name": "E0 RC=0x98 (administrative action)", "msgs": [{"type":"send", "payload":"E0 r1 98"}]},
{ "name": "E0 RC=0x99 (payload format invalid)", "msgs": [{"type":"send", "payload":"E0 r1 99"}]},
{ "name": "E0 RC=0x9A (retain not supported - invalid)", "msgs": [{"type":"send", "payload":"E0 r1 9A"}]},
{ "name": "E0 RC=0x9B (qos not supported - invalid)", "msgs": [{"type":"send", "payload":"E0 r1 9B"}]},
{ "name": "E0 RC=0x9C (use another server - invalid)", "msgs": [{"type":"send", "payload":"E0 r1 9C"}]},
{ "name": "E0 RC=0x9D (server moved - invalid)", "msgs": [{"type":"send", "payload":"E0 r1 9D"}]},
{ "name": "E0 RC=0x9E (shared subs not supported - invalid)", "msgs": [{"type":"send", "payload":"E0 r1 9E"}]},
{ "name": "E0 RC=0x9F (connection rate exceeded - invalid)", "msgs": [{"type":"send", "payload":"E0 r1 9F"}]},
{ "name": "E0 RC=0xA0 (maximum connect time - invalid)", "msgs": [{"type":"send", "payload":"E0 r1 A0"}]},
{ "name": "E0 RC=0xA1 (subscription ids not supported - invalid)", "msgs": [{"type":"send", "payload":"E0 r1 A1"}]},
{ "name": "E0 RC=0xA2 (wildcard subs not supported - invalid)", "msgs": [{"type":"send", "payload":"E0 r1 A2"}]},
{ "name": "E0 RC=0x82 PL=0", "msgs": [{"type":"send", "payload":"E0 r2 82 00"}]},
{ "name": "E0 RC=0x00 PL=1 P=0", "msgs": [{"type":"send", "payload":"E0 r3 00 01 00"}]},
{ "name": "E0 RC=0x00 PL=1 P=0x11", "msgs": [{"type":"send", "payload":"E0 r3 00 01 11"}]},
{ "name": "E0 RC=0x00 PL=2 P=0x11", "msgs": [{"type":"send", "payload":"E0 r4 00 02 1100"}]},
{ "name": "E0 RC=0x00 PL=3 P=0x11", "msgs": [{"type":"send", "payload":"E0 r5 00 03 110000"}]},
{ "name": "E0 RC=0x00 PL=4 P=0x11", "msgs": [{"type":"send", "payload":"E0 r6 00 04 11000000"}]},
{ "name": "E0 RC=0x00 PL=5 P=0x11", "msgs": [{"type":"send", "payload":"E0 r7 00 05 1100000000"}]}
]
},
{
"group": "v5.0 DISCONNECT ALLOWED PROPERTIES",
"ver":5,
"tests": [
{ "name": "E0 with reason-string property", "msgs": [{"type":"send", "payload":"E0 06 00 04 1F000170"}]},
{ "name": "E0 with 2*reason-string property (invalid)", "msgs": [{"type":"send", "payload":"E0 0A 00 08 1F000170 1F000171"}]},
{ "name": "E0 with reason-string property missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 1F"}]},
{ "name": "E0 with reason-string property empty", "msgs": [{"type":"send", "payload":"E0 05 00 03 1F 0000"}]},
{ "name": "E0 with user-property", "msgs": [{"type":"send", "payload":"E0 09 00 07 26000170000171"}]},
{ "name": "E0 with user-property missing value", "msgs": [{"type":"send", "payload":"E0 06 00 04 26000170"}]},
{ "name": "E0 with user-property missing key,value", "msgs": [{"type":"send", "payload":"E0 03 00 01 26"}]},
{ "name": "E0 with user-property empty key", "msgs": [{"type":"send", "payload":"E0 08 00 06 26 0000 0001 70"}]},
{ "name": "E0 with user-property empty key,value", "msgs": [{"type":"send", "payload":"E0 08 00 06 26 0001 70 0000"}]},
{ "name": "E0 with user-property empty key,value", "msgs": [{"type":"send", "payload":"E0 07 00 05 26 0000 0000"}]},
{ "name": "E0 with session-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"E0 07 00 05 1100000000"}]},
{ "name": "E0 with 2*session-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"E0 0C 00 0A 1100000000 1100000000"}]},
{ "name": "E0 with session-expiry-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 11"}]},
{ "name": "E0 with server-reference (UTF-8 string)", "msgs": [{"type":"send", "payload":"E0 06 00 04 1C000170"}]},
{ "name": "E0 with 2*server-reference (UTF-8 string)", "msgs": [{"type":"send", "payload":"E0 0A 00 08 1C000170 1C000171"}]},
{ "name": "E0 with server-reference (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 1C"}]},
{ "name": "E0 with server-reference (UTF-8 string) empty", "msgs": [{"type":"send", "payload":"E0 05 00 03 1C 0000"}]}
{ "name": "E0 with reason-string property", "msgs": [{"type":"send", "payload":"E0 r6 00 04 1F s1 'p'"}]},
{ "name": "E0 with 2*reason-string property (invalid)", "msgs": [{"type":"send", "payload":"E0 r10 00 v8 1F s1 'p' 1F s1 'q'"}]},
{ "name": "E0 with reason-string property missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 1F"}]},
{ "name": "E0 with reason-string property empty", "msgs": [{"type":"send", "payload":"E0 r5 00 v3 1F s0"}]},
{ "name": "E0 with user-property", "msgs": [{"type":"send", "payload":"E0 r9 00 v7 26 s1 'p' s1 'q'"}]},
{ "name": "E0 with user-property missing value", "msgs": [{"type":"send", "payload":"E0 r6 00 v4 26 s1 'p'"}]},
{ "name": "E0 with user-property missing key,value", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 26"}]},
{ "name": "E0 with user-property empty key", "msgs": [{"type":"send", "payload":"E0 r8 00 v6 26 s0 s1 'p'"}]},
{ "name": "E0 with user-property empty key,value", "msgs": [{"type":"send", "payload":"E0 r8 00 v6 26 s1 'p' s0"}]},
{ "name": "E0 with user-property empty key,value", "msgs": [{"type":"send", "payload":"E0 r7 00 v5 26 s0 s0"}]},
{ "name": "E0 with session-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"E0 r7 00 v5 11 L0"}]},
{ "name": "E0 with 2*session-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"E0 r12 00 v10 11 L0 11 L0"}]},
{ "name": "E0 with session-expiry-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 11"}]},
{ "name": "E0 with server-reference (UTF-8 string)", "msgs": [{"type":"send", "payload":"E0 r6 00 v4 1C s1 'p'"}]},
{ "name": "E0 with 2*server-reference (UTF-8 string)", "msgs": [{"type":"send", "payload":"E0 r10 00 v8 1C s1 'p' 1C s1 'q'"}]},
{ "name": "E0 with server-reference (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 1C"}]},
{ "name": "E0 with server-reference (UTF-8 string) empty", "msgs": [{"type":"send", "payload":"E0 r5 00 v3 1C s0"}]}
]
},
{
"group": "v5.0 DISCONNECT DISALLOWED PROPERTIES",
"ver":5,
"tests": [
{ "name": "E0 with payload-format-indicator (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 0100"}]},
{ "name": "E0 with request-problem-information (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 1700"}]},
{ "name": "E0 with maximum-qos (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 2400"}]},
{ "name": "E0 with retain-available (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 2500"}]},
{ "name": "E0 with wildcard-subscription-available (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 2800"}]},
{ "name": "E0 with subscription-identifier-available (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 2900"}]},
{ "name": "E0 with shared-subscription-available (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 2A00"}]},
{ "name": "E0 with payload-format-indicator (byte) missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 01"}]},
{ "name": "E0 with request-problem-information (byte) missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 17"}]},
{ "name": "E0 with maximum-qos (byte) missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 24"}]},
{ "name": "E0 with retain-available (byte) missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 25"}]},
{ "name": "E0 with wildcard-subscription-available (byte) missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 28"}]},
{ "name": "E0 with subscription-identifier-available (byte) missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 29"}]},
{ "name": "E0 with shared-subscription-available (byte) missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 2A"}]},
{ "name": "E0 with message-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"E0 07 00 05 0200000001"}]},
{ "name": "E0 with will-delay-interval (four byte integer)", "msgs": [{"type":"send", "payload":"E0 07 00 05 1800000001"}]},
{ "name": "E0 with maximum-packet-size (four byte integer)", "msgs": [{"type":"send", "payload":"E0 07 00 05 2700000001"}]},
{ "name": "E0 with message-expiry-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 02"}]},
{ "name": "E0 with will-delay-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 18"}]},
{ "name": "E0 with maximum-packet-size (four byte integer) missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 27"}]},
{ "name": "E0 with content-type (UTF-8 string)", "msgs": [{"type":"send", "payload":"E0 06 00 04 03000170"}]},
{ "name": "E0 with response-topic (UTF-8 string)", "msgs": [{"type":"send", "payload":"E0 06 00 04 08000170"}]},
{ "name": "E0 with assigned-client-identifier (UTF-8 string)", "msgs": [{"type":"send", "payload":"E0 06 00 04 12000170"}]},
{ "name": "E0 with authentication-method (UTF-8 string)", "msgs": [{"type":"send", "payload":"E0 06 00 04 15000170"}]},
{ "name": "E0 with response-information (UTF-8 string)", "msgs": [{"type":"send", "payload":"E0 06 00 04 1A000170"}]},
{ "name": "E0 with content-type (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 03"}]},
{ "name": "E0 with response-topic (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 08"}]},
{ "name": "E0 with assigned-client-identifier (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 12"}]},
{ "name": "E0 with authentication-method (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 15"}]},
{ "name": "E0 with response-information (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 1A"}]},
{ "name": "E0 with correlation-data (binary data)", "msgs": [{"type":"send", "payload":"E0 06 00 04 09000170"}]},
{ "name": "E0 with authentication-data (binary data)", "msgs": [{"type":"send", "payload":"E0 06 00 04 16000170"}]},
{ "name": "E0 with correlation-data (binary data) missing", "msgs": [{"type":"send", "payload":"E0 03 00 0109"}]},
{ "name": "E0 with authentication-data (binary data) missing", "msgs": [{"type":"send", "payload":"E0 03 00 0116"}]},
{ "name": "E0 with subscription-identifier (variable byte integer)", "msgs": [{"type":"send", "payload":"E0 04 00 02 0B01"}]},
{ "name": "E0 with subscription-identifier (variable byte integer) missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 0B"}]},
{ "name": "E0 with server-keep-alive (two byte integer)", "msgs": [{"type":"send", "payload":"E0 05 00 03 130101"}]},
{ "name": "E0 with receive-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"E0 05 00 03 210101"}]},
{ "name": "E0 with topic-alias-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"E0 05 00 03 220101"}]},
{ "name": "E0 with topic-alias (two byte integer)", "msgs": [{"type":"send", "payload":"E0 05 00 03 230101"}]},
{ "name": "E0 with server-keep-alive (two byte integer) missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 13"}]},
{ "name": "E0 with receive-maximum (two byte integer) missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 21"}]},
{ "name": "E0 with topic-alias-maximum (two byte integer) missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 22"}]},
{ "name": "E0 with topic-alias (two byte integer) missing", "msgs": [{"type":"send", "payload":"E0 03 00 01 23"}]},
{ "name": "E0 with invalid-property 0x00 (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 0001"}]},
{ "name": "E0 with unknown-property 0x04 (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 0401"}]},
{ "name": "E0 with unknown-property 0x05 (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 0501"}]},
{ "name": "E0 with unknown-property 0x06 (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 0601"}]},
{ "name": "E0 with unknown-property 0x07 (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 0701"}]},
{ "name": "E0 with unknown-property 0x0A (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 0A01"}]},
{ "name": "E0 with unknown-property 0x0C (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 0C01"}]},
{ "name": "E0 with unknown-property 0x0D (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 0D01"}]},
{ "name": "E0 with unknown-property 0x0E (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 0E01"}]},
{ "name": "E0 with unknown-property 0x0F (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 0F01"}]},
{ "name": "E0 with unknown-property 0x10 (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 1001"}]},
{ "name": "E0 with unknown-property 0x14 (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 1401"}]},
{ "name": "E0 with unknown-property 0x1B (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 1B01"}]},
{ "name": "E0 with unknown-property 0x1D (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 1D01"}]},
{ "name": "E0 with unknown-property 0x1E (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 1E01"}]},
{ "name": "E0 with unknown-property 0x20 (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 2001"}]},
{ "name": "E0 with unknown-property 0x7F (byte)", "msgs": [{"type":"send", "payload":"E0 04 00 02 7F01"}]},
{ "name": "E0 with invalid-property 0x8000 (byte)", "msgs": [{"type":"send", "payload":"E0 05 00 03 800001"}]},
{ "name": "E0 with unknown-property 0x8001 (byte)", "msgs": [{"type":"send", "payload":"E0 05 00 03 800101"}]},
{ "name": "E0 with unknown-property 0xFF7F (byte)", "msgs": [{"type":"send", "payload":"E0 05 00 03 FF7F01"}]},
{ "name": "E0 with unknown-property 0x808001 (byte)", "msgs": [{"type":"send", "payload":"E0 06 00 04 80800101"}]},
{ "name": "E0 with unknown-property 0xFFFF7F (byte)", "msgs": [{"type":"send", "payload":"E0 06 00 04 FFFF7F01"}]},
{ "name": "E0 with unknown-property 0x80808001 (byte)", "msgs": [{"type":"send", "payload":"E0 07 00 05 8080800101"}]},
{ "name": "E0 with unknown-property 0xFFFFFF7F (byte)", "msgs": [{"type":"send", "payload":"E0 07 00 05 FFFFFF7F01"}]}
{ "name": "E0 with payload-format-indicator (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 01 i0"}]},
{ "name": "E0 with request-problem-information (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 17 i0"}]},
{ "name": "E0 with maximum-qos (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 24 i0"}]},
{ "name": "E0 with retain-available (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 25 i0"}]},
{ "name": "E0 with wildcard-subscription-available (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 28 i0"}]},
{ "name": "E0 with subscription-identifier-available (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 29 i0"}]},
{ "name": "E0 with shared-subscription-available (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 2A i0"}]},
{ "name": "E0 with payload-format-indicator (byte) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 01"}]},
{ "name": "E0 with request-problem-information (byte) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 17"}]},
{ "name": "E0 with maximum-qos (byte) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 24"}]},
{ "name": "E0 with retain-available (byte) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 25"}]},
{ "name": "E0 with wildcard-subscription-available (byte) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 28"}]},
{ "name": "E0 with subscription-identifier-available (byte) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 29"}]},
{ "name": "E0 with shared-subscription-available (byte) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 2A"}]},
{ "name": "E0 with message-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"E0 r7 00 v5 02 L1"}]},
{ "name": "E0 with will-delay-interval (four byte integer)", "msgs": [{"type":"send", "payload":"E0 r7 00 v5 18 L1"}]},
{ "name": "E0 with maximum-packet-size (four byte integer)", "msgs": [{"type":"send", "payload":"E0 r7 00 v5 27 L1"}]},
{ "name": "E0 with message-expiry-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 02"}]},
{ "name": "E0 with will-delay-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 18"}]},
{ "name": "E0 with maximum-packet-size (four byte integer) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 27"}]},
{ "name": "E0 with content-type (UTF-8 string)", "msgs": [{"type":"send", "payload":"E0 r6 00 v4 03 s1 'p'"}]},
{ "name": "E0 with response-topic (UTF-8 string)", "msgs": [{"type":"send", "payload":"E0 r6 00 v4 08 s1 'p'"}]},
{ "name": "E0 with assigned-client-identifier (UTF-8 string)", "msgs": [{"type":"send", "payload":"E0 r6 00 v4 12 s1 'p'"}]},
{ "name": "E0 with authentication-method (UTF-8 string)", "msgs": [{"type":"send", "payload":"E0 r6 00 v4 15 s1 'p'"}]},
{ "name": "E0 with response-information (UTF-8 string)", "msgs": [{"type":"send", "payload":"E0 r6 00 v4 1A s1 'p'"}]},
{ "name": "E0 with content-type (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 03"}]},
{ "name": "E0 with response-topic (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 08"}]},
{ "name": "E0 with assigned-client-identifier (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 12"}]},
{ "name": "E0 with authentication-method (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 15"}]},
{ "name": "E0 with response-information (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 1A"}]},
{ "name": "E0 with correlation-data (binary data)", "msgs": [{"type":"send", "payload":"E0 r6 00 v4 09 s1 'p'"}]},
{ "name": "E0 with authentication-data (binary data)", "msgs": [{"type":"send", "payload":"E0 r6 00 v4 16 s1 'p'"}]},
{ "name": "E0 with correlation-data (binary data) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 09"}]},
{ "name": "E0 with authentication-data (binary data) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 16"}]},
{ "name": "E0 with subscription-identifier (variable byte integer)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 0B v1"}]},
{ "name": "E0 with subscription-identifier (variable byte integer) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 0B"}]},
{ "name": "E0 with server-keep-alive (two byte integer)", "msgs": [{"type":"send", "payload":"E0 r5 00 03 13 H5"}]},
{ "name": "E0 with receive-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"E0 r5 00 v3 21 H5"}]},
{ "name": "E0 with topic-alias-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"E0 r5 00 v3 22 H5"}]},
{ "name": "E0 with topic-alias (two byte integer)", "msgs": [{"type":"send", "payload":"E0 r5 00 v3 23 H5"}]},
{ "name": "E0 with server-keep-alive (two byte integer) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 13"}]},
{ "name": "E0 with receive-maximum (two byte integer) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 21"}]},
{ "name": "E0 with topic-alias-maximum (two byte integer) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 22"}]},
{ "name": "E0 with topic-alias (two byte integer) missing", "msgs": [{"type":"send", "payload":"E0 r3 00 v1 23"}]},
{ "name": "E0 with invalid-property 0x00 (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 00 i1"}]},
{ "name": "E0 with unknown-property 0x04 (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 04 i1"}]},
{ "name": "E0 with unknown-property 0x05 (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 05 i1"}]},
{ "name": "E0 with unknown-property 0x06 (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 06 i1"}]},
{ "name": "E0 with unknown-property 0x07 (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 07 i1"}]},
{ "name": "E0 with unknown-property 0x0A (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 0A i1"}]},
{ "name": "E0 with unknown-property 0x0C (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 0C i1"}]},
{ "name": "E0 with unknown-property 0x0D (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 0D i1"}]},
{ "name": "E0 with unknown-property 0x0E (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 0E i1"}]},
{ "name": "E0 with unknown-property 0x0F (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 0F i1"}]},
{ "name": "E0 with unknown-property 0x10 (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 10 i1"}]},
{ "name": "E0 with unknown-property 0x14 (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 14 i1"}]},
{ "name": "E0 with unknown-property 0x1B (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 1B i1"}]},
{ "name": "E0 with unknown-property 0x1D (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 1D i1"}]},
{ "name": "E0 with unknown-property 0x1E (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 1E i1"}]},
{ "name": "E0 with unknown-property 0x20 (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 20 i1"}]},
{ "name": "E0 with unknown-property 0x7F (byte)", "msgs": [{"type":"send", "payload":"E0 r4 00 v2 7F i1"}]},
{ "name": "E0 with invalid-property 0x8000 (byte)", "msgs": [{"type":"send", "payload":"E0 r5 00 v3 8000 i1"}]},
{ "name": "E0 with unknown-property 0x8001 (byte)", "msgs": [{"type":"send", "payload":"E0 r5 00 v3 8001 i1"}]},
{ "name": "E0 with unknown-property 0xFF7F (byte)", "msgs": [{"type":"send", "payload":"E0 r5 00 v3 FF7F i1"}]},
{ "name": "E0 with unknown-property 0x808001 (byte)", "msgs": [{"type":"send", "payload":"E0 r6 00 v4 808001 i1"}]},
{ "name": "E0 with unknown-property 0xFFFF7F (byte)", "msgs": [{"type":"send", "payload":"E0 r6 00 v4 FFFF7F i1"}]},
{ "name": "E0 with unknown-property 0x80808001 (byte)", "msgs": [{"type":"send", "payload":"E0 r7 00 v5 80808001 i1"}]},
{ "name": "E0 with unknown-property 0xFFFFFF7F (byte)", "msgs": [{"type":"send", "payload":"E0 r7 00 v5 FFFFFF7F i1"}]}
]
}
]

View File

@@ -3,34 +3,34 @@
"group": "v3.1.1 FORBIDDEN",
"ver":4,
"tests": [
{ "name": "00 first packet", "connack": false, "msgs": [{"type":"send", "payload":"00 00"}]},
{ "name": "01 first packet", "connack": false, "msgs": [{"type":"send", "payload":"01 00"}]},
{ "name": "02 first packet", "connack": false, "msgs": [{"type":"send", "payload":"02 00"}]},
{ "name": "04 first packet", "connack": false, "msgs": [{"type":"send", "payload":"04 00"}]},
{ "name": "08 first packet", "connack": false, "msgs": [{"type":"send", "payload":"08 00"}]},
{ "name": "00 long", "msgs": [{"type":"send", "payload":"00 01 00"}]},
{ "name": "00", "msgs": [{"type":"send", "payload":"00 00"}]},
{ "name": "01", "msgs": [{"type":"send", "payload":"01 00"}]},
{ "name": "02", "msgs": [{"type":"send", "payload":"02 00"}]},
{ "name": "04", "msgs": [{"type":"send", "payload":"04 00"}]},
{ "name": "08", "msgs": [{"type":"send", "payload":"08 00"}]}
{ "name": "00 first packet", "connack": false, "msgs": [{"type":"send", "payload":"00 r0"}]},
{ "name": "01 first packet", "connack": false, "msgs": [{"type":"send", "payload":"01 r0"}]},
{ "name": "02 first packet", "connack": false, "msgs": [{"type":"send", "payload":"02 r0"}]},
{ "name": "04 first packet", "connack": false, "msgs": [{"type":"send", "payload":"04 r0"}]},
{ "name": "08 first packet", "connack": false, "msgs": [{"type":"send", "payload":"08 r0"}]},
{ "name": "00 long", "msgs": [{"type":"send", "payload":"00 r1 00"}]},
{ "name": "00", "msgs": [{"type":"send", "payload":"00 r0"}]},
{ "name": "01", "msgs": [{"type":"send", "payload":"01 r0"}]},
{ "name": "02", "msgs": [{"type":"send", "payload":"02 r0"}]},
{ "name": "04", "msgs": [{"type":"send", "payload":"04 r0"}]},
{ "name": "08", "msgs": [{"type":"send", "payload":"08 r0"}]}
]
},
{
"group": "v5.0 FORBIDDEN",
"ver":5,
"tests": [
{ "name": "00 first packet", "connack": false, "msgs": [{"type":"send", "payload":"00 00"}]},
{ "name": "01 first packet", "connack": false, "msgs": [{"type":"send", "payload":"01 00"}]},
{ "name": "02 first packet", "connack": false, "msgs": [{"type":"send", "payload":"02 00"}]},
{ "name": "04 first packet", "connack": false, "msgs": [{"type":"send", "payload":"04 00"}]},
{ "name": "08 first packet", "connack": false, "msgs": [{"type":"send", "payload":"08 00"}]},
{ "name": "00 long", "msgs": [{"type":"send", "payload":"00 01 00"}]},
{ "name": "00", "msgs": [{"type":"send", "payload":"00 00"}]},
{ "name": "01", "msgs": [{"type":"send", "payload":"01 00"}]},
{ "name": "02", "msgs": [{"type":"send", "payload":"02 00"}]},
{ "name": "04", "msgs": [{"type":"send", "payload":"04 00"}]},
{ "name": "08", "msgs": [{"type":"send", "payload":"08 00"}]}
{ "name": "00 first packet", "connack": false, "msgs": [{"type":"send", "payload":"00 r0"}]},
{ "name": "01 first packet", "connack": false, "msgs": [{"type":"send", "payload":"01 r0"}]},
{ "name": "02 first packet", "connack": false, "msgs": [{"type":"send", "payload":"02 r0"}]},
{ "name": "04 first packet", "connack": false, "msgs": [{"type":"send", "payload":"04 r0"}]},
{ "name": "08 first packet", "connack": false, "msgs": [{"type":"send", "payload":"08 r0"}]},
{ "name": "00 long", "msgs": [{"type":"send", "payload":"00 r1 00"}]},
{ "name": "00", "msgs": [{"type":"send", "payload":"00 r0"}]},
{ "name": "01", "msgs": [{"type":"send", "payload":"01 r0"}]},
{ "name": "02", "msgs": [{"type":"send", "payload":"02 r0"}]},
{ "name": "04", "msgs": [{"type":"send", "payload":"04 r0"}]},
{ "name": "08", "msgs": [{"type":"send", "payload":"08 r0"}]}
]
}
]

View File

@@ -3,26 +3,26 @@
"group": "v3.1.1 PINGREQ",
"ver":4,
"tests": [
{ "name": "C0 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"C0 00"}]},
{ "name": "C0 long", "msgs": [{"type":"send", "payload":"C00100"}]},
{ "name": "C0 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"C0 r0"}]},
{ "name": "C0 long", "msgs": [{"type":"send", "payload":"C0 r1 00"}]},
{ "name": "C0 valid", "msgs": [{"type":"send", "payload":"C0 00"}]},
{ "name": "C1", "msgs": [{"type":"send", "payload":"C1 00"}]},
{ "name": "C2", "msgs": [{"type":"send", "payload":"C2 00"}]},
{ "name": "C4", "msgs": [{"type":"send", "payload":"C4 00"}]},
{ "name": "C8", "msgs": [{"type":"send", "payload":"C8 00"}]}
{ "name": "C1", "msgs": [{"type":"send", "payload":"C1 r0"}]},
{ "name": "C2", "msgs": [{"type":"send", "payload":"C2 r0"}]},
{ "name": "C4", "msgs": [{"type":"send", "payload":"C4 r0"}]},
{ "name": "C8", "msgs": [{"type":"send", "payload":"C8 r0"}]}
]
},
{
"group": "v5.0 PINGREQ",
"ver":5,
"tests": [
{ "name": "C0 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"C0 00"}]},
{ "name": "C0 long", "msgs": [{"type":"send", "payload":"C0 01 00"}]},
{ "name": "C0 valid", "msgs": [{"type":"send", "payload":"C0 00"}]},
{ "name": "C1", "msgs": [{"type":"send", "payload":"C1 00"}]},
{ "name": "C2", "msgs": [{"type":"send", "payload":"C2 00"}]},
{ "name": "C4", "msgs": [{"type":"send", "payload":"C4 00"}]},
{ "name": "C8", "msgs": [{"type":"send", "payload":"C8 00"}]}
{ "name": "C0 [MQTT-3.1.0-1]", "connect":false, "msgs": [{"type":"send", "payload":"C0 r0"}]},
{ "name": "C0 long", "msgs": [{"type":"send", "payload":"C0 r1 00"}]},
{ "name": "C0 valid", "msgs": [{"type":"send", "payload":"C0 r0"}]},
{ "name": "C1", "msgs": [{"type":"send", "payload":"C1 r0"}]},
{ "name": "C2", "msgs": [{"type":"send", "payload":"C2 r0"}]},
{ "name": "C4", "msgs": [{"type":"send", "payload":"C4 r0"}]},
{ "name": "C8", "msgs": [{"type":"send", "payload":"C8 r0"}]}
]
}
]

View File

@@ -3,26 +3,26 @@
"group": "v3.1.1 PINGRESP",
"ver":4,
"tests": [
{ "name": "D0 [MQTT-3.1.0-1]", "connack": false, "msgs": [{"type":"send", "payload":"D0 00"}]},
{ "name": "D0 long", "msgs": [{"type":"send", "payload":"D0 01 00"}]},
{ "name": "D0", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"D0 00"}]},
{ "name": "D1", "msgs": [{"type":"send", "payload":"D1 00"}]},
{ "name": "D2", "msgs": [{"type":"send", "payload":"D2 00"}]},
{ "name": "D4", "msgs": [{"type":"send", "payload":"D4 00"}]},
{ "name": "D8", "msgs": [{"type":"send", "payload":"D8 00"}]}
{ "name": "D0 [MQTT-3.1.0-1]", "connack": false, "msgs": [{"type":"send", "payload":"D0 r0"}]},
{ "name": "D0 long", "msgs": [{"type":"send", "payload":"D0 r1 00"}]},
{ "name": "D0", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"D0 r0"}]},
{ "name": "D1", "msgs": [{"type":"send", "payload":"D1 r0"}]},
{ "name": "D2", "msgs": [{"type":"send", "payload":"D2 r0"}]},
{ "name": "D4", "msgs": [{"type":"send", "payload":"D4 r0"}]},
{ "name": "D8", "msgs": [{"type":"send", "payload":"D8 r0"}]}
]
},
{
"group": "v5.0 PINGRESP",
"ver":5,
"tests": [
{ "name": "D0 [MQTT-3.1.0-1]", "connack": false, "msgs": [{"type":"send", "payload":"D0 00"}]},
{ "name": "D0 long", "msgs": [{"type":"send", "payload":"D0 01 00"}]},
{ "name": "D0", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"D0 00"}]},
{ "name": "D1", "msgs": [{"type":"send", "payload":"D1 00"}]},
{ "name": "D2", "msgs": [{"type":"send", "payload":"D2 00"}]},
{ "name": "D4", "msgs": [{"type":"send", "payload":"D4 00"}]},
{ "name": "D8", "msgs": [{"type":"send", "payload":"D8 00"}]}
{ "name": "D0 [MQTT-3.1.0-1]", "connack": false, "msgs": [{"type":"send", "payload":"D0 r0"}]},
{ "name": "D0 long", "msgs": [{"type":"send", "payload":"D0 r1 00"}]},
{ "name": "D0", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"D0 r0"}]},
{ "name": "D1", "msgs": [{"type":"send", "payload":"D1 r0"}]},
{ "name": "D2", "msgs": [{"type":"send", "payload":"D2 r0"}]},
{ "name": "D4", "msgs": [{"type":"send", "payload":"D4 r0"}]},
{ "name": "D8", "msgs": [{"type":"send", "payload":"D8 r0"}]}
]
}
]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -3,19 +3,19 @@
"group": "v3.1.1 PUBREC unsolicited",
"ver":4,
"tests": [
{ "name": "50 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"50 02 0001"}]},
{ "name": "50 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"50 r2 m1"}]},
{ "name": "50", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"50 02 0001"},
{"type":"recv", "payload":"62 02 0001"}
{"type":"send", "payload":"50 r2 m1"},
{"type":"recv", "payload":"62 r2 m1"}
]},
{ "name": "50 long", "msgs": [{"type":"send", "payload":"50 03 0001 00"}]},
{ "name": "50 mid 0", "msgs": [{"type":"send", "payload":"50 02 0000"}]},
{ "name": "50 short 0", "msgs": [{"type":"send", "payload":"50 00"}]},
{ "name": "50 short 1", "msgs": [{"type":"send", "payload":"50 01 01"}]},
{ "name": "51", "msgs": [{"type":"send", "payload":"51 02 0001"}]},
{ "name": "52", "msgs": [{"type":"send", "payload":"52 02 0001"}]},
{ "name": "54", "msgs": [{"type":"send", "payload":"54 02 0001"}]},
{ "name": "58", "msgs": [{"type":"send", "payload":"58 02 0001"}]}
{ "name": "50 long", "msgs": [{"type":"send", "payload":"50 r3 m1 00"}]},
{ "name": "50 mid 0", "msgs": [{"type":"send", "payload":"50 r2 m0"}]},
{ "name": "50 short 0", "msgs": [{"type":"send", "payload":"50 r0"}]},
{ "name": "50 short 1", "msgs": [{"type":"send", "payload":"50 r1 01"}]},
{ "name": "51", "msgs": [{"type":"send", "payload":"51 r2 m1"}]},
{ "name": "52", "msgs": [{"type":"send", "payload":"52 r2 m1"}]},
{ "name": "54", "msgs": [{"type":"send", "payload":"54 r2 m1"}]},
{ "name": "58", "msgs": [{"type":"send", "payload":"58 r2 m1"}]}
]
},
{
@@ -23,53 +23,53 @@
"ver":4,
"command":"publish-2",
"group_msgs":[
{"type":"recv", "payload":"34 17 000C 746573742f7075626c697368 0001 6d657373616765"}
{"type":"recv", "payload":"34 r23 s12 'test/publish' m1 'message'"}
],
"tests": [
{ "name": "50", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"50 02 0001"},
{"type":"recv", "payload":"62 02 0001"}
{"type":"send", "payload":"50 r2 m1"},
{"type":"recv", "payload":"62 r2 m1"}
]},
{ "name": "50 long", "msgs": [{"type":"send", "payload":"50 03 0001 00"}]},
{ "name": "50 mid 0", "msgs": [{"type":"send", "payload":"50 02 0000"}]},
{ "name": "50 short 0", "msgs": [{"type":"send", "payload":"50 00"}]},
{ "name": "50 short 1", "msgs": [{"type":"send", "payload":"50 01 01"}]},
{ "name": "51", "msgs": [{"type":"send", "payload":"51 02 0001"}]},
{ "name": "52", "msgs": [{"type":"send", "payload":"52 02 0001"}]},
{ "name": "54", "msgs": [{"type":"send", "payload":"54 02 0001"}]},
{ "name": "58", "msgs": [{"type":"send", "payload":"58 02 0001"}]}
{ "name": "50 long", "msgs": [{"type":"send", "payload":"50 r3 m1 00"}]},
{ "name": "50 mid 0", "msgs": [{"type":"send", "payload":"50 r2 m0"}]},
{ "name": "50 short 0", "msgs": [{"type":"send", "payload":"50 r0"}]},
{ "name": "50 short 1", "msgs": [{"type":"send", "payload":"50 r1 01"}]},
{ "name": "51", "msgs": [{"type":"send", "payload":"51 r2 m1"}]},
{ "name": "52", "msgs": [{"type":"send", "payload":"52 r2 m1"}]},
{ "name": "54", "msgs": [{"type":"send", "payload":"54 r2 m1"}]},
{ "name": "58", "msgs": [{"type":"send", "payload":"58 r2 m1"}]}
]
},
{
"group": "v5.0 PUBREC unsolicited",
"ver":5,
"tests": [
{ "name": "50 [MQTT-3.1.0-1] (no reason code)", "connack":false, "msgs": [{"type":"send", "payload":"50 02 0001"}]},
{ "name": "50 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"50 03 0001 00"}]},
{ "name": "50 long", "msgs": [{"type":"send", "payload":"50 05 0001 00 00 00"}]},
{ "name": "50 mid 0", "msgs": [{"type":"send", "payload":"50 03 0000 00"}]},
{ "name": "50 short 0", "msgs": [{"type":"send", "payload":"50 00"}]},
{ "name": "50 short 1", "msgs": [{"type":"send", "payload":"50 01 01"}]},
{ "name": "50 [MQTT-3.1.0-1] (no reason code)", "connack":false, "msgs": [{"type":"send", "payload":"50 r2 m1"}]},
{ "name": "50 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"50 r3 m1 00"}]},
{ "name": "50 long", "msgs": [{"type":"send", "payload":"50 r5 m1 00 00 00"}]},
{ "name": "50 mid 0", "msgs": [{"type":"send", "payload":"50 r3 m0 00"}]},
{ "name": "50 short 0", "msgs": [{"type":"send", "payload":"50 r0"}]},
{ "name": "50 short 1", "msgs": [{"type":"send", "payload":"50 r1 01"}]},
{ "name": "50 len=2", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"50 02 0001"},
{"type":"recv", "payload":"62 02 0001"}
{"type":"send", "payload":"50 r2 m1"},
{"type":"recv", "payload":"62 r2 m1"}
]},
{ "name": "50 len=3", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"50 03 0001 00"},
{"type":"recv", "payload":"62 02 0001"}
{"type":"send", "payload":"50 r3 m1 00"},
{"type":"recv", "payload":"62 r2 m1"}
]},
{ "name": "50 len=3 fail", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"50 03 0001 80"}]},
{ "name": "50 len=3 fail", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"50 r3 m1 80"}]},
{ "name": "50 len=4 ok", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"50 04 0001 00 00"},
{"type":"recv", "payload":"62 02 0001"}
{"type":"send", "payload":"50 r4 m1 00 00"},
{"type":"recv", "payload":"62 r2 m1"}
]},
{ "name": "50 len=4 rc=fail", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"50 04 0001 80 00"}]},
{ "name": "50 len=4 rc=unknown", "msgs": [{"type":"send", "payload":"50 04 0001 FF 00"}]},
{ "name": "50 len=4 short", "msgs": [{"type":"send", "payload":"50 04 0001 00 01"}]},
{ "name": "51", "msgs": [{"type":"send", "payload":"51 03 0001 00"}]},
{ "name": "52", "msgs": [{"type":"send", "payload":"52 03 0001 00"}]},
{ "name": "54", "msgs": [{"type":"send", "payload":"54 03 0001 00"}]},
{ "name": "58", "msgs": [{"type":"send", "payload":"58 03 0001 00"}]}
{ "name": "50 len=4 rc=fail", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"50 r4 m1 80 00"}]},
{ "name": "50 len=4 rc=unknown", "msgs": [{"type":"send", "payload":"50 r4 m1 FF 00"}]},
{ "name": "50 len=4 short", "msgs": [{"type":"send", "payload":"50 r4 m1 00 01"}]},
{ "name": "51", "msgs": [{"type":"send", "payload":"51 r3 m1 00"}]},
{ "name": "52", "msgs": [{"type":"send", "payload":"52 r3 m1 00"}]},
{ "name": "54", "msgs": [{"type":"send", "payload":"54 r3 m1 00"}]},
{ "name": "58", "msgs": [{"type":"send", "payload":"58 r3 m1 00"}]}
]
},
{
@@ -78,23 +78,23 @@
"expect_disconnect":false,
"command":"publish-2",
"group_msgs":[
{"type":"recv", "payload":"34 74 000C 746573742F7075626C697368 0001 5C 01 01 02 FFFFFFFF 23 FFFF 08 000E 726573706F6E73652F746F706963 09 0024 37646561633563352D383830322D343466662D383663652D313134373966333337343139 03 000A 746578742F706C61696E 26 00036B6579 000576616C7565 6D657373616765"}
{"type":"recv", "payload":"34 r116 s12 'test/publish' m1 v92 01 i1 02 ffffffff 23 ffff 08 s14 'response/topic' 09 H36 '7deac5c5-8802-44ff-86ce-11479f337419' 03 s10 'text/plain' 26 s3 'key' s5 'value' 'message'"}
],
"tests": [
{ "name": "50 len=2", "msgs": [
{"type":"send", "payload":"50 02 0001"},
{"type":"recv", "payload":"62 02 0001"}
{"type":"send", "payload":"50 r2 m1"},
{"type":"recv", "payload":"62 r2 m1"}
]},
{ "name": "50 len=3", "msgs": [
{"type":"send", "payload":"50 03 0001 00"},
{"type":"recv", "payload":"62 02 0001"}
{"type":"send", "payload":"50 r3 m1 00"},
{"type":"recv", "payload":"62 r2 m1"}
]},
{ "name": "50 len=3 fail", "msgs": [{"type":"send", "payload":"50 03 0001 80"}]},
{ "name": "50 len=3 fail", "msgs": [{"type":"send", "payload":"50 r3 m1 80"}]},
{ "name": "50 len=4 ok", "msgs": [
{"type":"send", "payload":"50 04 0001 00 00"},
{"type":"recv", "payload":"62 02 0001"}
{"type":"send", "payload":"50 r4 m1 00 00"},
{"type":"recv", "payload":"62 r2 m1"}
]},
{ "name": "50 len=4 rc=fail", "msgs": [{"type":"send", "payload":"50 04 0001 80 00"}]}
{ "name": "50 len=4 rc=fail", "msgs": [{"type":"send", "payload":"50 r4 m1 80 00"}]}
]
},
{
@@ -103,19 +103,19 @@
"command":"publish-2",
"expect_disconnect":true,
"group_msgs":[
{"type":"recv", "payload":"34 74 000C 746573742F7075626C697368 0001 5C 01 01 02 FFFFFFFF 23 FFFF 08 000E 726573706F6E73652F746F706963 09 0024 37646561633563352D383830322D343466662D383663652D313134373966333337343139 03 000A 746578742F706C61696E 26 00036B6579 000576616C7565 6D657373616765"}
{"type":"recv", "payload":"34 r116 s12 'test/publish' m1 v92 01 i1 02 ffffffff 23 ffff 08 s14 'response/topic' 09 H36 '7deac5c5-8802-44ff-86ce-11479f337419' 03 s10 'text/plain' 26 s3 'key' s5 'value' 'message'"}
],
"tests": [
{ "name": "50 long", "msgs": [{"type":"send", "payload":"50 05 0001 00 00 00"}]},
{ "name": "50 mid 0", "msgs": [{"type":"send", "payload":"50 03 0000 00"}]},
{ "name": "50 short 0", "msgs": [{"type":"send", "payload":"50 00"}]},
{ "name": "50 short 1", "msgs": [{"type":"send", "payload":"50 01 01"}]},
{ "name": "50 len=4 rc=unknown", "msgs": [{"type":"send", "payload":"50 04 0001 FF 00"}]},
{ "name": "50 len=4 short", "msgs": [{"type":"send", "payload":"50 04 0001 00 01"}]},
{ "name": "51 ", "msgs": [{"type":"send", "payload":"51 03 0001 00"}]},
{ "name": "52", "msgs": [{"type":"send", "payload":"52 03 0001 00"}]},
{ "name": "54", "msgs": [{"type":"send", "payload":"54 03 0001 00"}]},
{ "name": "58", "msgs": [{"type":"send", "payload":"58 03 0001 00"}]}
{ "name": "50 long", "msgs": [{"type":"send", "payload":"50 r5 m1 00 00 00"}]},
{ "name": "50 mid 0", "msgs": [{"type":"send", "payload":"50 r3 m0 00"}]},
{ "name": "50 short 0", "msgs": [{"type":"send", "payload":"50 r0"}]},
{ "name": "50 short 1", "msgs": [{"type":"send", "payload":"50 r1 01"}]},
{ "name": "50 len=4 rc=unknown", "msgs": [{"type":"send", "payload":"50 r4 m1 FF 00"}]},
{ "name": "50 len=4 short", "msgs": [{"type":"send", "payload":"50 r4 m1 00 01"}]},
{ "name": "51 ", "msgs": [{"type":"send", "payload":"51 r3 m1 00"}]},
{ "name": "52", "msgs": [{"type":"send", "payload":"52 r3 m1 00"}]},
{ "name": "54", "msgs": [{"type":"send", "payload":"54 r3 m1 00"}]},
{ "name": "58", "msgs": [{"type":"send", "payload":"58 r3 m1 00"}]}
]
},
{
@@ -123,40 +123,40 @@
"ver":5,
"command":"publish-2",
"group_msgs":[
{"type":"recv", "payload":"34 74 000C 746573742F7075626C697368 0001 5C 01 01 02 FFFFFFFF 23 FFFF 08 000E 726573706F6E73652F746F706963 09 0024 37646561633563352D383830322D343466662D383663652D313134373966333337343139 03 000A 746578742F706C61696E 26 00036B6579 000576616C7565 6D657373616765"}
{"type":"recv", "payload":"34 r116 s12 'test/publish' m1 v92 01 i1 02 ffffffff 23 ffff 08 s14 'response/topic' 09 H36 '7deac5c5-8802-44ff-86ce-11479f337419' 03 s10 'text/plain' 26 s3 'key' s5 'value' 'message'"}
],
"tests": [
{ "name": "50 with reason-string property", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"50 08 0001 00 04 1F000170"},
{"type":"recv", "payload":"62 02 0001"}
{"type":"send", "payload":"50 r8 m1 00 v4 1F s1 'p'"},
{"type":"recv", "payload":"62 r2 m1"}
]},
{ "name": "50 with 2*reason-string property", "msgs": [{"type":"send", "payload":"50 0C 0001 00 08 1F000170 1F000171"}]},
{ "name": "50 with reason-string property missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 1F"}]},
{ "name": "50 with 2*reason-string property", "msgs": [{"type":"send", "payload":"50 r12 m1 00 v8 1F s1 'p' 1F s1 'q'"}]},
{ "name": "50 with reason-string property missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 1F"}]},
{ "name": "50 with reason-string property empty", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"50 07 0001 00 03 1F 0000"},
{"type":"recv", "payload":"62 02 0001"}
{"type":"send", "payload":"50 r7 m1 00 v3 1F s0"},
{"type":"recv", "payload":"62 r2 m1"}
]},
{ "name": "50 with user-property", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"50 0B 0001 00 07 26000170000171"},
{"type":"recv", "payload":"62 02 0001"}
{"type":"send", "payload":"50 r11 m1 00 v7 26 s1 'p' s1 'q'"},
{"type":"recv", "payload":"62 r2 m1"}
]},
{ "name": "50 with 2*user-property", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"50 12 0001 00 0E 26000170000171 26000170000171"},
{"type":"recv", "payload":"62 02 0001"}
{"type":"send", "payload":"50 12 m1 00 v14 26 s1 'p' s1 'q' 26 s1 'p' s1 'q'"},
{"type":"recv", "payload":"62 02 m1"}
]},
{ "name": "50 with user-property missing value", "msgs": [{"type":"send", "payload":"50 08 0001 00 04 26000170"}]},
{ "name": "50 with user-property missing key,value", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 26"}]},
{ "name": "50 with user-property missing value", "msgs": [{"type":"send", "payload":"50 r8 m1 00 v4 26 s1 'p'"}]},
{ "name": "50 with user-property missing key,value", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 26"}]},
{ "name": "50 with user-property empty key", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"50 0A 0001 00 06 26 0000 0001 70"},
{"type":"recv", "payload":"62 02 0001"}
{"type":"send", "payload":"50 r10 m1 00 v6 26 s0 s1 'p'"},
{"type":"recv", "payload":"62 r2 m1"}
]},
{ "name": "50 with user-property empty value", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"50 0A 0001 00 06 26 0001 70 0000"},
{"type":"recv", "payload":"62 02 0001"}
{"type":"send", "payload":"50 r10 m1 00 v6 26 s1 'p' s0"},
{"type":"recv", "payload":"62 r2 m1"}
]},
{ "name": "50 with user-property empty key,value", "expect_disconnect":false, "msgs": [
{"type":"send", "payload":"50 09 0001 00 05 26 0000 0000"},
{"type":"recv", "payload":"62 02 0001"}
{"type":"send", "payload":"50 r9 m1 00 v5 26 s0 s0"},
{"type":"recv", "payload":"62 r2 m1"}
]}
]
},
@@ -164,78 +164,78 @@
"group": "v5.0 PUBREC DISALLOWED PROPERTIES",
"ver":5,
"tests": [
{ "name": "50 with payload-format-indicator (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 0100"}]},
{ "name": "50 with request-problem-information (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 1700"}]},
{ "name": "50 with maximum-qos (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 2400"}]},
{ "name": "50 with retain-available (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 2500"}]},
{ "name": "50 with wildcard-subscription-available (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 2800"}]},
{ "name": "50 with subscription-identifier-available (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 2900"}]},
{ "name": "50 with shared-subscription-available (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 2A00"}]},
{ "name": "50 with payload-format-indicator (byte) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 01"}]},
{ "name": "50 with request-problem-information (byte) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 17"}]},
{ "name": "50 with maximum-qos (byte) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 24"}]},
{ "name": "50 with retain-available (byte) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 25"}]},
{ "name": "50 with wildcard-subscription-available (byte) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 28"}]},
{ "name": "50 with subscription-identifier-available (byte) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 29"}]},
{ "name": "50 with shared-subscription-available (byte) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 2A"}]},
{ "name": "50 with message-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"50 09 0001 00 05 0200000001"}]},
{ "name": "50 with session-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"50 09 0001 00 05 1100000001"}]},
{ "name": "50 with will-delay-interval (four byte integer)", "msgs": [{"type":"send", "payload":"50 09 0001 00 05 1800000001"}]},
{ "name": "50 with maximum-packet-size (four byte integer)", "msgs": [{"type":"send", "payload":"50 09 0001 00 05 2700000001"}]},
{ "name": "50 with message-expiry-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 02"}]},
{ "name": "50 with session-expiry-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 11"}]},
{ "name": "50 with will-delay-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 18"}]},
{ "name": "50 with maximum-packet-size (four byte integer) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 27"}]},
{ "name": "50 with content-type (UTF-8 string)", "msgs": [{"type":"send", "payload":"50 08 0001 00 04 03000170"}]},
{ "name": "50 with response-topic (UTF-8 string)", "msgs": [{"type":"send", "payload":"50 08 0001 00 04 08000170"}]},
{ "name": "50 with assigned-client-identifier (UTF-8 string)", "msgs": [{"type":"send", "payload":"50 08 0001 00 04 12000170"}]},
{ "name": "50 with authentication-method (UTF-8 string)", "msgs": [{"type":"send", "payload":"50 08 0001 00 04 15000170"}]},
{ "name": "50 with response-information (UTF-8 string)", "msgs": [{"type":"send", "payload":"50 08 0001 00 04 1A000170"}]},
{ "name": "50 with server-reference (UTF-8 string)", "msgs": [{"type":"send", "payload":"50 08 0001 00 04 1C000170"}]},
{ "name": "50 with content-type (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 03"}]},
{ "name": "50 with response-topic (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 08"}]},
{ "name": "50 with assigned-client-identifier (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 12"}]},
{ "name": "50 with authentication-method (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 15"}]},
{ "name": "50 with response-information (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 1A"}]},
{ "name": "50 with server-reference (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 1C"}]},
{ "name": "50 with correlation-data (binary data)", "msgs": [{"type":"send", "payload":"50 08 0001 00 04 09000170"}]},
{ "name": "50 with authentication-data (binary data)", "msgs": [{"type":"send", "payload":"50 08 0001 00 04 16000170"}]},
{ "name": "50 with correlation-data (binary data) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 09"}]},
{ "name": "50 with authentication-data (binary data) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 16"}]},
{ "name": "50 with subscription-identifier (variable byte integer)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 0B01"}]},
{ "name": "50 with subscription-identifier (variable byte integer) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 0B"}]},
{ "name": "50 with server-keep-alive (two byte integer)", "msgs": [{"type":"send", "payload":"50 07 0001 00 03 130101"}]},
{ "name": "50 with receive-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"50 07 0001 00 03 210101"}]},
{ "name": "50 with topic-alias-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"50 07 0001 00 03 220101"}]},
{ "name": "50 with topic-alias (two byte integer)", "msgs": [{"type":"send", "payload":"50 07 0001 00 03 230101"}]},
{ "name": "50 with server-keep-alive (two byte integer) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 13"}]},
{ "name": "50 with receive-maximum (two byte integer) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 21"}]},
{ "name": "50 with topic-alias-maximum (two byte integer) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 22"}]},
{ "name": "50 with topic-alias (two byte integer) missing", "msgs": [{"type":"send", "payload":"50 05 0001 00 01 23"}]},
{ "name": "50 with invalid-property 0x00 (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 0001"}]},
{ "name": "50 with unknown-property 0x04 (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 0401"}]},
{ "name": "50 with unknown-property 0x05 (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 0501"}]},
{ "name": "50 with unknown-property 0x06 (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 0601"}]},
{ "name": "50 with unknown-property 0x07 (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 0701"}]},
{ "name": "50 with unknown-property 0x0A (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 0A01"}]},
{ "name": "50 with unknown-property 0x0C (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 0C01"}]},
{ "name": "50 with unknown-property 0x0D (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 0D01"}]},
{ "name": "50 with unknown-property 0x0E (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 0E01"}]},
{ "name": "50 with unknown-property 0x0F (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 0F01"}]},
{ "name": "50 with unknown-property 0x10 (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 1001"}]},
{ "name": "50 with unknown-property 0x14 (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 1401"}]},
{ "name": "50 with unknown-property 0x1B (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 1B01"}]},
{ "name": "50 with unknown-property 0x1D (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 1D01"}]},
{ "name": "50 with unknown-property 0x1E (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 1E01"}]},
{ "name": "50 with unknown-property 0x20 (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 2001"}]},
{ "name": "50 with unknown-property 0x7F (byte)", "msgs": [{"type":"send", "payload":"50 06 0001 00 02 7F01"}]},
{ "name": "50 with invalid-property 0x8000 (byte)", "msgs": [{"type":"send", "payload":"50 07 0001 00 03 800001"}]},
{ "name": "50 with unknown-property 0x8001 (byte)", "msgs": [{"type":"send", "payload":"50 07 0001 00 03 800101"}]},
{ "name": "50 with unknown-property 0xFF7F (byte)", "msgs": [{"type":"send", "payload":"50 07 0001 00 03 FF7F01"}]},
{ "name": "50 with unknown-property 0x808001 (byte)", "msgs": [{"type":"send", "payload":"50 08 0001 00 04 80800101"}]},
{ "name": "50 with unknown-property 0xFFFF7F (byte)", "msgs": [{"type":"send", "payload":"50 08 0001 00 04 FFFF7F01"}]},
{ "name": "50 with unknown-property 0x80808001 (byte)", "msgs": [{"type":"send", "payload":"50 09 0001 00 05 8080800101"}]},
{ "name": "50 with unknown-property 0xFFFFFF7F (byte)", "msgs": [{"type":"send", "payload":"50 09 0001 00 05 FFFFFF7F01"}]}
{ "name": "50 with payload-format-indicator (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 01 i0"}]},
{ "name": "50 with request-problem-information (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 17 i0"}]},
{ "name": "50 with maximum-qos (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 24 i0"}]},
{ "name": "50 with retain-available (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 25 i0"}]},
{ "name": "50 with wildcard-subscription-available (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 28 i0"}]},
{ "name": "50 with subscription-identifier-available (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 29 i0"}]},
{ "name": "50 with shared-subscription-available (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 2A i0"}]},
{ "name": "50 with payload-format-indicator (byte) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 01"}]},
{ "name": "50 with request-problem-information (byte) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 17"}]},
{ "name": "50 with maximum-qos (byte) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 24"}]},
{ "name": "50 with retain-available (byte) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 25"}]},
{ "name": "50 with wildcard-subscription-available (byte) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 28"}]},
{ "name": "50 with subscription-identifier-available (byte) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 29"}]},
{ "name": "50 with shared-subscription-available (byte) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 2A"}]},
{ "name": "50 with message-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"50 r9 m1 00 05 02 L1"}]},
{ "name": "50 with session-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"50 r9 m1 00 05 11 L1"}]},
{ "name": "50 with will-delay-interval (four byte integer)", "msgs": [{"type":"send", "payload":"50 r9 m1 00 v5 18 L1"}]},
{ "name": "50 with maximum-packet-size (four byte integer)", "msgs": [{"type":"send", "payload":"50 r9 m1 00 v5 27 L1"}]},
{ "name": "50 with message-expiry-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 02"}]},
{ "name": "50 with session-expiry-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 11"}]},
{ "name": "50 with will-delay-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 18"}]},
{ "name": "50 with maximum-packet-size (four byte integer) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 27"}]},
{ "name": "50 with content-type (UTF-8 string)", "msgs": [{"type":"send", "payload":"50 r8 m1 00 v4 03 s1 'p'"}]},
{ "name": "50 with response-topic (UTF-8 string)", "msgs": [{"type":"send", "payload":"50 r8 m1 00 v4 08 s1 'p'"}]},
{ "name": "50 with assigned-client-identifier (UTF-8 string)", "msgs": [{"type":"send", "payload":"50 r8 m1 00 v4 12 s1 'p'"}]},
{ "name": "50 with authentication-method (UTF-8 string)", "msgs": [{"type":"send", "payload":"50 r8 m1 00 v4 15 s1 'p'"}]},
{ "name": "50 with response-information (UTF-8 string)", "msgs": [{"type":"send", "payload":"50 r8 m1 00 v4 1A s1 'p'"}]},
{ "name": "50 with server-reference (UTF-8 string)", "msgs": [{"type":"send", "payload":"50 r8 m1 00 v4 1C s1 'p'"}]},
{ "name": "50 with content-type (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 03"}]},
{ "name": "50 with response-topic (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 08"}]},
{ "name": "50 with assigned-client-identifier (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 12"}]},
{ "name": "50 with authentication-method (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 15"}]},
{ "name": "50 with response-information (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 1A"}]},
{ "name": "50 with server-reference (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 1C"}]},
{ "name": "50 with correlation-data (binary data)", "msgs": [{"type":"send", "payload":"50 r8 m1 00 v4 09 s1 'p'"}]},
{ "name": "50 with authentication-data (binary data)", "msgs": [{"type":"send", "payload":"50 r8 m1 00 v4 16 s1 'p'"}]},
{ "name": "50 with correlation-data (binary data) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 09"}]},
{ "name": "50 with authentication-data (binary data) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 16"}]},
{ "name": "50 with subscription-identifier (variable byte integer)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 0B v1"}]},
{ "name": "50 with subscription-identifier (variable byte integer) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 0B"}]},
{ "name": "50 with server-keep-alive (two byte integer)", "msgs": [{"type":"send", "payload":"50 r7 m1 00 v3 13 H5"}]},
{ "name": "50 with receive-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"50 r7 m1 00 v3 21 H5"}]},
{ "name": "50 with topic-alias-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"50 r7 m1 00 v3 22 H5"}]},
{ "name": "50 with topic-alias (two byte integer)", "msgs": [{"type":"send", "payload":"50 r7 m1 00 v3 23 H5"}]},
{ "name": "50 with server-keep-alive (two byte integer) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 13"}]},
{ "name": "50 with receive-maximum (two byte integer) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 21"}]},
{ "name": "50 with topic-alias-maximum (two byte integer) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 22"}]},
{ "name": "50 with topic-alias (two byte integer) missing", "msgs": [{"type":"send", "payload":"50 r5 m1 00 v1 23"}]},
{ "name": "50 with invalid-property 0x00 (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 00 i1"}]},
{ "name": "50 with unknown-property 0x04 (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 04 i1"}]},
{ "name": "50 with unknown-property 0x05 (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 05 i1"}]},
{ "name": "50 with unknown-property 0x06 (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 06 i1"}]},
{ "name": "50 with unknown-property 0x07 (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 07 i1"}]},
{ "name": "50 with unknown-property 0x0A (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 0A i1"}]},
{ "name": "50 with unknown-property 0x0C (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 0C i1"}]},
{ "name": "50 with unknown-property 0x0D (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 0D i1"}]},
{ "name": "50 with unknown-property 0x0E (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 0E i1"}]},
{ "name": "50 with unknown-property 0x0F (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 0F i1"}]},
{ "name": "50 with unknown-property 0x10 (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 10 i1"}]},
{ "name": "50 with unknown-property 0x14 (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 14 i1"}]},
{ "name": "50 with unknown-property 0x1B (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 1B i1"}]},
{ "name": "50 with unknown-property 0x1D (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 1D i1"}]},
{ "name": "50 with unknown-property 0x1E (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 1E i1"}]},
{ "name": "50 with unknown-property 0x20 (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 20 i1"}]},
{ "name": "50 with unknown-property 0x7F (byte)", "msgs": [{"type":"send", "payload":"50 r6 m1 00 v2 7F i1"}]},
{ "name": "50 with invalid-property 0x8000 (byte)", "msgs": [{"type":"send", "payload":"50 r7 m1 00 v3 8000 i1"}]},
{ "name": "50 with unknown-property 0x8001 (byte)", "msgs": [{"type":"send", "payload":"50 r7 m1 00 v3 8001 i1"}]},
{ "name": "50 with unknown-property 0xFF7F (byte)", "msgs": [{"type":"send", "payload":"50 r7 m1 00 v3 FF7F i1"}]},
{ "name": "50 with unknown-property 0x808001 (byte)", "msgs": [{"type":"send", "payload":"50 r8 m1 00 v4 808001 i1"}]},
{ "name": "50 with unknown-property 0xFFFF7F (byte)", "msgs": [{"type":"send", "payload":"50 r8 m1 00 v4 FFFF7F i1"}]},
{ "name": "50 with unknown-property 0x80808001 (byte)", "msgs": [{"type":"send", "payload":"50 r9 m1 00 v5 80808001 i1"}]},
{ "name": "50 with unknown-property 0xFFFFFF7F (byte)", "msgs": [{"type":"send", "payload":"50 r9 m1 00 v5 FFFFFF7F i1"}]}
]
}
]

View File

@@ -3,168 +3,168 @@
"group": "v3.1.1 SUBSCRIBE",
"ver":4,
"tests": [
{ "name": "82 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"82 06 1234 0001 70 00"}]},
{ "name": "80", "msgs": [{"type":"send", "payload":"80061234 0001 70 00"}]},
{ "name": "83 [MQTT-3.8.1-1]", "msgs": [{"type":"send", "payload":"83 06 1234 0001 70 00"}]},
{ "name": "84 [MQTT-3.8.1-1]", "msgs": [{"type":"send", "payload":"84 06 1234 0001 70 00"}]},
{ "name": "86 [MQTT-3.8.1-1]", "msgs": [{"type":"send", "payload":"86 06 1234 0001 70 00"}]},
{ "name": "8A [MQTT-3.8.1-1]", "msgs": [{"type":"send", "payload":"8A 06 1234 0001 70 00"}]},
{ "name": "82 QoS 3 [MQTT-3-8.3-4]", "msgs": [{"type":"send", "payload":"82 06 1234 0001 70 03"}]},
{ "name": "82 QoS 0x04 [MQTT-3-8.3-4]", "msgs": [{"type":"send", "payload":"82 06 1234 0001 70 04"}]},
{ "name": "82 QoS 0x08 [MQTT-3-8.3-4]", "msgs": [{"type":"send", "payload":"82 06 1234 0001 70 08"}]},
{ "name": "82 QoS 0x10 [MQTT-3-8.3-4]", "msgs": [{"type":"send", "payload":"82 06 1234 0001 70 10"}]},
{ "name": "82 QoS 0x20 [MQTT-3-8.3-4]", "msgs": [{"type":"send", "payload":"82 06 1234 0001 70 20"}]},
{ "name": "82 QoS 0x40 [MQTT-3-8.3-4]", "msgs": [{"type":"send", "payload":"82 06 1234 0001 70 40"}]},
{ "name": "82 QoS 0x80 [MQTT-3-8.3-4]", "msgs": [{"type":"send", "payload":"82 06 1234 0001 70 80"}]},
{ "name": "82 topic with 0x0000", "msgs": [{"type":"send", "payload":"82 0A 1234 0005 746F700000 00"} ] },
{ "name": "82 topic with U+D800", "msgs": [{"type":"send", "payload":"82 0A 1234 0005 746FEDA080 00"} ] },
{ "name": "82 topic with U+0001", "msgs": [{"type":"send", "payload":"82 0A 1234 0005 746F700170 00"} ] },
{ "name": "82 topic with U+001F", "msgs": [{"type":"send", "payload":"82 0A 1234 0005 746F701F70 00"} ] },
{ "name": "82 topic with U+007F", "msgs": [{"type":"send", "payload":"82 0A 1234 0005 746F707F70 00"} ] },
{ "name": "82 topic with U+009F", "msgs": [{"type":"send", "payload":"82 0A 1234 0005 746FC29F70 00"} ] },
{ "name": "82 topic with U+FFFF", "msgs": [{"type":"send", "payload":"82 0A 1234 0005 746FEDBFBF 00"} ] },
{ "name": "82 long", "msgs": [{"type":"send", "payload":"82 07 1234 0001 70 00 00"}]},
{ "name": "82 short 5 [MQTT-3.8.3-3]", "msgs": [{"type":"send", "payload":"82 05 1234 0001 70"}]},
{ "name": "82 short 4", "msgs": [{"type":"send", "payload":"82 04 1234 0000"}]},
{ "name": "82 short 3", "msgs": [{"type":"send", "payload":"82 03 1234 00"}]},
{ "name": "82 short 2", "msgs": [{"type":"send", "payload":"82 02 1234"}]},
{ "name": "82 short 1", "msgs": [{"type":"send", "payload":"82 01 12"}]},
{ "name": "82 short 0", "msgs": [{"type":"send", "payload":"82 00"}]},
{ "name": "82 single topic len 0", "msgs": [{"type":"send", "payload":"82 05 1234 0000 00"}]},
{ "name": "82 multiple topic 1 len 0", "msgs": [{"type":"send", "payload":"82 09 1234 0000 00 0001 71 00"}]},
{ "name": "82 multiple topic 2 len 0", "msgs": [{"type":"send", "payload":"82 09 1234 0001 71 00 0000 00"}]},
{ "name": "82 multiple topic 1,2 len 0", "msgs": [{"type":"send", "payload":"82 08 1234 0000 00 0000 00"}]},
{ "name": "82 mid 0", "msgs": [{"type":"send", "payload":"82 06 0000 0001 70 00"}]},
{ "name": "82 single ok QoS 0 [MQTT-3.8.4-1]", "msgs": [{"type":"send", "payload":"82 06 1234 0001 70 00"}]},
{ "name": "82 single ok QoS 1 [MQTT-3.8.4-1]", "msgs": [{"type":"send", "payload":"82 06 1234 0001 70 01"}]},
{ "name": "82 single ok QoS 2 [MQTT-3.8.4-1]", "msgs": [{"type":"send", "payload":"82 06 1234 0001 70 02"}]},
{ "name": "82 multiple ok [MQTT-3.8.4-4]", "msgs": [{"type":"send", "payload":"82 0A 1234 0001 70 00 0001 71 00"}]}
{ "name": "82 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"82 r6 m1234 s1 'p' 00"}]},
{ "name": "80", "msgs": [{"type":"send", "payload":"80 r6 m1234 s1 'p' 00"}]},
{ "name": "83 [MQTT-3.8.1-1]", "msgs": [{"type":"send", "payload":"83 r6 m1234 s1 'p' 00"}]},
{ "name": "84 [MQTT-3.8.1-1]", "msgs": [{"type":"send", "payload":"84 r6 m1234 s1 'p' 00"}]},
{ "name": "86 [MQTT-3.8.1-1]", "msgs": [{"type":"send", "payload":"86 r6 m1234 s1 'p' 00"}]},
{ "name": "8A [MQTT-3.8.1-1]", "msgs": [{"type":"send", "payload":"8A r6 m1234 s1 'p' 00"}]},
{ "name": "82 QoS 3 [MQTT-3-8.3-4]", "msgs": [{"type":"send", "payload":"82 r6 m1234 s1 'p' 03"}]},
{ "name": "82 QoS 0x04 [MQTT-3-8.3-4]", "msgs": [{"type":"send", "payload":"82 r6 m1234 s1 'p' 04"}]},
{ "name": "82 QoS 0x08 [MQTT-3-8.3-4]", "msgs": [{"type":"send", "payload":"82 r6 m1234 s1 'p' 08"}]},
{ "name": "82 QoS 0x10 [MQTT-3-8.3-4]", "msgs": [{"type":"send", "payload":"82 r6 m1234 s1 'p' 10"}]},
{ "name": "82 QoS 0x20 [MQTT-3-8.3-4]", "msgs": [{"type":"send", "payload":"82 r6 m1234 s1 'p' 20"}]},
{ "name": "82 QoS 0x40 [MQTT-3-8.3-4]", "msgs": [{"type":"send", "payload":"82 r6 m1234 s1 'p' 40"}]},
{ "name": "82 QoS 0x80 [MQTT-3-8.3-4]", "msgs": [{"type":"send", "payload":"82 r6 m1234 s1 'p' 80"}]},
{ "name": "82 topic with 0x0000", "msgs": [{"type":"send", "payload":"82 r10 m1234 s5 746F700000 00"} ] },
{ "name": "82 topic with U+D800", "msgs": [{"type":"send", "payload":"82 r10 m1234 s5 746FEDA080 00"} ] },
{ "name": "82 topic with U+0001", "msgs": [{"type":"send", "payload":"82 r10 m1234 s5 746F700170 00"} ] },
{ "name": "82 topic with U+001F", "msgs": [{"type":"send", "payload":"82 r10 m1234 s5 746F701F70 00"} ] },
{ "name": "82 topic with U+007F", "msgs": [{"type":"send", "payload":"82 r10 m1234 s5 746F707F70 00"} ] },
{ "name": "82 topic with U+009F", "msgs": [{"type":"send", "payload":"82 r10 m1234 s5 746FC29F70 00"} ] },
{ "name": "82 topic with U+FFFF", "msgs": [{"type":"send", "payload":"82 r10 m1234 s5 746FEDBFBF 00"} ] },
{ "name": "82 long", "msgs": [{"type":"send", "payload":"82 r7 m1234 s1 'p' 00 00"}]},
{ "name": "82 short 5 [MQTT-3.8.3-3]", "msgs": [{"type":"send", "payload":"82 05 m1234 s1 'p'"}]},
{ "name": "82 short 4", "msgs": [{"type":"send", "payload":"82 r4 m1234 0000"}]},
{ "name": "82 short 3", "msgs": [{"type":"send", "payload":"82 r3 m1234 00"}]},
{ "name": "82 short 2", "msgs": [{"type":"send", "payload":"82 r2 1234"}]},
{ "name": "82 short 1", "msgs": [{"type":"send", "payload":"82 r1 12"}]},
{ "name": "82 short 0", "msgs": [{"type":"send", "payload":"82 r0"}]},
{ "name": "82 single topic len 0", "msgs": [{"type":"send", "payload":"82 r5 m1234 s0 00"}]},
{ "name": "82 multiple topic 1 len 0", "msgs": [{"type":"send", "payload":"82 r9 m1234 s0 00 s1 'q' 00"}]},
{ "name": "82 multiple topic 2 len 0", "msgs": [{"type":"send", "payload":"82 r9 m1234 s1 'q' 00 s0 00"}]},
{ "name": "82 multiple topic 1,2 len 0", "msgs": [{"type":"send", "payload":"82 r8 m1234 s0 00 s0 00"}]},
{ "name": "82 mid 0", "msgs": [{"type":"send", "payload":"82 r6 m0 s1 'p' 00"}]},
{ "name": "82 single ok QoS 0 [MQTT-3.8.4-1]", "msgs": [{"type":"send", "payload":"82 r6 m1234 s1 'p' 00"}]},
{ "name": "82 single ok QoS 1 [MQTT-3.8.4-1]", "msgs": [{"type":"send", "payload":"82 r6 m1234 s1 'p' 01"}]},
{ "name": "82 single ok QoS 2 [MQTT-3.8.4-1]", "msgs": [{"type":"send", "payload":"82 r6 m1234 s1 'p' 02"}]},
{ "name": "82 multiple ok [MQTT-3.8.4-4]", "msgs": [{"type":"send", "payload":"82 r10 m1234 s1 'p' 00 s1 'q' 00"}]}
]
},
{
"group": "v5.0 SUBSCRIBE",
"ver":5,
"tests": [
{ "name": "82 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"82 07 1234 00 0001 70 00"}]},
{ "name": "82 single ok QoS 0 [MQTT-3.8.4-1]", "msgs": [{"type":"send", "payload":"82 07 1234 00 0001 70 00"}]},
{ "name": "82 single ok QoS 1 [MQTT-3.8.4-1]", "msgs": [{"type":"send", "payload":"82 07 1234 00 0001 70 01"}]},
{ "name": "82 single ok QoS 2 [MQTT-3.8.4-1]", "msgs": [{"type":"send", "payload":"82 07 1234 00 0001 70 02"}]},
{ "name": "80", "msgs": [{"type":"send", "payload":"8007123400 0001 70 00"}]},
{ "name": "83 [MQTT-3.8.1-1]", "msgs": [{"type":"send", "payload":"8307123400 0001 70 00"}]},
{ "name": "84 [MQTT-3.8.1-1]", "msgs": [{"type":"send", "payload":"8407123400 0001 70 00"}]},
{ "name": "86 [MQTT-3.8.1-1]", "msgs": [{"type":"send", "payload":"8607123400 0001 70 00"}]},
{ "name": "8A [MQTT-3.8.1-1]", "msgs": [{"type":"send", "payload":"8A 07 1234 00 0001 70 00"}]},
{ "name": "82 QoS 3 [MQTT-3-8.3-4]", "msgs": [{"type":"send", "payload":"82 07 1234 00 0001 70 03"}]},
{ "name": "82 QoS 0 no local 0x04", "msgs": [{"type":"send", "payload":"82 07 1234 00 0001 70 04"}]},
{ "name": "82 QoS 0 retain as published 0x08", "msgs": [{"type":"send", "payload":"82 07 1234 00 0001 70 08"}]},
{ "name": "82 QoS 0 retain handling=1 0x10", "msgs": [{"type":"send", "payload":"82 07 1234 00 0001 70 10"}]},
{ "name": "82 QoS 0 retain handling=2 0x20", "msgs": [{"type":"send", "payload":"82 07 1234 00 0001 70 20"}]},
{ "name": "82 QoS 0 retain handling=3 0x30 [MQTT-3-8.3-4]", "msgs": [{"type":"send", "payload":"82 07 1234 00 0001 70 30"}]},
{ "name": "82 QoS 0x40 [MQTT-3-8.3-5]", "msgs": [{"type":"send", "payload":"82 07 1234 00 0001 70 40"}]},
{ "name": "82 QoS 0x80 [MQTT-3-8.3-5]", "msgs": [{"type":"send", "payload":"82 07 1234 00 0001 70 80"}]},
{ "name": "82 topic with 0x0000", "msgs": [{"type":"send", "payload":"82121234000005746F7000007061796C6F616400"}]},
{ "name": "82 topic with U+D800", "msgs": [{"type":"send", "payload":"82121234000005746FEDA0807061796C6F616400"}]},
{ "name": "82 topic with U+0001", "msgs": [{"type":"send", "payload":"82121234000005746F7001707061796C6F616400"}]},
{ "name": "82 topic with U+001F", "msgs": [{"type":"send", "payload":"82121234000005746F701F707061796C6F616400"}]},
{ "name": "82 topic with U+007F", "msgs": [{"type":"send", "payload":"82121234000005746F707F707061796C6F616400"}]},
{ "name": "82 topic with U+009F", "msgs": [{"type":"send", "payload":"82121234000005746FC29F707061796C6F616400"}]},
{ "name": "82 topic with U+FFFF", "msgs": [{"type":"send", "payload":"82121234000005746FEDBFBF7061796C6F616400"}]},
{ "name": "82 long", "msgs": [{"type":"send", "payload":"82 08 1234 00 0001 70 00 00"}]},
{ "name": "82 short 5 [MQTT-3.8.3-3]", "msgs": [{"type":"send", "payload":"82 06 1234 00 0001 70"}]},
{ "name": "82 short 5", "msgs": [{"type":"send", "payload":"82 05 1234 00 0000"}]},
{ "name": "82 short 4", "msgs": [{"type":"send", "payload":"82 04 1234 00 00"}]},
{ "name": "82 short 3", "msgs": [{"type":"send", "payload":"82 03 1234 00"}]},
{ "name": "82 short 2", "msgs": [{"type":"send", "payload":"82 02 1234"}]},
{ "name": "82 short 1", "msgs": [{"type":"send", "payload":"82 01 12"}]},
{ "name": "82 short 0", "msgs": [{"type":"send", "payload":"82 00"}]},
{ "name": "82 single topic len 0", "msgs": [{"type":"send", "payload":"82 06 1234 00 0000 00"}]},
{ "name": "82 multiple topic 1 len 0", "msgs": [{"type":"send", "payload":"82 0A 1234 00 0000 00 0001 71 00"}]},
{ "name": "82 multiple topic 2 len 0", "msgs": [{"type":"send", "payload":"82 0A 1234 00 0001 71 00 0000 00"}]},
{ "name": "82 multiple topic 1,2 len 0", "msgs": [{"type":"send", "payload":"82 09 1234 00 0000 00 0000 00"}]},
{ "name": "82 single ok QoS 0 [MQTT-3.8.4-1]", "msgs": [{"type":"send", "payload":"82 07 1234 00 0001 70 00"}]},
{ "name": "82 single ok QoS 1 [MQTT-3.8.4-1]", "msgs": [{"type":"send", "payload":"82 07 1234 00 0001 70 01"}]},
{ "name": "82 single ok QoS 2 [MQTT-3.8.4-1]", "msgs": [{"type":"send", "payload":"82 07 1234 00 0001 70 02"}]},
{ "name": "82 multiple ok [MQTT-3.8.4-4]", "msgs": [{"type":"send", "payload":"82 0B 1234 00 0001 70 00 0001 71 00"}]},
{ "name": "82 mid 0", "msgs": [{"type":"send", "payload":"82 07 0000 00 0001 70 00"}]}
{ "name": "82 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"82 07 m1234 v0 s1 'p' 00"}]},
{ "name": "82 single ok QoS 0 [MQTT-3.8.4-1]", "msgs": [{"type":"send", "payload":"82 07 m1234 v0 s1 'p' 00"}]},
{ "name": "82 single ok QoS 1 [MQTT-3.8.4-1]", "msgs": [{"type":"send", "payload":"82 07 m1234 v0 s1 'p' 01"}]},
{ "name": "82 single ok QoS 2 [MQTT-3.8.4-1]", "msgs": [{"type":"send", "payload":"82 07 m1234 v0 s1 'p' 02"}]},
{ "name": "80", "msgs": [{"type":"send", "payload":"80 r7 m1234 v0 s1 'p' 00"}]},
{ "name": "83 [MQTT-3.8.1-1]", "msgs": [{"type":"send", "payload":"83 r7 m1234 v0 s1 'p' 00"}]},
{ "name": "84 [MQTT-3.8.1-1]", "msgs": [{"type":"send", "payload":"84 r7 m1234 v0 s1 'p' 00"}]},
{ "name": "86 [MQTT-3.8.1-1]", "msgs": [{"type":"send", "payload":"86 r7 m1234 v0 s1 'p' 00"}]},
{ "name": "8A [MQTT-3.8.1-1]", "msgs": [{"type":"send", "payload":"8A r7 m1234 v0 s1 'p' 00"}]},
{ "name": "82 QoS 3 [MQTT-3-8.3-4]", "msgs": [{"type":"send", "payload":"82 r7 m1234 v0 s1 'p' 03"}]},
{ "name": "82 QoS 0 no local 0x04", "msgs": [{"type":"send", "payload":"82 r7 m1234 v0 s1 'p' 04"}]},
{ "name": "82 QoS 0 retain as published 0x08", "msgs": [{"type":"send", "payload":"82 r7 m1234 v0 s1 'p' 08"}]},
{ "name": "82 QoS 0 retain handling=1 0x10", "msgs": [{"type":"send", "payload":"82 r7 m1234 v0 s1 'p' 10"}]},
{ "name": "82 QoS 0 retain handling=2 0x20", "msgs": [{"type":"send", "payload":"82 r7 m1234 v0 s1 'p' 20"}]},
{ "name": "82 QoS 0 retain handling=3 0x30 [MQTT-3-8.3-4]", "msgs": [{"type":"send", "payload":"82 r7 m1234 v0 s1 'p' 30"}]},
{ "name": "82 QoS 0x40 [MQTT-3-8.3-5]", "msgs": [{"type":"send", "payload":"82 r7 m1234 v0 s1 'p' 40"}]},
{ "name": "82 QoS 0x80 [MQTT-3-8.3-5]", "msgs": [{"type":"send", "payload":"82 r7 m1234 v0 s1 'p' 80"}]},
{ "name": "82 topic with 0x0000", "msgs": [{"type":"send", "payload":"82 r18 m1234 v0 s5 746F700000 'payload' 00"}]},
{ "name": "82 topic with U+D800", "msgs": [{"type":"send", "payload":"82 r18 m1234 v0 s5 746FEDA080 'payload' 00"}]},
{ "name": "82 topic with U+0001", "msgs": [{"type":"send", "payload":"82 r18 m1234 v0 s5 746F700170 'payload' 00"}]},
{ "name": "82 topic with U+001F", "msgs": [{"type":"send", "payload":"82 r18 m1234 v0 s5 746F701F70 'payload' 00"}]},
{ "name": "82 topic with U+007F", "msgs": [{"type":"send", "payload":"82 r18 m1234 v0 s5 746F707F70 'payload' 00"}]},
{ "name": "82 topic with U+009F", "msgs": [{"type":"send", "payload":"82 r18 m1234 v0 s5 746FC29F70 'payload' 00"}]},
{ "name": "82 topic with U+FFFF", "msgs": [{"type":"send", "payload":"82 r18 m1234 v0 s5 746FEDBFBF 'payload' 00"}]},
{ "name": "82 long", "msgs": [{"type":"send", "payload":"82 r8 m1234 v0 s1 'p' 00 00"}]},
{ "name": "82 short 5 [MQTT-3.8.3-3]", "msgs": [{"type":"send", "payload":"82 06 m1234 v0 0001 70"}]},
{ "name": "82 short 5", "msgs": [{"type":"send", "payload":"82 r5 m1234 v0 0000"}]},
{ "name": "82 short 4", "msgs": [{"type":"send", "payload":"82 r4 m1234 v0 00"}]},
{ "name": "82 short 3", "msgs": [{"type":"send", "payload":"82 r3 m1234 v0"}]},
{ "name": "82 short 2", "msgs": [{"type":"send", "payload":"82 r2 m1234"}]},
{ "name": "82 short 1", "msgs": [{"type":"send", "payload":"82 r1 12"}]},
{ "name": "82 short 0", "msgs": [{"type":"send", "payload":"82 r0"}]},
{ "name": "82 single topic len 0", "msgs": [{"type":"send", "payload":"82 r6 m1234 v0 0000 00"}]},
{ "name": "82 multiple topic 1 len 0", "msgs": [{"type":"send", "payload":"82 r10 m1234 v0 0000 00 s1 'q' 00"}]},
{ "name": "82 multiple topic 2 len 0", "msgs": [{"type":"send", "payload":"82 r10 m1234 v0 s1 'q' 00 0000 00"}]},
{ "name": "82 multiple topic 1,2 len 0", "msgs": [{"type":"send", "payload":"82 r9 m1234 v0 0000 00 0000 00"}]},
{ "name": "82 single ok QoS 0 [MQTT-3.8.4-1]", "msgs": [{"type":"send", "payload":"82 r7 m1234 v0 s1 'p' 00"}]},
{ "name": "82 single ok QoS 1 [MQTT-3.8.4-1]", "msgs": [{"type":"send", "payload":"82 r7 m1234 v0 s1 'p' 01"}]},
{ "name": "82 single ok QoS 2 [MQTT-3.8.4-1]", "msgs": [{"type":"send", "payload":"82 r7 m1234 v0 s1 'p' 02"}]},
{ "name": "82 multiple ok [MQTT-3.8.4-4]", "msgs": [{"type":"send", "payload":"82 r11 m1234 v0 s1 'p' 00 s1 'q' 00"}]},
{ "name": "82 mid 0", "msgs": [{"type":"send", "payload":"82 r7 m0 v0 s1 'p' 00"}]}
]
},
{
"group": "v5.0 SUBSCRIBE ALLOWED PROPERTIES",
"ver":5,
"tests": [
{ "name": "82 with user-property", "msgs": [{"type":"send", "payload":"82 0E 0001 07 26000170000171 0001 70 00"}]},
{ "name": "82 with 2*user-property", "msgs": [{"type":"send", "payload":"82 15 0001 0E 26000170000171 26000170000171 0001 70 00"}]},
{ "name": "82 with user-property missing value", "msgs": [{"type":"send", "payload":"82 0B 0001 04 26000170 0001 70 00"}]},
{ "name": "82 with user-property missing key,value", "msgs": [{"type":"send", "payload":"82 08 0001 01 26 0001 70 00"}]},
{ "name": "82 with user-property empty key", "msgs": [{"type":"send", "payload":"82 0D 0001 06 26 0000 0001 70 0001 70 00"}]},
{ "name": "82 with user-property empty value", "msgs": [{"type":"send", "payload":"82 0D 0001 06 26 0001 70 0000 0001 70 00"}]},
{ "name": "82 with user-property empty key,value", "msgs": [{"type":"send", "payload":"82 0C 0001 05 26 0000 0000 0001 70 00"}]},
{ "name": "82 with subscription-identifier missing (variable byte integer)", "msgs": [{"type":"send", "payload":"82 08 0001 01 0B 0001 70 00"}]},
{ "name": "82 with subscription-identifier=0 (variable byte integer)", "msgs": [{"type":"send", "payload":"82 09 0001 02 0B00 0001 70 00"}]},
{ "name": "82 with subscription-identifier=1 (variable byte integer)", "msgs": [{"type":"send", "payload":"82 09 0001 02 0B01 0001 70 00"}]},
{ "name": "82 with 2*subscription-identifier=1 (variable byte integer)", "msgs": [{"type":"send", "payload":"82 0B 0001 04 0B010B01 0001 70 00"}]},
{ "name": "82 with subscription-identifier=0x7F (variable byte integer)", "msgs": [{"type":"send", "payload":"82 09 0001 02 0B7F 0001 70 00"}]},
{ "name": "82 with subscription-identifier=0x8000 (variable byte integer)", "msgs": [{"type":"send", "payload":"82 0A 0001 03 0B8000 0001 70 00"}]},
{ "name": "82 with subscription-identifier=0x8001 (variable byte integer)", "msgs": [{"type":"send", "payload":"82 0A 0001 03 0B8001 0001 70 00"}]},
{ "name": "82 with subscription-identifier=0xFF7F (variable byte integer)", "msgs": [{"type":"send", "payload":"82 0A 0001 03 0BFF7F 0001 70 00"}]},
{ "name": "82 with subscription-identifier=0x808001 (variable byte integer)", "msgs": [{"type":"send", "payload":"82 0B 0001 04 0B808001 0001 70 00"}]},
{ "name": "82 with subscription-identifier=0xFFFF7F (variable byte integer)", "msgs": [{"type":"send", "payload":"82 0B 0001 04 0BFFFF7F 0001 70 00"}]},
{ "name": "82 with subscription-identifier=0x80808001 (variable byte integer)", "msgs": [{"type":"send", "payload":"82 0C 0001 05 0B80808001 0001 70 00"}]},
{ "name": "82 with subscription-identifier=0xFFFFFF7F (variable byte integer)", "msgs": [{"type":"send", "payload":"82 0C 0001 05 0BFFFFFF7F 0001 70 00"}]},
{ "name": "82 with subscription-identifier=0x8080808001 (variable byte integer)", "msgs": [{"type":"send", "payload":"82 0D 0001 06 0B8080808001 0001 70 00"}]}
{ "name": "82 with user-property", "msgs": [{"type":"send", "payload":"82 r14 m1 v7 26 s1 'p' s1 'q' s1 'p' 00"}]},
{ "name": "82 with 2*user-property", "msgs": [{"type":"send", "payload":"82 r21 m1 v14 26 s1 'p' s1 'q' 26 s1 'p' s1 'q' s1 'p' 00"}]},
{ "name": "82 with user-property missing value", "msgs": [{"type":"send", "payload":"82 r11 m1 v4 26 s1 'p' s1 'p' 00"}]},
{ "name": "82 with user-property missing key,value", "msgs": [{"type":"send", "payload":"82 r8 m1 v1 26 s1 'p' 00"}]},
{ "name": "82 with user-property empty key", "msgs": [{"type":"send", "payload":"82 r13 m1 v6 26 0000 s1 'p' s1 'p' 00"}]},
{ "name": "82 with user-property empty value", "msgs": [{"type":"send", "payload":"82 r13 m1 v6 26 s1 'p' s0 s1 'p' 00"}]},
{ "name": "82 with user-property empty key,value", "msgs": [{"type":"send", "payload":"82 r12 m1 v5 26 s0 s0 s1 'p' 00"}]},
{ "name": "82 with subscription-identifier missing (variable byte integer)", "msgs": [{"type":"send", "payload":"82 r8 m1 v1 0B s1 'p' 00"}]},
{ "name": "82 with subscription-identifier=0 (variable byte integer)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 0B v0 s1 'p' 00"}]},
{ "name": "82 with subscription-identifier=1 (variable byte integer)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 0B v8 s1 'p' 00"}]},
{ "name": "82 with 2*subscription-identifier=1 (variable byte integer)", "msgs": [{"type":"send", "payload":"82 r11 m1 v4 0B v1 0B i1 s1 'p' 00"}]},
{ "name": "82 with subscription-identifier=0x7F (variable byte integer)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 0B 7F s1 'p' 00"}]},
{ "name": "82 with subscription-identifier=0x8000 (variable byte integer)", "msgs": [{"type":"send", "payload":"82 r10 m1 v3 0B 8000 s1 'p' 00"}]},
{ "name": "82 with subscription-identifier=0x8001 (variable byte integer)", "msgs": [{"type":"send", "payload":"82 r10 m1 v3 0B 8001 s1 'p' 00"}]},
{ "name": "82 with subscription-identifier=0xFF7F (variable byte integer)", "msgs": [{"type":"send", "payload":"82 r10 m1 v3 0B FF7F s1 'p' 00"}]},
{ "name": "82 with subscription-identifier=0x808001 (variable byte integer)", "msgs": [{"type":"send", "payload":"82 r11 m1 v4 0B 808001 s1 'p' 00"}]},
{ "name": "82 with subscription-identifier=0xFFFF7F (variable byte integer)", "msgs": [{"type":"send", "payload":"82 r11 m1 v4 0B FFFF7F s1 'p' 00"}]},
{ "name": "82 with subscription-identifier=0x80808001 (variable byte integer)", "msgs": [{"type":"send", "payload":"82 r12 m1 v5 0B 80808001 s1 'p' 00"}]},
{ "name": "82 with subscription-identifier=0xFFFFFF7F (variable byte integer)", "msgs": [{"type":"send", "payload":"82 r12 m1 v5 0B FFFFFF7F s1 'p' 00"}]},
{ "name": "82 with subscription-identifier=0x8080808001 (variable byte integer)", "msgs": [{"type":"send", "payload":"82 r13 m1 v6 0B 8080808001 s1 'p' 00"}]}
]
},
{
"group": "v5.0 SUBSCRIBE DISALLOWED PROPERTIES",
"ver":5,
"tests": [
{ "name": "82 with payload-format-indicator (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 0100 0001 70 00"}]},
{ "name": "82 with request-problem-information (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 1700 0001 70 00"}]},
{ "name": "82 with maximum-qos (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 2400 0001 70 00"}]},
{ "name": "82 with retain-available (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 2500 0001 70 00"}]},
{ "name": "82 with wildcard-subscription-available (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 2800 0001 70 00"}]},
{ "name": "82 with subscription-identifier-available (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 2900 0001 70 00"}]},
{ "name": "82 with shared-subscription-available (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 2A00 0001 70 00"}]},
{ "name": "82 with message-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"82 0C 0001 05 0200000001 0001 70 00"}]},
{ "name": "82 with session-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"82 0C 0001 05 1100000001 0001 70 00"}]},
{ "name": "82 with will-delay-interval (four byte integer)", "msgs": [{"type":"send", "payload":"82 0C 0001 05 1800000001 0001 70 00"}]},
{ "name": "82 with maximum-packet-size (four byte integer)", "msgs": [{"type":"send", "payload":"82 0C 0001 052700000001 0001 70 00"}]},
{ "name": "82 with content-type (UTF-8 string)", "msgs": [{"type":"send", "payload":"82 0B 0001 04 03000170 0001 70 00"}]},
{ "name": "82 with response-topic (UTF-8 string)", "msgs": [{"type":"send", "payload":"82 0B 0001 04 08000170 0001 70 00"}]},
{ "name": "82 with assigned-client-identifier (UTF-8 string)", "msgs": [{"type":"send", "payload":"82 0B 0001 04 12000170 0001 70 00"}]},
{ "name": "82 with authentication-method (UTF-8 string)", "msgs": [{"type":"send", "payload":"82 0B 0001 04 15000170 0001 70 00"}]},
{ "name": "82 with response-information (UTF-8 string)", "msgs": [{"type":"send", "payload":"82 0B 0001 04 1A000170 0001 70 00"}]},
{ "name": "82 with server-reference (UTF-8 string)", "msgs": [{"type":"send", "payload":"82 0B 0001 04 1C000170 0001 70 00"}]},
{ "name": "82 with correlation-data (binary data)", "msgs": [{"type":"send", "payload":"82 0B 0001 04 09000170 0001 70 00"}]},
{ "name": "82 with authentication-data (binary data)", "msgs": [{"type":"send", "payload":"82 0B 0001 04 16000170 0001 70 00"}]},
{ "name": "82 with server-keep-alive (two byte integer)", "msgs": [{"type":"send", "payload":"82 0A 0001 03 130101 0001 70 00"}]},
{ "name": "82 with receive-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"82 0A 0001 03 210101 0001 70 00"}]},
{ "name": "82 with topic-alias-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"82 0A 0001 03 220101 0001 70 00"}]},
{ "name": "82 with topic-alias (two byte integer)", "msgs": [{"type":"send", "payload":"82 0A 0001 03 230101 0001 70 00"}]},
{ "name": "82 with invalid-property 0x00 (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 0001 0001 70 00"}]},
{ "name": "82 with unknown-property 0x04 (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 0401 0001 70 00"}]},
{ "name": "82 with unknown-property 0x05 (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 0501 0001 70 00"}]},
{ "name": "82 with unknown-property 0x06 (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 0601 0001 70 00"}]},
{ "name": "82 with unknown-property 0x07 (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 0701 0001 70 00"}]},
{ "name": "82 with unknown-property 0x0A (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 0A01 0001 70 00"}]},
{ "name": "82 with unknown-property 0x0C (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 0C01 0001 70 00"}]},
{ "name": "82 with unknown-property 0x0D (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 0D01 0001 70 00"}]},
{ "name": "82 with unknown-property 0x0E (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 0E01 0001 70 00"}]},
{ "name": "82 with unknown-property 0x0F (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 0F01 0001 70 00"}]},
{ "name": "82 with unknown-property 0x10 (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 1001 0001 70 00"}]},
{ "name": "82 with unknown-property 0x14 (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 1401 0001 70 00"}]},
{ "name": "82 with unknown-property 0x1B (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 1B01 0001 70 00"}]},
{ "name": "82 with unknown-property 0x1D (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 1D01 0001 70 00"}]},
{ "name": "82 with unknown-property 0x1E (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 1E01 0001 70 00"}]},
{ "name": "82 with unknown-property 0x20 (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 2001 0001 70 00"}]},
{ "name": "82 with unknown-property 0x7F (byte)", "msgs": [{"type":"send", "payload":"82 09 0001 02 7F01 0001 70 00"}]},
{ "name": "82 with invalid-property 0x8000 (byte)", "msgs": [{"type":"send", "payload":"82 0A 0001 03 800001 0001 70 00"}]},
{ "name": "82 with unknown-property 0x8001 (byte)", "msgs": [{"type":"send", "payload":"82 0A 0001 03 800101 0001 70 00"}]},
{ "name": "82 with unknown-property 0xFF7F (byte)", "msgs": [{"type":"send", "payload":"82 0A 0001 03 FF7F01 0001 70 00"}]},
{ "name": "82 with unknown-property 0x808001 (byte)", "msgs": [{"type":"send", "payload":"82 0B 0001 04 80800101 0001 70 00"}]},
{ "name": "82 with unknown-property 0xFFFF7F (byte)", "msgs": [{"type":"send", "payload":"82 0B 0001 04 FFFF7F 01 0001 70 00"}]},
{ "name": "82 with unknown-property 0x80808001 (byte)", "msgs": [{"type":"send", "payload":"82 0C 0001 05 80808001 01 0001 70 00"}]},
{ "name": "82 with unknown-property 0xFFFFFF7F (byte)", "msgs": [{"type":"send", "payload":"82 0C 0001 05 FFFFFF7F 01 0001 70 00"}]}
{ "name": "82 with payload-format-indicator (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 01 i0 s1 'p' 00"}]},
{ "name": "82 with request-problem-information (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 17 i0 s1 'p' 00"}]},
{ "name": "82 with maximum-qos (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 24 i0 s1 'p' 00"}]},
{ "name": "82 with retain-available (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 25 i0 s1 'p' 00"}]},
{ "name": "82 with wildcard-subscription-available (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 28 i0 s1 'p' 00"}]},
{ "name": "82 with subscription-identifier-available (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 29 i0 s1 'p' 00"}]},
{ "name": "82 with shared-subscription-available (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 02 2A i0 s1 'p' 00"}]},
{ "name": "82 with message-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"82 r12 m1 v5 02 L1 s1 'p' 00"}]},
{ "name": "82 with session-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"82 r12 m1 v5 11 L1 s1 'p' 00"}]},
{ "name": "82 with will-delay-interval (four byte integer)", "msgs": [{"type":"send", "payload":"82 r12 m1 v5 18 L1 s1 'p' 00"}]},
{ "name": "82 with maximum-packet-size (four byte integer)", "msgs": [{"type":"send", "payload":"82 r12 m1 v5 27 L1 s1 'p' 00"}]},
{ "name": "82 with content-type (UTF-8 string)", "msgs": [{"type":"send", "payload":"82 r11 m1 v4 03 s1 'p' s1 'p' 00"}]},
{ "name": "82 with response-topic (UTF-8 string)", "msgs": [{"type":"send", "payload":"82 r11 m1 v4 08 s1 'p' s1 'p' 00"}]},
{ "name": "82 with assigned-client-identifier (UTF-8 string)", "msgs": [{"type":"send", "payload":"82 r11 m1 v4 12 s1 'p' s1 'p' 00"}]},
{ "name": "82 with authentication-method (UTF-8 string)", "msgs": [{"type":"send", "payload":"82 r11 m1 v4 15 s1 'p' s1 'p' 00"}]},
{ "name": "82 with response-information (UTF-8 string)", "msgs": [{"type":"send", "payload":"82 r11 m1 v4 1A s1 'p' s1 'p' 00"}]},
{ "name": "82 with server-reference (UTF-8 string)", "msgs": [{"type":"send", "payload":"82 r11 m1 v4 1C s1 'p' s1 'p' 00"}]},
{ "name": "82 with correlation-data (binary data)", "msgs": [{"type":"send", "payload":"82 r11 m1 v4 09 s1 'p' s1 'p' 00"}]},
{ "name": "82 with authentication-data (binary data)", "msgs": [{"type":"send", "payload":"82 r11 m1 v4 16 s1 'p' s1 'p' 00"}]},
{ "name": "82 with server-keep-alive (two byte integer)", "msgs": [{"type":"send", "payload":"82 r10 m1 v3 13 H5 s1 'p' 00"}]},
{ "name": "82 with receive-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"82 r10 m1 v3 21 H5 s1 'p' 00"}]},
{ "name": "82 with topic-alias-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"82 r10 m1 v3 22 H5 s1 'p' 00"}]},
{ "name": "82 with topic-alias (two byte integer)", "msgs": [{"type":"send", "payload":"82 r10 m1 v3 23 H5 s1 'p' 00"}]},
{ "name": "82 with invalid-property 0x00 (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 m1 s1 'p' 00"}]},
{ "name": "82 with unknown-property 0x04 (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 04 i1 s1 'p' 00"}]},
{ "name": "82 with unknown-property 0x05 (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 05 i1 s1 'p' 00"}]},
{ "name": "82 with unknown-property 0x06 (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 06 i1 s1 'p' 00"}]},
{ "name": "82 with unknown-property 0x07 (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 07 i1 s1 'p' 00"}]},
{ "name": "82 with unknown-property 0x0A (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 0A i1 s1 'p' 00"}]},
{ "name": "82 with unknown-property 0x0C (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 0C i1 s1 'p' 00"}]},
{ "name": "82 with unknown-property 0x0D (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 0D i1 s1 'p' 00"}]},
{ "name": "82 with unknown-property 0x0E (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 0E i1 s1 'p' 00"}]},
{ "name": "82 with unknown-property 0x0F (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 0F i1 s1 'p' 00"}]},
{ "name": "82 with unknown-property 0x10 (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 10 i1 s1 'p' 00"}]},
{ "name": "82 with unknown-property 0x14 (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 14 i1 s1 'p' 00"}]},
{ "name": "82 with unknown-property 0x1B (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 1B i1 s1 'p' 00"}]},
{ "name": "82 with unknown-property 0x1D (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 1D i1 s1 'p' 00"}]},
{ "name": "82 with unknown-property 0x1E (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 1E i1 s1 'p' 00"}]},
{ "name": "82 with unknown-property 0x20 (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 20 i1 s1 'p' 00"}]},
{ "name": "82 with unknown-property 0x7F (byte)", "msgs": [{"type":"send", "payload":"82 r9 m1 v2 7F i1 s1 'p' 00"}]},
{ "name": "82 with invalid-property 0x8000 (byte)", "msgs": [{"type":"send", "payload":"82 r10 m1 v3 8000 i1 s1 'p' 00"}]},
{ "name": "82 with unknown-property 0x8001 (byte)", "msgs": [{"type":"send", "payload":"82 r10 m1 v3 8001 i1 s1 'p' 00"}]},
{ "name": "82 with unknown-property 0xFF7F (byte)", "msgs": [{"type":"send", "payload":"82 r10 m1 v3 FF7F i1 s1 'p' 00"}]},
{ "name": "82 with unknown-property 0x808001 (byte)", "msgs": [{"type":"send", "payload":"82 r11 m1 v4 808001 i1 s1 'p' 00"}]},
{ "name": "82 with unknown-property 0xFFFF7F (byte)", "msgs": [{"type":"send", "payload":"82 r11 m1 v4 FFFF7F i1 s1 'p' 00"}]},
{ "name": "82 with unknown-property 0x80808001 (byte)", "msgs": [{"type":"send", "payload":"82 r12 m1 v5 80808001 i1 s1 'p' 00"}]},
{ "name": "82 with unknown-property 0xFFFFFF7F (byte)", "msgs": [{"type":"send", "payload":"82 r12 m1 v5 FFFFFF7F i1 s1 'p' 00"}]}
]
}
]

View File

@@ -3,14 +3,14 @@
"group": "v3.1.1 UNSUBACK unsolicited",
"ver":4,
"tests": [
{ "name": "B0 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"B0 02 0001"}]},
{ "name": "B0 short 0", "msgs": [{"type":"send", "payload":"B0 00"}]},
{ "name": "B0 short 1", "msgs": [{"type":"send", "payload":"B0 01 01"}]},
{ "name": "B0", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 02 0001"}]},
{ "name": "B1", "msgs": [{"type":"send", "payload":"B1 02 0001"}]},
{ "name": "B2", "msgs": [{"type":"send", "payload":"B2 02 0001"}]},
{ "name": "B4", "msgs": [{"type":"send", "payload":"B4 02 0001"}]},
{ "name": "B8", "msgs": [{"type":"send", "payload":"B8 02 0001"}]}
{ "name": "B0 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"B0 r2 m1"}]},
{ "name": "B0 short 0", "msgs": [{"type":"send", "payload":"B0 r0"}]},
{ "name": "B0 short 1", "msgs": [{"type":"send", "payload":"B0 r1 01"}]},
{ "name": "B0", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 r2 m1"}]},
{ "name": "B1", "msgs": [{"type":"send", "payload":"B1 r2 m1"}]},
{ "name": "B2", "msgs": [{"type":"send", "payload":"B2 r2 m1"}]},
{ "name": "B4", "msgs": [{"type":"send", "payload":"B4 r2 m1"}]},
{ "name": "B8", "msgs": [{"type":"send", "payload":"B8 r2 m1"}]}
]
},
{
@@ -18,39 +18,39 @@
"ver":4,
"command":"unsubscribe",
"group_msgs":[
{"type":"recv", "payload":"A2 12 0001 000E 746573742F737562736372696265"}
{"type":"recv", "payload":"A2 r18 m1 s14 'test/subscribe'"}
],
"tests": [
{ "name": "B0 short 0", "msgs": [{"type":"send", "payload":"B0 00"}]},
{ "name": "B0 short 1", "msgs": [{"type":"send", "payload":"B0 01 01"}]},
{ "name": "B0", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 02 0001"}]},
{ "name": "B1", "msgs": [{"type":"send", "payload":"B1 02 0001"}]},
{ "name": "B2", "msgs": [{"type":"send", "payload":"B2 02 0001"}]},
{ "name": "B4", "msgs": [{"type":"send", "payload":"B4 02 0001"}]},
{ "name": "B8", "msgs": [{"type":"send", "payload":"B8 02 0001"}]}
{ "name": "B0 short 0", "msgs": [{"type":"send", "payload":"B0 r0"}]},
{ "name": "B0 short 1", "msgs": [{"type":"send", "payload":"B0 r1 01"}]},
{ "name": "B0", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 r2 m1"}]},
{ "name": "B1", "msgs": [{"type":"send", "payload":"B1 r2 m1"}]},
{ "name": "B2", "msgs": [{"type":"send", "payload":"B2 r2 m1"}]},
{ "name": "B4", "msgs": [{"type":"send", "payload":"B4 r2 m1"}]},
{ "name": "B8", "msgs": [{"type":"send", "payload":"B8 r2 m1"}]}
]
},
{
"group": "v5.0 UNSUBACK unsolicited",
"ver":5,
"tests": [
{ "name": "B0 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"B0 03 0001 00"}]},
{ "name": "B0 short 0", "msgs": [{"type":"send", "payload":"B0 00"}]},
{ "name": "B0 short 1", "msgs": [{"type":"send", "payload":"B0 01 01"}]},
{ "name": "B0 short 2", "msgs": [{"type":"send", "payload":"B0 02 0001"}]},
{ "name": "B0", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 03 0001 00"}]},
{ "name": "B1", "msgs": [{"type":"send", "payload":"B1 03 0001 00"}]},
{ "name": "B2", "msgs": [{"type":"send", "payload":"B2 03 0001 00"}]},
{ "name": "B4", "msgs": [{"type":"send", "payload":"B4 03 0001 00"}]},
{ "name": "B8", "msgs": [{"type":"send", "payload":"B8 03 0001 00"}]},
{ "name": "B0 with property", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 07 0001 04 1F000170"}]},
{ "name": "B0 reason code 0x11 no sub", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 04 0001 00 11"}]},
{ "name": "B0 reason code 0x80 unspecified error", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 04 0001 00 80"}]},
{ "name": "B0 reason code 0x83 implementation specific error", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 04 0001 00 83"}]},
{ "name": "B0 reason code 0x87 not authorised", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 04 0001 00 87"}]},
{ "name": "B0 reason code 0x8F topic filter invalid", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 04 0001 00 8F"}]},
{ "name": "B0 reason code 0x91 packet identifier in use", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 04 0001 00 91"}]},
{ "name": "B0 reason code 0xFF unknown", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 04 0001 00 FF"}]}
{ "name": "B0 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"B0 r3 m1 00"}]},
{ "name": "B0 short 0", "msgs": [{"type":"send", "payload":"B0 r0"}]},
{ "name": "B0 short 1", "msgs": [{"type":"send", "payload":"B0 r1 01"}]},
{ "name": "B0 short 2", "msgs": [{"type":"send", "payload":"B0 r2 m1"}]},
{ "name": "B0", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 r3 m1 00"}]},
{ "name": "B1", "msgs": [{"type":"send", "payload":"B1 r3 m1 00"}]},
{ "name": "B2", "msgs": [{"type":"send", "payload":"B2 r3 m1 00"}]},
{ "name": "B4", "msgs": [{"type":"send", "payload":"B4 r3 m1 00"}]},
{ "name": "B8", "msgs": [{"type":"send", "payload":"B8 r3 m1 00"}]},
{ "name": "B0 with property", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 r7 m1 04 1F s1 'p'"}]},
{ "name": "B0 reason code 0x11 no sub", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 r4 m1 00 11"}]},
{ "name": "B0 reason code 0x80 unspecified error", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 r4 m1 00 80"}]},
{ "name": "B0 reason code 0x83 implementation specific error", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 r4 m1 00 83"}]},
{ "name": "B0 reason code 0x87 not authorised", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 r4 m1 00 87"}]},
{ "name": "B0 reason code 0x8F topic filter invalid", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 r4 m1 00 8F"}]},
{ "name": "B0 reason code 0x91 packet identifier in use", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 r4 m1 00 91"}]},
{ "name": "B0 reason code 0xFF unknown", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 r4 m1 00 FF"}]}
]
},
{
@@ -60,25 +60,25 @@
"ver":5,
"command":"unsubscribe",
"group_msgs":[
{"type":"recv", "payload":"A2 20 0001 0D 26 0003 6B6579 0005 76616C7565 000E 746573742F737562736372696265"}
{"type":"recv", "payload":"A2 r32 m1 v13 26 s3 'key' s5 'value' s14 'test/subscribe'"}
],
"tests": [
{ "name": "B0 short 0", "msgs": [{"type":"send", "payload":"B0 00"}]},
{ "name": "B0 short 1", "msgs": [{"type":"send", "payload":"B0 01 01"}]},
{ "name": "B0 short 2", "msgs": [{"type":"send", "payload":"B0 02 0001"}]},
{ "name": "B0", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 03 0001 00"}]},
{ "name": "B1", "msgs": [{"type":"send", "payload":"B1 03 0001 00"}]},
{ "name": "B2", "msgs": [{"type":"send", "payload":"B2 03 0001 00"}]},
{ "name": "B4", "msgs": [{"type":"send", "payload":"B4 03 0001 00"}]},
{ "name": "B8", "msgs": [{"type":"send", "payload":"B8 03 0001 00"}]},
{ "name": "B0 with property", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 07 0001 04 1F000170"}]},
{ "name": "B0 reason code 0x11 no sub", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 04 0001 00 11"}]},
{ "name": "B0 reason code 0x80 unspecified error", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 04 0001 00 80"}]},
{ "name": "B0 reason code 0x83 implementation specific error", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 04 0001 00 83"}]},
{ "name": "B0 reason code 0x87 not authorised", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 04 0001 00 87"}]},
{ "name": "B0 reason code 0x8F topic filter invalid", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 04 0001 00 8F"}]},
{ "name": "B0 reason code 0x91 packet identifier in use", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 04 0001 00 91"}]},
{ "name": "B0 reason code 0xFF unknown", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 04 0001 00 FF"}]}
{ "name": "B0 short 0", "msgs": [{"type":"send", "payload":"B0 r0"}]},
{ "name": "B0 short 1", "msgs": [{"type":"send", "payload":"B0 r1 01"}]},
{ "name": "B0 short 2", "msgs": [{"type":"send", "payload":"B0 r2 m1"}]},
{ "name": "B0", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 r3 m1 00"}]},
{ "name": "B1", "msgs": [{"type":"send", "payload":"B1 r3 m1 00"}]},
{ "name": "B2", "msgs": [{"type":"send", "payload":"B2 r3 m1 00"}]},
{ "name": "B4", "msgs": [{"type":"send", "payload":"B4 r3 m1 00"}]},
{ "name": "B8", "msgs": [{"type":"send", "payload":"B8 r3 m1 00"}]},
{ "name": "B0 with property", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 v7 m1 v4 1F s1 'p'"}]},
{ "name": "B0 reason code 0x11 no sub", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 v4 m1 v0 11"}]},
{ "name": "B0 reason code 0x80 unspecified error", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 v4 m1 v0 80"}]},
{ "name": "B0 reason code 0x83 implementation specific error", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 v4 m1 v0 83"}]},
{ "name": "B0 reason code 0x87 not authorised", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 v4 m1 v0 87"}]},
{ "name": "B0 reason code 0x8F topic filter invalid", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 v4 m1 v0 8F"}]},
{ "name": "B0 reason code 0x91 packet identifier in use", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 v4 m1 v0 91"}]},
{ "name": "B0 reason code 0xFF unknown", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 v4 m1 v0 FF"}]}
]
},
{
@@ -86,99 +86,99 @@
"ver":5,
"command":"unsubscribe",
"group_msgs":[
{"type":"recv", "payload":"A2 20 0001 0D 26 0003 6B6579 0005 76616C7565 000E 746573742F737562736372696265"}
{"type":"recv", "payload":"A2 r32 m1 v13 26 s3 'key' s5 'value' s14 'test/subscribe'"}
],
"tests": [
{ "name": "B0 with reason-string property", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 08 0001 04 1F000170 00"}]},
{ "name": "B0 with reason-string property missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 1F 00"}]},
{ "name": "B0 with user-property", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 0B 0001 07 26000170000171 00"}]},
{ "name": "B0 with user-property missing value", "msgs": [{"type":"send", "payload":"B0 08 0001 04 26000170 00"}]},
{ "name": "B0 with user-property missing key,value", "msgs": [{"type":"send", "payload":"B0 05 0001 01 26 00"}]},
{ "name": "B0 with user-property empty key", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 0A 0001 06 26 0000 0001 70 00"}]},
{ "name": "B0 with user-property empty value", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 0A 0001 06 26 0001 70 0000 00"}]},
{ "name": "B0 with user-property empty key,value", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 09 0001 05 26 0000 0000 00"}]}
{ "name": "B0 with reason-string property", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 r8 m1 v4 1F s1 'p' 00"}]},
{ "name": "B0 with reason-string property missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 1F 00"}]},
{ "name": "B0 with user-property", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 r11 m1 v7 26 s1 'p' s1 'q' 00"}]},
{ "name": "B0 with user-property missing value", "msgs": [{"type":"send", "payload":"B0 r8 m1 v4 26 s1 'p' 00"}]},
{ "name": "B0 with user-property missing key,value", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 26 00"}]},
{ "name": "B0 with user-property empty key", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 r10 m1 v6 26 s0 s1 'p' 00"}]},
{ "name": "B0 with user-property empty value", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 r10 m1 v6 26 s1 'p' s0 00"}]},
{ "name": "B0 with user-property empty key,value", "expect_disconnect":false, "msgs": [{"type":"send", "payload":"B0 r9 m1 v5 26 s0 s0 00"}]}
]
},
{
"group": "v5.0 UNSUBACK DISALLOWED PROPERTIES",
"ver":5,
"group_msgs":[
{"type":"recv", "payload":"A2 20 0001 0D 26 0003 6B6579 0005 76616C7565 000E 746573742F737562736372696265"}
{"type":"recv", "payload":"A2 r32 m1 v13 26 s3 'key' s5 'value' s14 'test/subscribe'"}
],
"command":"unsubscribe",
"tests": [
{ "name": "B0 with payload-format-indicator (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 0100 00"}]},
{ "name": "B0 with request-problem-information (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 1700 00"}]},
{ "name": "B0 with maximum-qos (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 2400 00"}]},
{ "name": "B0 with retain-available (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 2500 00"}]},
{ "name": "B0 with wildcard-subscription-available (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 2800 00"}]},
{ "name": "B0 with subscription-identifier-available (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 2900 00"}]},
{ "name": "B0 with shared-subscription-available (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 2A00 00"}]},
{ "name": "B0 with payload-format-indicator (byte) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 01 00"}]},
{ "name": "B0 with request-problem-information (byte) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 17 00"}]},
{ "name": "B0 with maximum-qos (byte) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 24 00"}]},
{ "name": "B0 with retain-available (byte) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 25 00"}]},
{ "name": "B0 with wildcard-subscription-available (byte) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 28 00"}]},
{ "name": "B0 with subscription-identifier-available (byte) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 29 00"}]},
{ "name": "B0 with shared-subscription-available (byte) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 2A 00"}]},
{ "name": "B0 with message-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"B0 09 0001 05 0200000001 00"}]},
{ "name": "B0 with session-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"B0 09 0001 05 1100000001 00"}]},
{ "name": "B0 with will-delay-interval (four byte integer)", "msgs": [{"type":"send", "payload":"B0 09 0001 05 1800000001 00"}]},
{ "name": "B0 with maximum-packet-size (four byte integer)", "msgs": [{"type":"send", "payload":"B0 09 0001 05 2700000001 00"}]},
{ "name": "B0 with message-expiry-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 02 00"}]},
{ "name": "B0 with session-expiry-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 11 00"}]},
{ "name": "B0 with will-delay-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 18 00"}]},
{ "name": "B0 with maximum-packet-size (four byte integer) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 27 00"}]},
{ "name": "B0 with content-type (UTF-8 string)", "msgs": [{"type":"send", "payload":"B0 08 0001 04 03000170 00"}]},
{ "name": "B0 with response-topic (UTF-8 string)", "msgs": [{"type":"send", "payload":"B0 08 0001 04 08000170 00"}]},
{ "name": "B0 with assigned-client-identifier (UTF-8 string)", "msgs": [{"type":"send", "payload":"B0 08 0001 04 12000170 00"}]},
{ "name": "B0 with authentication-method (UTF-8 string)", "msgs": [{"type":"send", "payload":"B0 08 0001 04 15000170 00"}]},
{ "name": "B0 with response-information (UTF-8 string)", "msgs": [{"type":"send", "payload":"B0 08 0001 04 1A000170 00"}]},
{ "name": "B0 with server-reference (UTF-8 string)", "msgs": [{"type":"send", "payload":"B0 08 0001 04 1C000170 00"}]},
{ "name": "B0 with content-type (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 03 00"}]},
{ "name": "B0 with response-topic (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 08 00"}]},
{ "name": "B0 with assigned-client-identifier (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 12 00"}]},
{ "name": "B0 with authentication-method (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 15 00"}]},
{ "name": "B0 with response-information (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 1A 00"}]},
{ "name": "B0 with server-reference (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 1C 00"}]},
{ "name": "B0 with correlation-data (binary data)", "msgs": [{"type":"send", "payload":"B0 08 0001 04 09000170 00"}]},
{ "name": "B0 with authentication-data (binary data)", "msgs": [{"type":"send", "payload":"B0 08 0001 04 16000170 00"}]},
{ "name": "B0 with correlation-data (binary data) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 09 00"}]},
{ "name": "B0 with authentication-data (binary data) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 16 00"}]},
{ "name": "B0 with subscription-identifier (variable byte integer)", "msgs": [{"type":"send", "payload":"B0 05 0001 02 0B01"}]},
{ "name": "B0 with subscription-identifier (variable byte integer) missing", "msgs": [{"type":"send", "payload":"B0 04 0001 01 0B"}]},
{ "name": "B0 with server-keep-alive (two byte integer)", "msgs": [{"type":"send", "payload":"B0 07 0001 03 130101 00"}]},
{ "name": "B0 with receive-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"B0 07 0001 03 210101 00"}]},
{ "name": "B0 with topic-alias-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"B0 07 0001 03 220101 00"}]},
{ "name": "B0 with topic-alias (two byte integer)", "msgs": [{"type":"send", "payload":"B0 07 0001 03 230101 00"}]},
{ "name": "B0 with server-keep-alive (two byte integer) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 13 00"}]},
{ "name": "B0 with receive-maximum (two byte integer) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 21 00"}]},
{ "name": "B0 with topic-alias-maximum (two byte integer) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 22 00"}]},
{ "name": "B0 with topic-alias (two byte integer) missing", "msgs": [{"type":"send", "payload":"B0 05 0001 01 23 00"}]},
{ "name": "B0 with invalid-property 0x00 (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 0001 00"}]},
{ "name": "B0 with unknown-property 0x04 (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 0401 00"}]},
{ "name": "B0 with unknown-property 0x05 (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 0501 00"}]},
{ "name": "B0 with unknown-property 0x06 (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 0601 00"}]},
{ "name": "B0 with unknown-property 0x07 (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 0701 00"}]},
{ "name": "B0 with unknown-property 0x0A (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 0A01 00"}]},
{ "name": "B0 with unknown-property 0x0C (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 0C01 00"}]},
{ "name": "B0 with unknown-property 0x0D (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 0D01 00"}]},
{ "name": "B0 with unknown-property 0x0E (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 0E01 00"}]},
{ "name": "B0 with unknown-property 0x0F (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 0F01 00"}]},
{ "name": "B0 with unknown-property 0x10 (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 1001 00"}]},
{ "name": "B0 with unknown-property 0x14 (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 1401 00"}]},
{ "name": "B0 with unknown-property 0x1B (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 1B01 00"}]},
{ "name": "B0 with unknown-property 0x1D (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 1D01 00"}]},
{ "name": "B0 with unknown-property 0x1E (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 1E01 00"}]},
{ "name": "B0 with unknown-property 0x20 (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 2001 00"}]},
{ "name": "B0 with unknown-property 0x7F (byte)", "msgs": [{"type":"send", "payload":"B0 06 0001 02 7F01 00"}]},
{ "name": "B0 with invalid-property 0x8000 (byte)", "msgs": [{"type":"send", "payload":"B0 07 0001 03 800001 00"}]},
{ "name": "B0 with unknown-property 0x8001 (byte)", "msgs": [{"type":"send", "payload":"B0 07 0001 03 800101 00"}]},
{ "name": "B0 with unknown-property 0xFF7F (byte)", "msgs": [{"type":"send", "payload":"B0 07 0001 03 FF7F01 00"}]},
{ "name": "B0 with unknown-property 0x808001 (byte)", "msgs": [{"type":"send", "payload":"B0 08 0001 04 80800101 00"}]},
{ "name": "B0 with unknown-property 0xFFFF7F (byte)", "msgs": [{"type":"send", "payload":"B0 08 0001 04 FFFF7F01 00"}]},
{ "name": "B0 with unknown-property 0x80808001 (byte)", "msgs": [{"type":"send", "payload":"B0 09 0001 05 8080800101 00"}]},
{ "name": "B0 with unknown-property 0xFFFFFF7F (byte)", "msgs": [{"type":"send", "payload":"B0 09 0001 05 FFFFFF7F01 00"}]}
{ "name": "B0 with payload-format-indicator (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 01 i0 00"}]},
{ "name": "B0 with request-problem-information (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 17 i0 00"}]},
{ "name": "B0 with maximum-qos (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 24 i0 00"}]},
{ "name": "B0 with retain-available (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 25 i0 00"}]},
{ "name": "B0 with wildcard-subscription-available (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 28 i0 00"}]},
{ "name": "B0 with subscription-identifier-available (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 29 i0 00"}]},
{ "name": "B0 with shared-subscription-available (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 2A i0 00"}]},
{ "name": "B0 with payload-format-indicator (byte) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 01 00"}]},
{ "name": "B0 with request-problem-information (byte) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 17 00"}]},
{ "name": "B0 with maximum-qos (byte) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 24 00"}]},
{ "name": "B0 with retain-available (byte) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 25 00"}]},
{ "name": "B0 with wildcard-subscription-available (byte) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 28 00"}]},
{ "name": "B0 with subscription-identifier-available (byte) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 29 00"}]},
{ "name": "B0 with shared-subscription-available (byte) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 2A 00"}]},
{ "name": "B0 with message-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"B0 r9 m1 v5 02 L1 00"}]},
{ "name": "B0 with session-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"B0 r9 m1 v5 11 L1 00"}]},
{ "name": "B0 with will-delay-interval (four byte integer)", "msgs": [{"type":"send", "payload":"B0 r9 m1 v5 18 L1 00"}]},
{ "name": "B0 with maximum-packet-size (four byte integer)", "msgs": [{"type":"send", "payload":"B0 r9 m1 v5 27 L1 00"}]},
{ "name": "B0 with message-expiry-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 02 00"}]},
{ "name": "B0 with session-expiry-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 11 00"}]},
{ "name": "B0 with will-delay-interval (four byte integer) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 18 00"}]},
{ "name": "B0 with maximum-packet-size (four byte integer) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 27 00"}]},
{ "name": "B0 with content-type (UTF-8 string)", "msgs": [{"type":"send", "payload":"B0 r8 m1 v4 03 s1 'p' 00"}]},
{ "name": "B0 with response-topic (UTF-8 string)", "msgs": [{"type":"send", "payload":"B0 r8 m1 v4 08 s1 'p' 00"}]},
{ "name": "B0 with assigned-client-identifier (UTF-8 string)", "msgs": [{"type":"send", "payload":"B0 r8 m1 v4 12 s1 'p' 00"}]},
{ "name": "B0 with authentication-method (UTF-8 string)", "msgs": [{"type":"send", "payload":"B0 r8 m1 v4 15 s1 'p' 00"}]},
{ "name": "B0 with response-information (UTF-8 string)", "msgs": [{"type":"send", "payload":"B0 r8 m1 v4 1A s1 'p' 00"}]},
{ "name": "B0 with server-reference (UTF-8 string)", "msgs": [{"type":"send", "payload":"B0 r8 m1 v4 1C s1 'p' 00"}]},
{ "name": "B0 with content-type (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 03 00"}]},
{ "name": "B0 with response-topic (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 08 00"}]},
{ "name": "B0 with assigned-client-identifier (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 12 00"}]},
{ "name": "B0 with authentication-method (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 15 00"}]},
{ "name": "B0 with response-information (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 1A 00"}]},
{ "name": "B0 with server-reference (UTF-8 string) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 1C 00"}]},
{ "name": "B0 with correlation-data (binary data)", "msgs": [{"type":"send", "payload":"B0 r8 m1 v4 09 s1 'p' 00"}]},
{ "name": "B0 with authentication-data (binary data)", "msgs": [{"type":"send", "payload":"B0 r8 m1 v4 16 s1 'p' 00"}]},
{ "name": "B0 with correlation-data (binary data) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 09 00"}]},
{ "name": "B0 with authentication-data (binary data) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 16 00"}]},
{ "name": "B0 with subscription-identifier (variable byte integer)", "msgs": [{"type":"send", "payload":"B0 r5 m1 v2 0B01"}]},
{ "name": "B0 with subscription-identifier (variable byte integer) missing", "msgs": [{"type":"send", "payload":"B0 r4 m1 v1 0B"}]},
{ "name": "B0 with server-keep-alive (two byte integer)", "msgs": [{"type":"send", "payload":"B0 r7 m1 v3 13 H5 00"}]},
{ "name": "B0 with receive-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"B0 r7 m1 v3 21 H5 00"}]},
{ "name": "B0 with topic-alias-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"B0 r7 m1 v3 22 H5 00"}]},
{ "name": "B0 with topic-alias (two byte integer)", "msgs": [{"type":"send", "payload":"B0 r7 m1 v3 23 H5 00"}]},
{ "name": "B0 with server-keep-alive (two byte integer) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 13 00"}]},
{ "name": "B0 with receive-maximum (two byte integer) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 21 00"}]},
{ "name": "B0 with topic-alias-maximum (two byte integer) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 22 00"}]},
{ "name": "B0 with topic-alias (two byte integer) missing", "msgs": [{"type":"send", "payload":"B0 r5 m1 v1 23 00"}]},
{ "name": "B0 with invalid-property 0x00 (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 00 i1 00"}]},
{ "name": "B0 with unknown-property 0x04 (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 04 i1 00"}]},
{ "name": "B0 with unknown-property 0x05 (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 05 i1 00"}]},
{ "name": "B0 with unknown-property 0x06 (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 06 i1 00"}]},
{ "name": "B0 with unknown-property 0x07 (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 07 i1 00"}]},
{ "name": "B0 with unknown-property 0x0A (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 0A i1 00"}]},
{ "name": "B0 with unknown-property 0x0C (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 0C i1 00"}]},
{ "name": "B0 with unknown-property 0x0D (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 0D i1 00"}]},
{ "name": "B0 with unknown-property 0x0E (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 0E i1 00"}]},
{ "name": "B0 with unknown-property 0x0F (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 0F i1 00"}]},
{ "name": "B0 with unknown-property 0x10 (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 10 i1 00"}]},
{ "name": "B0 with unknown-property 0x14 (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 14 i1 00"}]},
{ "name": "B0 with unknown-property 0x1B (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 1B i1 00"}]},
{ "name": "B0 with unknown-property 0x1D (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 1D i1 00"}]},
{ "name": "B0 with unknown-property 0x1E (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 1E i1 00"}]},
{ "name": "B0 with unknown-property 0x20 (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 20 i1 00"}]},
{ "name": "B0 with unknown-property 0x7F (byte)", "msgs": [{"type":"send", "payload":"B0 r6 m1 v2 7F i1 00"}]},
{ "name": "B0 with invalid-property 0x8000 (byte)", "msgs": [{"type":"send", "payload":"B0 r7 m1 v3 8000 i1 00"}]},
{ "name": "B0 with unknown-property 0x8001 (byte)", "msgs": [{"type":"send", "payload":"B0 r7 m1 v3 8001 i1 00"}]},
{ "name": "B0 with unknown-property 0xFF7F (byte)", "msgs": [{"type":"send", "payload":"B0 r7 m1 v3 FF7F i1 00"}]},
{ "name": "B0 with unknown-property 0x808001 (byte)", "msgs": [{"type":"send", "payload":"B0 r8 m1 v4 808001 i1 00"}]},
{ "name": "B0 with unknown-property 0xFFFF7F (byte)", "msgs": [{"type":"send", "payload":"B0 r8 m1 v4 FFFF7F i1 00"}]},
{ "name": "B0 with unknown-property 0x80808001 (byte)", "msgs": [{"type":"send", "payload":"B0 r9 m1 v5 80808001 i1 00"}]},
{ "name": "B0 with unknown-property 0xFFFFFF7F (byte)", "msgs": [{"type":"send", "payload":"B0 r9 m1 v5 FFFFFF7F i1 00"}]}
]
}
]

View File

@@ -3,126 +3,126 @@
"group": "v3.1.1 UNSUBSCRIBE",
"ver":4,
"tests": [
{ "name": "A2 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"A2 05 1234 0001 70"}]},
{ "name": "A2 (no subscribe) [MQTT-3.10.4-5]", "msgs": [{"type":"send", "payload":"A2 05 1234 0001 70"}]},
{ "name": "A2 multiple [MQTT-3.10.4-6]", "msgs": [{"type":"send", "payload":"A2 08 1234 0001 70 0001 71"}]},
{ "name": "A2 multiple zero 1st", "msgs": [{"type":"send", "payload":"A2 07 1234 0000 0001 71"}]},
{ "name": "A2 multiple zero 2nd", "msgs": [{"type":"send", "payload":"A2 07 1234 0001 71 0000"}]},
{ "name": "A2 short 4", "msgs": [{"type":"send", "payload":"A2 04 1234 0001"}]},
{ "name": "A2 short 3", "msgs": [{"type":"send", "payload":"A2 03 1234 01"}]},
{ "name": "A2 short 2 [MQTT-3.10.3-2]", "msgs": [{"type":"send", "payload":"A2 02 1234"}]},
{ "name": "A2 short 1", "msgs": [{"type":"send", "payload":"A2 01 12"}]},
{ "name": "A2 short 0", "msgs": [{"type":"send", "payload":"A2 00"}]},
{ "name": "A0 [MQTT-3.10.1-1]", "msgs": [{"type":"send", "payload":"A0 05 1234 0001 70"}]},
{ "name": "A3 [MQTT-3.10.1-1]", "msgs": [{"type":"send", "payload":"A3 05 1234 0001 70"}]},
{ "name": "A4 [MQTT-3.10.1-1]", "msgs": [{"type":"send", "payload":"A4 05 1234 0001 70"}]},
{ "name": "A6 [MQTT-3.10.1-1]", "msgs": [{"type":"send", "payload":"A6 05 1234 0001 70"}]},
{ "name": "AA [MQTT-3.10.1-1]", "msgs": [{"type":"send", "payload":"AA 05 1234 0001 70"}]},
{ "name": "A2 topic with 0x0000", "msgs": [{"type":"send", "payload":"A2 09 1234 0005 746F700000"}]},
{ "name": "A2 topic with U+D800", "msgs": [{"type":"send", "payload":"A2 09 1234 0005 746FEDA080"}]},
{ "name": "A2 topic with U+0001", "msgs": [{"type":"send", "payload":"A2 09 1234 0005 746F700170"}]},
{ "name": "A2 topic with U+001F", "msgs": [{"type":"send", "payload":"A2 09 1234 0005 746F701F70"}]},
{ "name": "A2 topic with U+007F", "msgs": [{"type":"send", "payload":"A2 09 1234 0005 746F707F70"}]},
{ "name": "A2 topic with U+009F", "msgs": [{"type":"send", "payload":"A2 09 1234 0005 746FC29F70"}]},
{ "name": "A2 topic with U+FFFF", "msgs": [{"type":"send", "payload":"A2 09 1234 0005 746FEDBFBF"}]},
{ "name": "A2 zero mid", "msgs": [ {"type":"send", "payload":"A2 08 0000 0001 70 0001 71"}]}
{ "name": "A2 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"A2 r5 m1234 s1 'p'"}]},
{ "name": "A2 (no subscribe) [MQTT-3.10.4-5]", "msgs": [{"type":"send", "payload":"A2 r5 m1234 s1 'p'"}]},
{ "name": "A2 multiple [MQTT-3.10.4-6]", "msgs": [{"type":"send", "payload":"A2 r8 m1234 s1 'p' s1 'q'"}]},
{ "name": "A2 multiple zero 1st", "msgs": [{"type":"send", "payload":"A2 r7 m1234 s0 s1 'q'"}]},
{ "name": "A2 multiple zero 2nd", "msgs": [{"type":"send", "payload":"A2 r7 m1234 s1 'q' s0"}]},
{ "name": "A2 short 4", "msgs": [{"type":"send", "payload":"A2 r4 m1234 0001"}]},
{ "name": "A2 short 3", "msgs": [{"type":"send", "payload":"A2 r3 m1234 01"}]},
{ "name": "A2 short 2 [MQTT-3.10.3-2]", "msgs": [{"type":"send", "payload":"A2 r2 m1234"}]},
{ "name": "A2 short 1", "msgs": [{"type":"send", "payload":"A2 r1 12"}]},
{ "name": "A2 short 0", "msgs": [{"type":"send", "payload":"A2 r0"}]},
{ "name": "A0 [MQTT-3.10.1-1]", "msgs": [{"type":"send", "payload":"A0 r5 m1234 s1 'p'"}]},
{ "name": "A3 [MQTT-3.10.1-1]", "msgs": [{"type":"send", "payload":"A3 r5 m1234 s1 'p'"}]},
{ "name": "A4 [MQTT-3.10.1-1]", "msgs": [{"type":"send", "payload":"A4 r5 m1234 s1 'p'"}]},
{ "name": "A6 [MQTT-3.10.1-1]", "msgs": [{"type":"send", "payload":"A6 r5 m1234 s1 'p'"}]},
{ "name": "AA [MQTT-3.10.1-1]", "msgs": [{"type":"send", "payload":"AA r5 m1234 s1 'p'"}]},
{ "name": "A2 topic with 0x0000", "msgs": [{"type":"send", "payload":"A2 r9 m1234 s5 746F700000"}]},
{ "name": "A2 topic with U+D800", "msgs": [{"type":"send", "payload":"A2 r9 m1234 s5 746FEDA080"}]},
{ "name": "A2 topic with U+0001", "msgs": [{"type":"send", "payload":"A2 r9 m1234 s5 746F700170"}]},
{ "name": "A2 topic with U+001F", "msgs": [{"type":"send", "payload":"A2 r9 m1234 s5 746F701F70"}]},
{ "name": "A2 topic with U+007F", "msgs": [{"type":"send", "payload":"A2 r9 m1234 s5 746F707F70"}]},
{ "name": "A2 topic with U+009F", "msgs": [{"type":"send", "payload":"A2 r9 m1234 s5 746FC29F70"}]},
{ "name": "A2 topic with U+FFFF", "msgs": [{"type":"send", "payload":"A2 r9 m1234 s5 746FEDBFBF"}]},
{ "name": "A2 zero mid", "msgs": [ {"type":"send", "payload":"A2 r8 m0 s1 'p' s1 'q'"}]}
]
},
{
"group": "v5.0 UNSUBSCRIBE",
"ver":5,
"tests": [
{ "name": "A2 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"A2 06 1234 00 0001 70"}]},
{ "name": "A2 [MQTT-3.10.4-5]", "msgs": [{"type":"send", "payload":"A2 06 1234 00 0001 70"}]},
{ "name": "A2 multiple zero 1st", "msgs": [{"type":"send", "payload":"A2 08 1234 00 0000 0001 71"}]},
{ "name": "A2 multiple zero 2nd", "msgs": [{"type":"send", "payload":"A2 08 1234 00 0001 71 0000"}]},
{ "name": "A2 short 5", "msgs": [{"type":"send", "payload":"A2 05 1234 00 0001"}]},
{ "name": "A2 short 4", "msgs": [{"type":"send", "payload":"A2 04 1234 00 01"}]},
{ "name": "A2 short 3 [MQTT-3.10.3-2]", "msgs": [{"type":"send", "payload":"A2 03 1234 00"}]},
{ "name": "A2 short 2", "msgs": [{"type":"send", "payload":"A2 01 1234"}]},
{ "name": "A2 short 1", "msgs": [{"type":"send", "payload":"A2 01 12"}]},
{ "name": "A2 short 0", "msgs": [{"type":"send", "payload":"A2 00"}]},
{ "name": "A0 [MQTT-3.10.1-1]", "msgs": [{"type":"send", "payload":"A0 06 1234 00 0001 70"}]},
{ "name": "A3 [MQTT-3.10.1-1]", "msgs": [{"type":"send", "payload":"A3 06 1234 00 0001 70"}]},
{ "name": "A4 [MQTT-3.10.1-1]", "msgs": [{"type":"send", "payload":"A4 06 1234 00 0001 70"}]},
{ "name": "A6 [MQTT-3.10.1-1]", "msgs": [{"type":"send", "payload":"A6 06 1234 00 0001 70"}]},
{ "name": "AA [MQTT-3.10.1-1]", "msgs": [{"type":"send", "payload":"AA 06 1234 00 0001 70"}]},
{ "name": "A2 topic with 0x0000", "msgs": [{"type":"send", "payload":"A2 0A 1234 00 0005 746F700000"}]},
{ "name": "A2 topic with U+D800", "msgs": [{"type":"send", "payload":"A2 0A 1234 00 0005 746FEDA080"}]},
{ "name": "A2 topic with U+0001", "msgs": [{"type":"send", "payload":"A2 0A 1234 00 0005 746F700170"}]},
{ "name": "A2 topic with U+001F", "msgs": [{"type":"send", "payload":"A2 0A 1234 00 0005 746F701F70"}]},
{ "name": "A2 topic with U+007F", "msgs": [{"type":"send", "payload":"A2 0A 1234 00 0005 746F707F70"}]},
{ "name": "A2 topic with U+009F", "msgs": [{"type":"send", "payload":"A2 0A 1234 00 0005 746FC29F70"}]},
{ "name": "A2 topic with U+FFFF", "msgs": [{"type":"send", "payload":"A2 0A 1234 00 0005 746FEDBFBF"}]},
{ "name": "A2 multiple [MQTT-3.10.4-6]", "msgs": [{"type":"send", "payload":"A2 09 1234 00 0001 70 0001 71"}]},
{ "name": "A2 zero mid", "msgs": [{"type":"send", "payload":"A2 06 0000 00 0001 70"}]}
{ "name": "A2 [MQTT-3.1.0-1]", "connack":false, "msgs": [{"type":"send", "payload":"A2 r6 m1234 00 s1 'p'"}]},
{ "name": "A2 [MQTT-3.10.4-5]", "msgs": [{"type":"send", "payload":"A2 r6 m1234 00 s1 'p'"}]},
{ "name": "A2 multiple zero 1st", "msgs": [{"type":"send", "payload":"A2 r8 m1234 00 s0 s1 'q'"}]},
{ "name": "A2 multiple zero 2nd", "msgs": [{"type":"send", "payload":"A2 r8 m1234 00 s1 'q' s0"}]},
{ "name": "A2 short 5", "msgs": [{"type":"send", "payload":"A2 r5 m1234 00 0001"}]},
{ "name": "A2 short 4", "msgs": [{"type":"send", "payload":"A2 r4 m1234 00 01"}]},
{ "name": "A2 short 3 [MQTT-3.10.3-2]", "msgs": [{"type":"send", "payload":"A2 r3 m1234 00"}]},
{ "name": "A2 short 2", "msgs": [{"type":"send", "payload":"A2 r1 m1234"}]},
{ "name": "A2 short 1", "msgs": [{"type":"send", "payload":"A2 r1 12"}]},
{ "name": "A2 short 0", "msgs": [{"type":"send", "payload":"A2 r0"}]},
{ "name": "A0 [MQTT-3.10.1-1]", "msgs": [{"type":"send", "payload":"A0 r6 m1234 00 s1 'p'"}]},
{ "name": "A3 [MQTT-3.10.1-1]", "msgs": [{"type":"send", "payload":"A3 r6 m1234 00 s1 'p'"}]},
{ "name": "A4 [MQTT-3.10.1-1]", "msgs": [{"type":"send", "payload":"A4 r6 m1234 00 s1 'p'"}]},
{ "name": "A6 [MQTT-3.10.1-1]", "msgs": [{"type":"send", "payload":"A6 r6 m1234 00 s1 'p'"}]},
{ "name": "AA [MQTT-3.10.1-1]", "msgs": [{"type":"send", "payload":"AA r6 m1234 00 s1 'p'"}]},
{ "name": "A2 topic with 0x0000", "msgs": [{"type":"send", "payload":"A2 r10 m1234 00 s5 746F700000"}]},
{ "name": "A2 topic with U+D800", "msgs": [{"type":"send", "payload":"A2 r10 m1234 00 s5 746FEDA080"}]},
{ "name": "A2 topic with U+0001", "msgs": [{"type":"send", "payload":"A2 r10 m1234 00 s5 746F700170"}]},
{ "name": "A2 topic with U+001F", "msgs": [{"type":"send", "payload":"A2 r10 m1234 00 s5 746F701F70"}]},
{ "name": "A2 topic with U+007F", "msgs": [{"type":"send", "payload":"A2 r10 m1234 00 s5 746F707F70"}]},
{ "name": "A2 topic with U+009F", "msgs": [{"type":"send", "payload":"A2 r10 m1234 00 s5 746FC29F70"}]},
{ "name": "A2 topic with U+FFFF", "msgs": [{"type":"send", "payload":"A2 r10 m1234 00 s5 746FEDBFBF"}]},
{ "name": "A2 multiple [MQTT-3.10.4-6]", "msgs": [{"type":"send", "payload":"A2 r9 m1234 00 s1 'p' s1 'q'"}]},
{ "name": "A2 zero mid", "msgs": [{"type":"send", "payload":"A2 r6 m0 00 s1 'p'"}]}
]
},
{
"group": "v5.0 UNSUBSCRIBE ALLOWED PROPERTIES",
"ver":5,
"tests": [
{ "name": "A2 with user-property", "msgs": [{"type":"send", "payload":"A2 0D 0001 07 26000170000171 0001 70"}]},
{ "name": "A2 with 2*user-property", "msgs": [{"type":"send", "payload":"A2 14 0001 0E 26000170000171 26000170000171 0001 70"}]},
{ "name": "A2 with user-property missing value", "msgs": [{"type":"send", "payload":"A2 0A 0001 04 26000170 0001 70"}]},
{ "name": "A2 with user-property missing key,value", "msgs": [{"type":"send", "payload":"A2 07 0001 01 26 0001 70"}]},
{ "name": "A2 with user-property empty key", "msgs": [{"type":"send", "payload":"A2 0C 0001 06 26 0000 0001 70 0001 70"}]},
{ "name": "A2 with user-property empty value", "msgs": [{"type":"send", "payload":"A2 0C 0001 06 26 0001 70 0000 0001 70"}]},
{ "name": "A2 with user-property empty key,value", "msgs": [{"type":"send", "payload":"A2 0B 0001 05 26 0000 0000 0001 70"}]}
{ "name": "A2 with user-property", "msgs": [{"type":"send", "payload":"A2 r13 m1 v7 26 s1 'p' s1 'q' s1 'p'"}]},
{ "name": "A2 with 2*user-property", "msgs": [{"type":"send", "payload":"A2 r20 m1 v14 26 s1 'p' s1 'q' 26 s1 'p' s1 'q' s1 'p'"}]},
{ "name": "A2 with user-property missing value", "msgs": [{"type":"send", "payload":"A2 r10 m1 v4 26 s1 'p' s1 'p'"}]},
{ "name": "A2 with user-property missing key,value", "msgs": [{"type":"send", "payload":"A2 r7 m1 v1 26 s1 'p'"}]},
{ "name": "A2 with user-property empty key", "msgs": [{"type":"send", "payload":"A2 r12 m1 v6 26 s0 s1 'p' s1 'p'"}]},
{ "name": "A2 with user-property empty value", "msgs": [{"type":"send", "payload":"A2 r12 m1 v6 26 s1 'p' s0 s1 'p'"}]},
{ "name": "A2 with user-property empty key,value", "msgs": [{"type":"send", "payload":"A2 r11 m1 v5 26 s0 s0 s1 'p'"}]}
]
},
{
"group": "v5.0 UNSUBSCRIBE DISALLOWED PROPERTIES",
"ver":5,
"tests": [
{ "name": "A2 with payload-format-indicator (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 0100 0001 70"}]},
{ "name": "A2 with request-problem-information (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 1700 0001 70"}]},
{ "name": "A2 with maximum-qos (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 2400 0001 70"}]},
{ "name": "A2 with retain-available (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 2500 0001 70"}]},
{ "name": "A2 with wildcard-subscription-available (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 2800 0001 70"}]},
{ "name": "A2 with subscription-identifier-available (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 2900 0001 70"}]},
{ "name": "A2 with shared-subscription-available (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 2A00 0001 70"}]},
{ "name": "A2 with message-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"A2 0B 0001 05 0200000001 0001 70"}]},
{ "name": "A2 with session-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"A2 0B 0001 05 1100000001 0001 70"}]},
{ "name": "A2 with will-delay-interval (four byte integer)", "msgs": [{"type":"send", "payload":"A2 0B 0001 05 1800000001 0001 70"}]},
{ "name": "A2 with maximum-packet-size (four byte integer)", "msgs": [{"type":"send", "payload":"A2 0B 0001 05 2700000001 0001 70"}]},
{ "name": "A2 with content-type (UTF-8 string)", "msgs": [{"type":"send", "payload":"A2 0A 0001 04 03000170 0001 70"}]},
{ "name": "A2 with response-topic (UTF-8 string)", "msgs": [{"type":"send", "payload":"A2 0B 0001 00 04 08000170 0001 70"}]},
{ "name": "A2 with assigned-client-identifier (UTF-8 string)", "msgs": [{"type":"send", "payload":"A2 0B 0001 00 04 12000170 0001 70"}]},
{ "name": "A2 with authentication-method (UTF-8 string)", "msgs": [{"type":"send", "payload":"A2 0B 0001 00 04 15000170 0001 70"}]},
{ "name": "A2 with response-information (UTF-8 string)", "msgs": [{"type":"send", "payload":"A2 0B 0001 00 04 1A000170 0001 70"}]},
{ "name": "A2 with server-reference (UTF-8 string)", "msgs": [{"type":"send", "payload":"A2 0B 0001 00 04 1C000170 0001 70"}]},
{ "name": "A2 with correlation-data (binary data)", "msgs": [{"type":"send", "payload":"A2 0A 0001 04 09000170 0001 70"}]},
{ "name": "A2 with authentication-data (binary data)", "msgs": [{"type":"send", "payload":"A2 0A 0001 04 16000170 0001 70"}]},
{ "name": "A2 with subscription-identifier (variable byte integer)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 0B01 0001 70"}]},
{ "name": "A2 with server-keep-alive (two byte integer)", "msgs": [{"type":"send", "payload":"A2 09 0001 03 130101 0001 70"}]},
{ "name": "A2 with receive-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"A2 09 0001 03 210101 0001 70"}]},
{ "name": "A2 with topic-alias-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"A2 09 0001 03 220101 0001 70"}]},
{ "name": "A2 with topic-alias (two byte integer)", "msgs": [{"type":"send", "payload":"A2 09 0001 03 230101 0001 70"}]},
{ "name": "A2 with invalid-property 0x00 (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 0001 0001 70"}]},
{ "name": "A2 with unknown-property 0x04 (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 0401 0001 70"}]},
{ "name": "A2 with unknown-property 0x05 (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 0501 0001 70"}]},
{ "name": "A2 with unknown-property 0x06 (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 0601 0001 70"}]},
{ "name": "A2 with unknown-property 0x07 (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 0701 0001 70"}]},
{ "name": "A2 with unknown-property 0x0A (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 0A01 0001 70"}]},
{ "name": "A2 with unknown-property 0x0C (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 0C01 0001 70"}]},
{ "name": "A2 with unknown-property 0x0D (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 0D01 0001 70"}]},
{ "name": "A2 with unknown-property 0x0E (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 0E01 0001 70"}]},
{ "name": "A2 with unknown-property 0x0F (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 0F01 0001 70"}]},
{ "name": "A2 with unknown-property 0x10 (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 1001 0001 70"}]},
{ "name": "A2 with unknown-property 0x14 (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 1401 0001 70"}]},
{ "name": "A2 with unknown-property 0x1B (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 1B01 0001 70"}]},
{ "name": "A2 with unknown-property 0x1D (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 1D01 0001 70"}]},
{ "name": "A2 with unknown-property 0x1E (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 1E01 0001 70"}]},
{ "name": "A2 with unknown-property 0x20 (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 2001 0001 70"}]},
{ "name": "A2 with unknown-property 0x7F (byte)", "msgs": [{"type":"send", "payload":"A2 08 0001 02 7F01 0001 70"}]},
{ "name": "A2 with invalid-property 0x8000 (byte)", "msgs": [{"type":"send", "payload":"A2 09 0001 03 800001 0001 70"}]},
{ "name": "A2 with unknown-property 0x8001 (byte)", "msgs": [{"type":"send", "payload":"A2 09 0001 03 800101 0001 70"}]},
{ "name": "A2 with unknown-property 0xFF7F (byte)", "msgs": [{"type":"send", "payload":"A2 09 0001 03 FF7F01 0001 70"}]},
{ "name": "A2 with unknown-property 0x808001 (byte)", "msgs": [{"type":"send", "payload":"A2 0A 0001 04 80800101 0001 70"}]},
{ "name": "A2 with unknown-property 0xFFFF7F (byte)", "msgs": [{"type":"send", "payload":"A2 0A 0001 04 FFFF7F01 0001 70"}]},
{ "name": "A2 with unknown-property 0x80808001 (byte)", "msgs": [{"type":"send", "payload":"A2 0B 0001 05 8080800101 0001 70"}]},
{ "name": "A2 with unknown-property 0xFFFFFF7F (byte)", "msgs": [{"type":"send", "payload":"A2 0B 0001 05 FFFFFF7F01 0001 70"}]}
{ "name": "A2 with payload-format-indicator (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 01 i0 s1 'p'"}]},
{ "name": "A2 with request-problem-information (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 17 i0 s1 'p'"}]},
{ "name": "A2 with maximum-qos (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 24 i0 s1 'p'"}]},
{ "name": "A2 with retain-available (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 25 i0 s1 'p'"}]},
{ "name": "A2 with wildcard-subscription-available (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 28 i0 s1 'p'"}]},
{ "name": "A2 with subscription-identifier-available (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 29 i0 s1 'p'"}]},
{ "name": "A2 with shared-subscription-available (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 2A i0 s1 'p'"}]},
{ "name": "A2 with message-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"A2 r11 m1 v5 02 L1 s1 'p'"}]},
{ "name": "A2 with session-expiry-interval (four byte integer)", "msgs": [{"type":"send", "payload":"A2 r11 m1 v5 11 L1 s1 'p'"}]},
{ "name": "A2 with will-delay-interval (four byte integer)", "msgs": [{"type":"send", "payload":"A2 r11 m1 v5 18 L1 s1 'p'"}]},
{ "name": "A2 with maximum-packet-size (four byte integer)", "msgs": [{"type":"send", "payload":"A2 r11 m1 v5 27 L1 s1 'p'"}]},
{ "name": "A2 with content-type (UTF-8 string)", "msgs": [{"type":"send", "payload":"A2 r10 m1 v4 03 s1 'p' s1 'p'"}]},
{ "name": "A2 with response-topic (UTF-8 string)", "msgs": [{"type":"send", "payload":"A2 r10 m1 v4 08 s1 'p' s1 'p'"}]},
{ "name": "A2 with assigned-client-identifier (UTF-8 string)", "msgs": [{"type":"send", "payload":"A2 r10 m1 v4 12 s1 'p' s1 'p'"}]},
{ "name": "A2 with authentication-method (UTF-8 string)", "msgs": [{"type":"send", "payload":"A2 r10 m1 v4 15 s1 'p' s1 'p'"}]},
{ "name": "A2 with response-information (UTF-8 string)", "msgs": [{"type":"send", "payload":"A2 r10 m1 v4 1A s1 'p' s1 'p'"}]},
{ "name": "A2 with server-reference (UTF-8 string)", "msgs": [{"type":"send", "payload":"A2 r10 m1 v4 1C s1 'p' s1 'p'"}]},
{ "name": "A2 with correlation-data (binary data)", "msgs": [{"type":"send", "payload":"A2 r10 m1 v4 09 s1 'p' s1 'p'"}]},
{ "name": "A2 with authentication-data (binary data)", "msgs": [{"type":"send", "payload":"A2 r10 m1 v4 16 s1 'p' s1 'p'"}]},
{ "name": "A2 with subscription-identifier (variable byte integer)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 0B v1 s1 'p'"}]},
{ "name": "A2 with server-keep-alive (two byte integer)", "msgs": [{"type":"send", "payload":"A2 r9 m1 v3 13 H5 s1 'p'"}]},
{ "name": "A2 with receive-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"A2 r9 m1 v3 21 H5 s1 'p'"}]},
{ "name": "A2 with topic-alias-maximum (two byte integer)", "msgs": [{"type":"send", "payload":"A2 r9 m1 v3 22 H5 s1 'p'"}]},
{ "name": "A2 with topic-alias (two byte integer)", "msgs": [{"type":"send", "payload":"A2 r9 m1 v3 23 H5 s1 'p'"}]},
{ "name": "A2 with invalid-property 0x00 (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 00 i1 s1 'p'"}]},
{ "name": "A2 with unknown-property 0x04 (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 04 i1 s1 'p'"}]},
{ "name": "A2 with unknown-property 0x05 (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 05 i1 s1 'p'"}]},
{ "name": "A2 with unknown-property 0x06 (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 06 i1 s1 'p'"}]},
{ "name": "A2 with unknown-property 0x07 (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 07 i1 s1 'p'"}]},
{ "name": "A2 with unknown-property 0x0A (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 0A i1 s1 'p'"}]},
{ "name": "A2 with unknown-property 0x0C (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 0C i1 s1 'p'"}]},
{ "name": "A2 with unknown-property 0x0D (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 0D i1 s1 'p'"}]},
{ "name": "A2 with unknown-property 0x0E (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 0E i1 s1 'p'"}]},
{ "name": "A2 with unknown-property 0x0F (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 0F i1 s1 'p'"}]},
{ "name": "A2 with unknown-property 0x10 (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 10 i1 s1 'p'"}]},
{ "name": "A2 with unknown-property 0x14 (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 14 i1 s1 'p'"}]},
{ "name": "A2 with unknown-property 0x1B (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 1B i1 s1 'p'"}]},
{ "name": "A2 with unknown-property 0x1D (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 1D i1 s1 'p'"}]},
{ "name": "A2 with unknown-property 0x1E (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 1E i1 s1 'p'"}]},
{ "name": "A2 with unknown-property 0x20 (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 20 i1 s1 'p'"}]},
{ "name": "A2 with unknown-property 0x7F (byte)", "msgs": [{"type":"send", "payload":"A2 r8 m1 v2 7F i1 s1 'p'"}]},
{ "name": "A2 with invalid-property 0x8000 (byte)", "msgs": [{"type":"send", "payload":"A2 r9 m1 v3 8000 i1 s1 'p'"}]},
{ "name": "A2 with unknown-property 0x8001 (byte)", "msgs": [{"type":"send", "payload":"A2 r9 m1 v3 8001 i1 s1 'p'"}]},
{ "name": "A2 with unknown-property 0xFF7F (byte)", "msgs": [{"type":"send", "payload":"A2 r9 m1 v3 FF7F i1 s1 'p'"}]},
{ "name": "A2 with unknown-property 0x808001 (byte)", "msgs": [{"type":"send", "payload":"r2 r10 m1 v4 808001 i1 s1 'p'"}]},
{ "name": "A2 with unknown-property 0xFFFF7F (byte)", "msgs": [{"type":"send", "payload":"A2 r10 m1 v4 FFFF7F i1 s1 'p'"}]},
{ "name": "A2 with unknown-property 0x80808001 (byte)", "msgs": [{"type":"send", "payload":"A2 r11 m1 v5 80808001 i1 s1 'p'"}]},
{ "name": "A2 with unknown-property 0xFFFFFF7F (byte)", "msgs": [{"type":"send", "payload":"A2 r11 m1 v5 FFFFFF7F i1 s1 'p'"}]}
]
}
]

View File

@@ -63,9 +63,9 @@ class MsgSequence(object):
except KeyError:
c = ""
if message["type"] == "send":
self.add_send(bytes.fromhex(message["payload"].replace(" ", "")), c)
self.add_send(parse_message(message["payload"]), c)
elif message["type"] == "recv":
self.add_recv(bytes.fromhex(message["payload"].replace(" ", "")), c)
self.add_recv(parse_message(message["payload"]), c)
elif message["type"] == "publish":
self.add_publish(message, c)
@@ -189,6 +189,49 @@ class MsgSequence(object):
self._connected_check()
def parse_message(message):
b = bytes()
parts = message.split(" ")
for i in range(0, len(parts)):
if len(parts[i]) == 0:
continue
elif parts[i][0] in ['i']:
# General 8-bit unsigned decimal
b += int(parts[i][1:]).to_bytes(1)
elif parts[i][0] in ['H', 'k', 'm', 's']:
# General 16-bit unsigned decimal
# Or 'k' keepalive specific
# Or 'm' mid specific
# Or 's' string specific
b += int(parts[i][1:]).to_bytes(2)
elif parts[i][0] == "L":
# 32-bit unsigned decimal
b += int(parts[i][1:]).to_bytes(4)
elif parts[i][0] == "'":
s = parts[i][1:]
while s[-1] != "'" and i < len(parts)-1:
i += 1
s += " " + parts[i]
if s[-1] != "'":
raise ValueError(f"message {message} has incomplete string type")
b += bytes(s[0:-1].encode('utf-8'))
elif parts[i][0] in ['v', 'r']:
# General variable length integer
# Or 'r' remaining length
v = int(parts[i][1:])
if v > 255:
raise ValueError("Variable length > 255 needs implementing")
b += v.to_bytes(1)
else:
# hex
try:
b += bytes.fromhex(parts[i])
except ValueError:
raise ValueError(f"message {message} has invalid hex bytes")
return b
def do_test(hostname, port):
data_path=Path(__file__).resolve().parent/"data"
rc = 0