Пример #1
0
    def test_216(self):
        pub = MqttClient("conformity-pub:{seq}", connect=4)
        sub = MqttClient("conformity-sub:{seq}", connect=4)

        ack = sub.subscribe_multi([("foo/bar", 2), ("bar/baz", 0),
                                   ("paper/+/scissor", 1)])

        if not isinstance(ack, EventSuback) or ack.mid != sub.get_last_mid():
            debug(ack)
            return False

        # checking granted qos
        if len(ack.granted_qos) != 3 or \
                ack.granted_qos[0] != 2 or \
                ack.granted_qos[1] != 0 or \
                ack.granted_qos[2] != 1:
            debug(ack)
            return False

        return True
Пример #2
0
    def test_216(self):
        pub = MqttClient("conformity-pub:{seq}", connect=4)
        sub = MqttClient("conformity-sub:{seq}", connect=4)

        ack = sub.subscribe_multi([
            ("foo/bar", 2),
            ("bar/baz", 0),
            ("paper/+/scissor", 1)
        ])

        if not isinstance(ack, EventSuback) or ack.mid != sub.get_last_mid():
            debug(ack)
            return False

        # checking granted qos
        if len(ack.granted_qos) != 3 or \
                ack.granted_qos[0] != 2 or \
                ack.granted_qos[1] != 0 or \
                ack.granted_qos[2] != 1:
            debug(ack)
            return False

        return True
Пример #3
0
    def test_031(self):
        sub = MqttClient("sub:{seq}", connect=4)
        ack = sub.subscribe_multi([('foo/+', 1), ('foo/#', 1)])
        debug("subscribe_multi response: {0}".format(ack))

        pub = MqttClient("pub:{seq}", connect=4)
        pub.publish("foo/bar", gen_msg(42), qos=1)

        evt = sub.recv()
        if not isinstance(evt, EventPublish) or\
                evt.msg.topic != 'foo/bar' or\
                evt.msg.qos   != 1:
            debug('failing event: {0}'.format(evt))
            return False
        sub.puback(evt.msg.mid, read_response=False)

        evt = pub.recv()
        if evt is not None:
            debug('failing event: {0}'.format(evt))
            return False

        # receive 2d publish
        evt = sub.recv()
        if not isinstance(evt, EventPublish) or\
                evt.msg.topic != 'foo/bar' or\
                evt.msg.qos   != 1:
            debug('failing event: {0}'.format(evt))
            return False
        sub.puback(evt.msg.mid)

        evt = pub.recv()
        if not isinstance(evt, EventPuback):
            debug('failing event: {0}'.format(evt))
            return False

        return True