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)
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)
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_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)
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 _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)