コード例 #1
0
 def test_PUBLISH_encdec_payload_float(self):
     request = PUBLISH()
     response = PUBLISH()
     request.msgId = 30001
     request.qos = 1
     request.dup = False
     request.retain = True
     request.topic = "foo"
     request.payload = 12.25
     self.assertRaises(TypeError, request.encode)
コード例 #2
0
    def test_publish_recv_qos2(self):
        self.called = False

        def onPublish(topic, payload, qos, dup, retain, msgId):
            self.called = True
            self.topic = topic
            self.payload = payload.decode('utf-8')
            self.qos = qos
            self.retain = retain
            self.msgId = msgId
            self.dup = dup

        self.protocol.onPublish = onPublish
        pub = PUBLISH()
        pub.qos = 2
        pub.dup = False
        pub.retain = False
        pub.topic = "foo/bar/baz2"
        pub.msgId = 1
        pub.payload = "Hello world 2"
        self.protocol.dataReceived(pub.encode())
        self.transport.clear()
        self.assertEqual(self.called, False)
        rel = PUBREL()
        rel.msgId = pub.msgId
        self.protocol.dataReceived(rel.encode())
        self.assertEqual(self.topic, pub.topic)
        self.assertEqual(self.payload, pub.payload)
        self.assertEqual(self.qos, pub.qos)
        self.assertEqual(self.retain, pub.retain)
        self.assertEqual(self.msgId, pub.msgId)
        self.assertEqual(self.dup, pub.dup)
コード例 #3
0
    def test_PUBLISH_encdec_payload_bytearray(self):
        request = PUBLISH()
        response = PUBLISH()
        request.msgId = 30001
        request.qos = 1
        request.dup = False
        request.retain = True
        request.topic = "foo"
        request.payload = bytearray(5)

        response.decode(request.encode())
        self.assertEqual(request.msgId, response.msgId)
        self.assertEqual(request.qos, response.qos)
        self.assertEqual(request.dup, response.dup)
        self.assertEqual(request.retain, response.retain)
        self.assertEqual(request.topic, response.topic)
        self.assertEqual(request.payload, response.payload)
コード例 #4
0
    def test_PUBLISH_encdec_retain(self):
        request = PUBLISH()
        response = PUBLISH()
        request.msgId = 30001
        request.qos = 1
        request.dup = False
        request.retain = True
        request.topic = "foo"
        request.payload = "foo"

        response.decode(request.encode())
        self.assertEqual(request.msgId, response.msgId)
        self.assertEqual(request.qos, response.qos)
        self.assertEqual(request.dup, response.dup)
        self.assertEqual(request.retain, response.retain)
        self.assertEqual(request.topic, response.topic)
        self.assertEqual(request.payload,
                         response.payload.decode(encoding='utf-8'))
コード例 #5
0
    def test_publish_recv_qos0(self):
        def onPublish(topic, payload, qos, dup, retain, msgId):
            self.topic = topic
            self.payload = payload.decode('utf-8')
            self.qos = qos
            self.retain = retain
            self.msgId = msgId

        self.protocol.onPublish = onPublish
        pub = PUBLISH()
        pub.qos = 0
        pub.dup = False
        pub.retain = False
        pub.topic = "foo/bar/baz0"
        pub.msgId = None
        pub.payload = "Hello world 0"
        self.protocol.dataReceived(pub.encode())
        self.assertEqual(self.topic, pub.topic)
        self.assertEqual(self.payload, pub.payload)
        self.assertEqual(self.qos, pub.qos)
        self.assertEqual(self.retain, pub.retain)
        self.assertEqual(self.msgId, pub.msgId)