mirror of
https://github.com/eclipse-mosquitto/mosquitto.git
synced 2026-05-21 12:24:29 +02:00
50 lines
2.7 KiB
Python
Executable file
50 lines
2.7 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
|
|
from mosq_test_helper import *
|
|
|
|
from broker_config import BrokerConfig, ListenerConfig
|
|
from mosquitto_broker import MosquittoBroker
|
|
|
|
def do_test(port1_prefix, port2_prefix, global_prefix, client_port, auto_id):
|
|
connect_packet = mqtt_packets.gen_connect("", proto_ver=5)
|
|
props = mqtt5_props.gen_string_prop(mqtt5_props.ASSIGNED_CLIENT_IDENTIFIER, f"{auto_id}xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
|
|
connack_packet = mqtt_packets.gen_connack(rc=0, proto_ver=5, properties=props)
|
|
# Remove the "xxxx" part - this means the front part of the packet
|
|
# is correct (so remaining length etc. is correct), but we don't
|
|
# need to match against the random id.
|
|
connack_packet = connack_packet[:-44]
|
|
|
|
broker_config = BrokerConfig(
|
|
listeners = [
|
|
ListenerConfig(
|
|
port=port2,
|
|
listener_auto_id_prefix=port2_prefix,
|
|
),
|
|
ListenerConfig(
|
|
port=port1,
|
|
listener_auto_id_prefix=port1_prefix,
|
|
),
|
|
],
|
|
allow_anonymous=True,
|
|
auto_id_prefix=global_prefix,
|
|
)
|
|
broker = MosquittoBroker(config=broker_config)
|
|
with broker:
|
|
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=client_port)
|
|
sock.close()
|
|
|
|
|
|
(port1, port2) = mosq_test.get_port(2)
|
|
do_test(port1_prefix=None, port2_prefix=None, global_prefix=None, client_port=port1, auto_id="auto-")
|
|
do_test(port1_prefix=None, port2_prefix=None, global_prefix=None, client_port=port2, auto_id="auto-")
|
|
do_test(port1_prefix=None, port2_prefix=None, global_prefix="new-", client_port=port1, auto_id="new-")
|
|
do_test(port1_prefix=None, port2_prefix=None, global_prefix="new-", client_port=port2, auto_id="new-")
|
|
do_test(port1_prefix=None, port2_prefix="port2-", global_prefix=None, client_port=port1, auto_id="auto-")
|
|
do_test(port1_prefix=None, port2_prefix="port2-", global_prefix=None, client_port=port2, auto_id="port2-")
|
|
do_test(port1_prefix="port1-", port2_prefix="port2-", global_prefix=None, client_port=port1, auto_id="port1-")
|
|
do_test(port1_prefix="port1-", port2_prefix="port2-", global_prefix=None, client_port=port2, auto_id="port2-")
|
|
do_test(port1_prefix="port1-", port2_prefix="port2-", global_prefix="global-", client_port=port1, auto_id="port1-")
|
|
do_test(port1_prefix="port1-", port2_prefix="port2-", global_prefix="global-", client_port=port2, auto_id="port2-")
|
|
do_test(port1_prefix="port1-", port2_prefix=None, global_prefix="global-", client_port=port1, auto_id="port1-")
|
|
do_test(port1_prefix="port1-", port2_prefix=None, global_prefix="global-", client_port=port2, auto_id="global-")
|