36 lines
1.5 KiB
Python
36 lines
1.5 KiB
Python
from unittest import TestCase
|
|
|
|
from amqp.adapter.amq_message_factory import AMQMessageFactory
|
|
from amqp.adapter.amq_response_factory import AMQResponseFactory
|
|
from amqp.model.snowflake_id import SnowflakeId
|
|
|
|
|
|
class TestAMQResponseFactory(TestCase):
|
|
|
|
def test_create_async_response_message(self):
|
|
_f = AMQResponseFactory()
|
|
_g = AMQMessageFactory(111)
|
|
_resp = _f.create_async_response_message(_g.generate_snowflake_id())
|
|
self.assertEqual(200, _resp.response_code)
|
|
self.assertEqual(b"OK", _resp.response)
|
|
|
|
def test_serialize(self):
|
|
_f = AMQResponseFactory()
|
|
_g = AMQMessageFactory(111)
|
|
_snowflakeId: SnowflakeId = _g.generate_snowflake_id()
|
|
_resp = _f.create_async_response_message(_snowflakeId)
|
|
_ser = _f.serialize(_resp)
|
|
self.assertEqual(2, str(_ser[2:]).index(_f.MAGIC_BYTE_HTTP_REQUEST+_snowflakeId.as_string()), "Magic byte and SnowflakeId not found")
|
|
self.assertGreater(str(_ser[2:]).index("|e=|"), 2)
|
|
self.assertEqual((_ser[0]+_ser[1]), len(_ser) - 2 - len('T0s='))
|
|
|
|
def test_from_bytes(self):
|
|
_f = AMQResponseFactory()
|
|
_g = AMQMessageFactory(111)
|
|
_snowflakeId: SnowflakeId = _g.generate_snowflake_id()
|
|
_resp = _f.create_async_response_message(_snowflakeId)
|
|
_ser = _f.serialize(_resp)
|
|
_deser = _f.from_bytes(_ser)
|
|
self.assertEqual(_snowflakeId.as_string(), _deser.id)
|
|
self.assertEqual(200, _deser.response_code)
|
|
self.assertEqual(b'OK', _deser.response) |