kopia lustrzana https://github.com/Yakifo/amqtt
Clean test
rodzic
b173b3f5aa
commit
52fd303438
|
@ -14,7 +14,7 @@ import logging
|
||||||
|
|
||||||
logging.basicConfig(level=logging.DEBUG)
|
logging.basicConfig(level=logging.DEBUG)
|
||||||
|
|
||||||
packet = "str"
|
ret_packet = None
|
||||||
|
|
||||||
class ConnectPacketTest(unittest.TestCase):
|
class ConnectPacketTest(unittest.TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
|
@ -49,36 +49,37 @@ class ConnectPacketTest(unittest.TestCase):
|
||||||
self.assertEquals(packet.fixed_header.packet_type, PacketType.CONNECT)
|
self.assertEquals(packet.fixed_header.packet_type, PacketType.CONNECT)
|
||||||
|
|
||||||
def test_write_loop(self):
|
def test_write_loop(self):
|
||||||
data_ref = b'\x10\x3e\x00\x04MQTT\x04\xce\x00\x00\x00\x0a0123456789\x00\x09WillTopic\x00\x0bWillMessage\x00\x04user\x00\x08password'
|
test_packet = ConnectPacket(vh=ConnectVariableHeader(), payload=ConnectPayload('Id', 'WillTopic', 'WillMessage', 'user', 'password'))
|
||||||
event=asyncio.Event()
|
event=asyncio.Event()
|
||||||
|
|
||||||
@asyncio.coroutine
|
@asyncio.coroutine
|
||||||
def serve_test(reader, writer):
|
def serve_test(reader, writer):
|
||||||
global packet
|
global ret_packet
|
||||||
packet = yield from ConnectPacket.from_stream(reader)
|
packet = yield from ConnectPacket.from_stream(reader)
|
||||||
self.logger.info("data=" + repr(packet))
|
ret_packet = packet
|
||||||
writer.close()
|
writer.close()
|
||||||
event.set()
|
event.set()
|
||||||
return packet
|
|
||||||
|
|
||||||
|
@asyncio.coroutine
|
||||||
|
def client():
|
||||||
|
S = Session()
|
||||||
|
S.reader, S.writer = yield from asyncio.open_connection('127.0.0.1', 8888, loop=loop)
|
||||||
|
handler = ProtocolHandler(S, loop)
|
||||||
|
yield from handler.start()
|
||||||
|
yield from S.outgoing_queue.put(test_packet)
|
||||||
|
yield from handler.stop()
|
||||||
|
S.writer.close()
|
||||||
|
|
||||||
|
# Start server
|
||||||
loop = asyncio.get_event_loop()
|
loop = asyncio.get_event_loop()
|
||||||
coro = asyncio.start_server(serve_test, '127.0.0.1', 8888, loop=loop)
|
coro = asyncio.start_server(serve_test, '127.0.0.1', 8888, loop=loop)
|
||||||
server = loop.run_until_complete(coro)
|
server = loop.run_until_complete(coro)
|
||||||
|
|
||||||
S = Session()
|
# Schedule client
|
||||||
@asyncio.coroutine
|
loop.call_soon(asyncio.async, client())
|
||||||
def client():
|
|
||||||
S.reader, S.writer = yield from asyncio.open_connection('127.0.0.1', 8888,
|
|
||||||
loop=loop)
|
|
||||||
handler = ProtocolHandler(S, loop)
|
|
||||||
yield from handler.start()
|
|
||||||
conn = ConnectPacket(vh=ConnectVariableHeader(), payload=ConnectPayload('Id', 'WillTopic', 'WillMessage', 'user', 'password'))
|
|
||||||
yield from S.outgoing_queue.put(conn)
|
|
||||||
self.logger.debug("Messages in queue: %d" % S.outgoing_queue.qsize())
|
|
||||||
yield from handler.stop()
|
|
||||||
S.writer.close()
|
|
||||||
|
|
||||||
loop.run_until_complete(client())
|
# Wait for server to complete client request
|
||||||
loop.run_until_complete(asyncio.wait([event.wait()]))
|
loop.run_until_complete(asyncio.wait([event.wait()]))
|
||||||
ret = server.close()
|
server.close()
|
||||||
self.logger.info(packet)
|
self.logger.info(ret_packet)
|
||||||
#self.assertEquals(packet.fixed_header.packet_type, PacketType.CONNECT)
|
#self.assertEquals(packet.fixed_header.packet_type, PacketType.CONNECT)
|
Ładowanie…
Reference in New Issue