amqtt/tests/mqtt/protocol/test_handler.py

42 wiersze
1.5 KiB
Python
Czysty Zwykły widok Historia

2015-09-12 12:47:36 +00:00
# Copyright (c) 2015 Nicolas JOUANIN
#
# See the file license.txt for copying permission.
import unittest
import asyncio
from hbmqtt.plugins.manager import PluginManager
from hbmqtt.session import Session
from hbmqtt.mqtt.protocol.handler import ProtocolHandler
2015-09-12 13:28:40 +00:00
from hbmqtt.adapters import BufferReader, BufferWriter
2015-09-12 12:47:36 +00:00
class ProtocolHandlerTest(unittest.TestCase):
def setUp(self):
self.loop = asyncio.new_event_loop()
self.plugin_manager = PluginManager("hbmqtt.test.plugins", context=None, loop=self.loop)
def test_init_handler(self):
s = Session()
handler = ProtocolHandler(s, self.plugin_manager, loop=self.loop)
self.assertIs(handler.session, s)
self.assertIs(handler._loop, self.loop)
self.assertFalse(handler._puback_waiters)
self.assertFalse(handler._pubrec_waiters)
self.assertFalse(handler._pubrel_waiters)
self.assertFalse(handler._pubcomp_waiters)
2015-09-12 13:28:40 +00:00
def test_start_stop(self):
@asyncio.coroutine
def server_coro(reader, writer):
pass
@asyncio.coroutine
def test_coro():
s = Session()
buffer = b''
s.reader = BufferReader(buffer)
s.writer = BufferWriter(buffer)
handler = ProtocolHandler(s, self.plugin_manager, loop=self.loop)
yield from handler.start()
yield from handler.stop()
return handler
handler = self.loop.run_until_complete(test_coro())