[ { "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"}]} ] }, { "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"}]} ] }, { "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"}]} ] }, { "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"}]} ] } ]