Beispiel #1
0
class TestMQTTBaseProtocol1(unittest.TestCase):

    def setUp(self):
        self.transport = proto_helpers.StringTransportWithDisconnection()
        self.clock     = task.Clock()
        self.factory   = MQTTFactory(MQTTFactory.PUBLISHER)
        self.protocol  = MQTTBaseProtocol(self.factory)
        self.transport.protocol = self.protocol
        MQTTBaseProtocol.callLater = self.clock.callLater
        self.protocol.makeConnection(self.transport)
       

    def test_connect(self):
        self.CONNACK = CONNACK()
        self.CONNACK.session = False
        self.CONNACK.resultCode = 0
        self.CONNACK.encode()
        d = self.protocol.connect("TwistedMQTT-pub", keepalive=0, version=v31)
        self.transport.clear()
        self.assertEqual(self.protocol.state, MQTTBaseProtocol.CONNECTING)
        self.protocol.dataReceived(self.CONNACK.encoded)
        self.assertEqual(self.protocol.state, MQTTBaseProtocol.CONNECTED)
        self.assertEqual(self.CONNACK.session, self.successResultOf(d))
 

    def test_connect_timeout(self):
        d = self.protocol.connect("TwistedMQTT-pub", keepalive=0, version=v31)
        self.transport.clear()
        self.assertEqual(self.protocol.state, MQTTBaseProtocol.CONNECTING)
        self.assertNoResult(d)
        self.clock.advance(11)
        self.failureResultOf(d).trap(MQTTTimeoutError)
Beispiel #2
0
class TestMQTTBaseProtocol1(unittest.TestCase):

    def setUp(self):
        self.transport = proto_helpers.StringTransportWithDisconnection()
        self.clock     = task.Clock()
        self.factory   = MQTTFactory(MQTTFactory.PUBLISHER)
        self.protocol  = MQTTBaseProtocol(self.factory)
        self.transport.protocol = self.protocol
        MQTTBaseProtocol.callLater = self.clock.callLater
        self.protocol.makeConnection(self.transport)
       

    def test_connect(self):
        self.CONNACK = CONNACK()
        self.CONNACK.session = False
        self.CONNACK.resultCode = 0
        self.CONNACK.encode()
        d = self.protocol.connect("TwistedMQTT-pub", keepalive=0, version=v31)
        self.transport.clear()
        self.assertEqual(self.protocol.state, self.protocol.CONNECTING)
        self.protocol.dataReceived(self.CONNACK.encoded)
        self.assertEqual(self.protocol.state, self.protocol.CONNECTED)
        self.assertEqual(self.CONNACK.session, self.successResultOf(d))
 

    def test_connect_timeout(self):
        d = self.protocol.connect("TwistedMQTT-pub", keepalive=0, version=v31)
        self.transport.clear()
        self.assertEqual(self.protocol.state, self.protocol.CONNECTING)
        self.assertNoResult(d)
        self.clock.advance(11)
        self.failureResultOf(d).trap(MQTTTimeoutError)
 def _connect(self, cleanStart=True):
     '''
     Go to connected state
     '''
     ack = CONNACK()
     ack.session = False
     ack.resultCode = 0
     ack.encode()
     self.protocol.connect("TwistedMQTT-sub", keepalive=0, cleanStart=cleanStart, version=v31)
     self.transport.clear()
     self.protocol.dataReceived(ack.encoded)
Beispiel #4
0
 def test_connect(self):
     self.CONNACK = CONNACK()
     self.CONNACK.session = False
     self.CONNACK.resultCode = 0
     self.CONNACK.encode()
     d = self.protocol.connect("TwistedMQTT-pub", keepalive=0, version=v31)
     self.transport.clear()
     self.assertEqual(self.protocol.state, self.protocol.CONNECTING)
     self.protocol.dataReceived(self.CONNACK.encoded)
     self.assertEqual(self.protocol.state, self.protocol.CONNECTED)
     self.assertEqual(self.CONNACK.session, self.successResultOf(d))
Beispiel #5
0
    def test_CONNACK_encdec(self):
        request = CONNACK()
        response = CONNACK()
        request.session = True
        request.resultCode = 2

        response.decode(request.encode())
        self.assertEqual(request.encoded[0], response.encoded[0])
        self.assertEqual(request.session, response.session)
        self.assertEqual(request.resultCode, response.resultCode)
Beispiel #6
0
 def test_connect(self):
     self.CONNACK = CONNACK()
     self.CONNACK.session = False
     self.CONNACK.resultCode = 0
     self.CONNACK.encode()
     d = self.protocol.connect("TwistedMQTT-pub", keepalive=0, version=v31)
     self.transport.clear()
     self.assertEqual(self.protocol.state, MQTTBaseProtocol.CONNECTING)
     self.protocol.dataReceived(self.CONNACK.encoded)
     self.assertEqual(self.protocol.state, MQTTBaseProtocol.CONNECTED)
     self.assertEqual(self.CONNACK.session, self.successResultOf(d))
Beispiel #7
0
 def test_CONNACK_encdec(self):
     request = CONNACK()
     response = CONNACK()
     request.session    = True
     request.resultCode = 2
     
     response.decode(request.encode())
     self.assertEqual(request.encoded[0],  response.encoded[0])
     self.assertEqual(request.session,     response.session)
     self.assertEqual(request.resultCode,  response.resultCode)
Beispiel #8
0
 def _connect(self, cleanStart=True):
     '''
     Go to connected state
     '''
     ack = CONNACK()
     ack.session = False
     ack.resultCode = 0
     ack.encode()
     self.protocol.connect("TwistedMQTT-pubsubs", keepalive=0, cleanStart=cleanStart, version=v31)
     self.transport.clear()
     self.protocol.dataReceived(ack.encoded)