mirror of
https://github.com/eclipse-mosquitto/mosquitto.git
synced 2026-09-23 16:43:49 +08:00
Finalise test proplists in the packet gen funcs.
This makes it easier to add part of a proplist in the test itself, and have the gen func add some more.
This commit is contained in:
@@ -12,13 +12,11 @@ connack_packet = mosq_test.gen_connack(rc=0, proto_ver=5)
|
||||
|
||||
mid = 1
|
||||
props = mqtt5_props.gen_varint_prop(mqtt5_props.PROP_SUBSCRIPTION_IDENTIFIER, 1)
|
||||
props = mqtt5_props.prop_finalise(props)
|
||||
subscribe1_packet = mosq_test.gen_subscribe(mid, "subpub/id1", 0, proto_ver=5, properties=props)
|
||||
suback1_packet = mosq_test.gen_suback(mid, 0, proto_ver=5)
|
||||
|
||||
mid = 2
|
||||
props = mqtt5_props.gen_varint_prop(mqtt5_props.PROP_SUBSCRIPTION_IDENTIFIER, 14)
|
||||
props = mqtt5_props.prop_finalise(props)
|
||||
subscribe2_packet = mosq_test.gen_subscribe(mid, "subpub/+/id2", 0, proto_ver=5, properties=props)
|
||||
suback2_packet = mosq_test.gen_suback(mid, 0, proto_ver=5)
|
||||
|
||||
@@ -29,12 +27,10 @@ suback3_packet = mosq_test.gen_suback(mid, 0, proto_ver=5)
|
||||
publish1_packet = mosq_test.gen_publish("subpub/id1", qos=0, payload="message1", proto_ver=5)
|
||||
|
||||
props = mqtt5_props.gen_varint_prop(mqtt5_props.PROP_SUBSCRIPTION_IDENTIFIER, 1)
|
||||
props = mqtt5_props.prop_finalise(props)
|
||||
publish1r_packet = mosq_test.gen_publish("subpub/id1", qos=0, payload="message1", proto_ver=5, properties=props)
|
||||
|
||||
publish2_packet = mosq_test.gen_publish("subpub/test/id2", qos=0, payload="message2", proto_ver=5)
|
||||
props = mqtt5_props.gen_varint_prop(mqtt5_props.PROP_SUBSCRIPTION_IDENTIFIER, 14)
|
||||
props = mqtt5_props.prop_finalise(props)
|
||||
publish2r_packet = mosq_test.gen_publish("subpub/test/id2", qos=0, payload="message2", proto_ver=5, properties=props)
|
||||
|
||||
publish3_packet = mosq_test.gen_publish("subpub/noid", qos=0, payload="message3", proto_ver=5)
|
||||
|
||||
@@ -8,7 +8,6 @@ from mosq_test_helper import *
|
||||
rc = 1
|
||||
keepalive = 60
|
||||
props = mqtt5_props.gen_uint16_prop(mqtt5_props.PROP_RECEIVE_MAXIMUM, 1)
|
||||
props = mqtt5_props.prop_finalise(props)
|
||||
connect_packet = mosq_test.gen_connect("subpub-qos2-test", keepalive=keepalive, proto_ver=5, properties=props)
|
||||
connack_packet = mosq_test.gen_connack(rc=0, proto_ver=5)
|
||||
|
||||
|
||||
@@ -8,7 +8,6 @@ from mosq_test_helper import *
|
||||
rc = 1
|
||||
keepalive = 60
|
||||
props = mqtt5_props.gen_uint16_prop(mqtt5_props.PROP_RECEIVE_MAXIMUM, 2)
|
||||
props = mqtt5_props.prop_finalise(props)
|
||||
connect_packet = mosq_test.gen_connect("subpub-qos2-test", keepalive=keepalive, proto_ver=5, properties=props)
|
||||
connack_packet = mosq_test.gen_connack(rc=0, proto_ver=5)
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@ props = mqtt5_props.gen_string_prop(mqtt5_props.PROP_ASSIGNED_CLIENT_IDENTIFIER,
|
||||
connack_packet = mosq_test.gen_connack(rc=0, proto_ver=5, properties=props)
|
||||
|
||||
props = mqtt5_props.gen_uint32_prop(mqtt5_props.PROP_SESSION_EXPIRY_INTERVAL, 1)
|
||||
props = mqtt5_props.prop_finalise(props)
|
||||
disconnect_client_packet = mosq_test.gen_disconnect(proto_ver=5, properties=props)
|
||||
|
||||
disconnect_server_packet = mosq_test.gen_disconnect(proto_ver=5, reason_code=130)
|
||||
|
||||
@@ -22,7 +22,6 @@ suback_packet = mosq_test.gen_suback(mid=1, qos=0, proto_ver=5)
|
||||
|
||||
props = mqtt5_props.gen_string_prop(mqtt5_props.PROP_RESPONSE_TOPIC, "response/topic")
|
||||
props = mqtt5_props.gen_string_prop(mqtt5_props.PROP_CORRELATION_DATA, "45vyvynq30q3vt4 nuy893b4v3")
|
||||
props = mqtt5_props.prop_finalise(props)
|
||||
publish_packet2 = mosq_test.gen_publish(topic="normal/topic", qos=0, payload="2", proto_ver=5, properties=props)
|
||||
|
||||
publish_packet1 = mosq_test.gen_publish(topic="response/topic", qos=0, payload="22", proto_ver=5)
|
||||
|
||||
@@ -21,7 +21,6 @@ subscribe_packet2 = mosq_test.gen_subscribe(mid=1, topic="response/topic", qos=0
|
||||
suback_packet = mosq_test.gen_suback(mid=1, qos=0, proto_ver=5)
|
||||
|
||||
props = mqtt5_props.gen_string_prop(mqtt5_props.PROP_RESPONSE_TOPIC, "response/topic")
|
||||
props = mqtt5_props.prop_finalise(props)
|
||||
publish_packet2 = mosq_test.gen_publish(topic="normal/topic", qos=0, payload="2", proto_ver=5, properties=props)
|
||||
|
||||
publish_packet1 = mosq_test.gen_publish(topic="response/topic", qos=0, payload="22", proto_ver=5)
|
||||
|
||||
@@ -9,13 +9,11 @@ rc = 1
|
||||
|
||||
keepalive = 10
|
||||
props = mqtt5_props.gen_uint32_prop(mqtt5_props.PROP_SESSION_EXPIRY_INTERVAL, 0)
|
||||
props = mqtt5_props.prop_finalise(props)
|
||||
connect_packet = mosq_test.gen_connect("test", proto_ver=5, keepalive=keepalive, properties=props)
|
||||
|
||||
connack_packet = mosq_test.gen_connack(rc=0, proto_ver=5)
|
||||
|
||||
props = mqtt5_props.gen_uint32_prop(mqtt5_props.PROP_SESSION_EXPIRY_INTERVAL, 1)
|
||||
props = mqtt5_props.prop_finalise(props)
|
||||
disconnect_client_packet = mosq_test.gen_disconnect(proto_ver=5, properties=props)
|
||||
|
||||
disconnect_server_packet = mosq_test.gen_disconnect(proto_ver=5, reason_code=130)
|
||||
|
||||
@@ -9,9 +9,7 @@ from mosq_test_helper import *
|
||||
|
||||
props_out = mqtt5_props.gen_string_prop(mqtt5_props.PROP_CONTENT_TYPE, "text")
|
||||
props_out = props_out+mqtt5_props.gen_uint16_prop(mqtt5_props.PROP_TOPIC_ALIAS, 1)
|
||||
props_out = mqtt5_props.prop_finalise(props_out)
|
||||
|
||||
props_in = mqtt5_props.gen_string_prop(mqtt5_props.PROP_CONTENT_TYPE, "text")
|
||||
props_in = mqtt5_props.prop_finalise(props_in)
|
||||
|
||||
helper.prop_subpub_helper(props_out, props_in)
|
||||
|
||||
@@ -9,9 +9,7 @@ from mosq_test_helper import *
|
||||
|
||||
props_out = mqtt5_props.gen_byte_prop(mqtt5_props.PROP_PAYLOAD_FORMAT_INDICATOR, 0xed)
|
||||
props_out = props_out+mqtt5_props.gen_uint16_prop(mqtt5_props.PROP_TOPIC_ALIAS, 1)
|
||||
props_out = mqtt5_props.prop_finalise(props_out)
|
||||
|
||||
props_in = mqtt5_props.gen_byte_prop(mqtt5_props.PROP_PAYLOAD_FORMAT_INDICATOR, 0xed)
|
||||
props_in = mqtt5_props.prop_finalise(props_in)
|
||||
|
||||
helper.prop_subpub_helper(props_out, props_in)
|
||||
|
||||
@@ -22,17 +22,14 @@ suback_packet = mosq_test.gen_suback(mid, 0, proto_ver=5)
|
||||
|
||||
props = mqtt5_props.gen_string_prop(mqtt5_props.PROP_RESPONSE_TOPIC, resp_topic)
|
||||
props += mqtt5_props.gen_string_prop(mqtt5_props.PROP_CORRELATION_DATA, "corridor")
|
||||
props = mqtt5_props.prop_finalise(props)
|
||||
publish1_packet_incoming = mosq_test.gen_publish(pub_topic, qos=0, payload="action", proto_ver=5, properties=props)
|
||||
|
||||
props = mqtt5_props.gen_string_prop(mqtt5_props.PROP_RESPONSE_TOPIC, resp_topic)
|
||||
props += mqtt5_props.gen_string_prop(mqtt5_props.PROP_CORRELATION_DATA, "corridor")
|
||||
props += mqtt5_props.gen_string_pair_prop(mqtt5_props.PROP_USER_PROPERTY, "user", "data")
|
||||
props = mqtt5_props.prop_finalise(props)
|
||||
publish1_packet_outgoing = mosq_test.gen_publish(pub_topic, qos=0, payload="action", proto_ver=5, properties=props)
|
||||
|
||||
props = mqtt5_props.gen_string_prop(mqtt5_props.PROP_CORRELATION_DATA, "corridor")
|
||||
props = mqtt5_props.prop_finalise(props)
|
||||
publish2_packet = mosq_test.gen_publish(resp_topic, qos=0, payload="a response", proto_ver=5, properties=props)
|
||||
|
||||
|
||||
|
||||
@@ -21,7 +21,6 @@ suback_packet = mosq_test.gen_suback(mid, 0, proto_ver=5)
|
||||
|
||||
|
||||
props = mqtt5_props.gen_string_prop(mqtt5_props.PROP_RESPONSE_TOPIC, resp_topic)
|
||||
props = mqtt5_props.prop_finalise(props)
|
||||
publish1_packet = mosq_test.gen_publish(pub_topic, qos=0, payload="action", proto_ver=5, properties=props)
|
||||
|
||||
publish2_packet = mosq_test.gen_publish(resp_topic, qos=0, payload="a response", proto_ver=5)
|
||||
|
||||
@@ -10,7 +10,6 @@ connect_packet = mosq_test.gen_connect("prop-test", keepalive=keepalive, proto_v
|
||||
connack_packet = mosq_test.gen_connack(rc=0, proto_ver=5)
|
||||
|
||||
props = mqtt5_props.gen_string_prop(mqtt5_props.PROP_CONTENT_TYPE, "application/json")
|
||||
props = mqtt5_props.prop_finalise(props)
|
||||
publish_packet = mosq_test.gen_publish("prop/qos0", qos=0, payload="message", proto_ver=5, properties=props)
|
||||
|
||||
disconnect_packet = mosq_test.gen_disconnect(proto_ver=5)
|
||||
|
||||
@@ -20,7 +20,6 @@ connect_packet = mosq_test.gen_connect("prop-test", keepalive=keepalive, proto_v
|
||||
connack_packet = mosq_test.gen_connack(rc=0, proto_ver=5)
|
||||
|
||||
props = mqtt5_props.gen_byte_prop(mqtt5_props.PROP_PAYLOAD_FORMAT_INDICATOR, 0x01)
|
||||
props = mqtt5_props.prop_finalise(props)
|
||||
publish_packet = mosq_test.gen_publish("prop/qos0", qos=0, payload="message", proto_ver=5, properties=props)
|
||||
|
||||
disconnect_packet = mosq_test.gen_disconnect(proto_ver=5)
|
||||
|
||||
+6
-9
@@ -320,10 +320,9 @@ def gen_connect(client_id, clean_session=True, keepalive=60, username=None, pass
|
||||
connect_flags = connect_flags | 0x02
|
||||
|
||||
if proto_ver == 5:
|
||||
properties += mqtt5_props.gen_uint16_prop(mqtt5_props.PROP_RECEIVE_MAXIMUM, 20)
|
||||
properties = mqtt5_props.prop_finalise(properties)
|
||||
if properties == "":
|
||||
properties = struct.pack("B", 0)
|
||||
properties += mqtt5_props.gen_uint16_prop(mqtt5_props.PROP_RECEIVE_MAXIMUM, 20)
|
||||
properties = mqtt5_props.prop_finalise(properties)
|
||||
remaining_length += len(properties)
|
||||
|
||||
if will_topic != None:
|
||||
@@ -378,7 +377,7 @@ def gen_connack(resv=0, rc=0, proto_ver=4, properties=""):
|
||||
|
||||
return packet
|
||||
|
||||
def gen_publish(topic, qos, payload=None, retain=False, dup=False, mid=0, proto_ver=4, properties=None):
|
||||
def gen_publish(topic, qos, payload=None, retain=False, dup=False, mid=0, proto_ver=4, properties=""):
|
||||
rl = 2+len(topic)
|
||||
pack_format = "H"+str(len(topic))+"s"
|
||||
if qos > 0:
|
||||
@@ -386,9 +385,7 @@ def gen_publish(topic, qos, payload=None, retain=False, dup=False, mid=0, proto_
|
||||
pack_format = pack_format + "H"
|
||||
|
||||
if proto_ver == 5:
|
||||
if properties is None:
|
||||
properties = struct.pack("!B", 0)
|
||||
|
||||
properties = mqtt5_props.prop_finalise(properties)
|
||||
rl += len(properties)
|
||||
# This will break if len(properties) > 127
|
||||
pack_format = pack_format + "%ds"%(len(properties))
|
||||
@@ -446,6 +443,7 @@ def gen_subscribe(mid, topic, qos, proto_ver=4, properties=""):
|
||||
pack_format = "!BBHBH"+str(len(topic))+"sB"
|
||||
return struct.pack(pack_format, 130, 2+1+2+len(topic)+1, mid, 0, len(topic), topic, qos)
|
||||
else:
|
||||
properties = mqtt5_props.prop_finalise(properties)
|
||||
pack_format = "!BBH"+str(len(properties))+"s"+"H"+str(len(topic))+"sB"
|
||||
return struct.pack(pack_format, 130, 2+1+2+len(topic)+len(properties), mid, properties, len(topic), topic, qos)
|
||||
else:
|
||||
@@ -480,8 +478,7 @@ def gen_pingresp():
|
||||
|
||||
def gen_disconnect(reason_code=0, proto_ver=4, properties=""):
|
||||
if proto_ver == 5:
|
||||
if properties == "":
|
||||
properties = struct.pack("B", 0)
|
||||
properties = mqtt5_props.prop_finalise(properties)
|
||||
|
||||
return struct.pack('!BBB', 224, 1+len(properties), reason_code) + properties
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user