#23 refactor for cleverBRAG, fix failing unit tests
This commit is contained in:
@@ -20,7 +20,15 @@ class DataResponseFactory:
|
|||||||
:param _id: ID
|
:param _id: ID
|
||||||
:return: Response message
|
:return: Response message
|
||||||
"""
|
"""
|
||||||
return DataResponse(str(_id), 200, "application/text", "OK".encode("utf-8"), "", "", {})
|
return DataResponseFactory.of(
|
||||||
|
id=_id,
|
||||||
|
response_code=200,
|
||||||
|
content_type="application/text",
|
||||||
|
body="OK".encode("utf-8"),
|
||||||
|
trace_info={},
|
||||||
|
error="",
|
||||||
|
error_cause="",
|
||||||
|
)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def of(
|
def of(
|
||||||
|
|||||||
@@ -10,25 +10,21 @@ class DataMessageFactoryTest(TestCase):
|
|||||||
msg = DataMessageFactory.from_bytes(raw.encode("utf-8"))
|
msg = DataMessageFactory.from_bytes(raw.encode("utf-8"))
|
||||||
self.assertIsNotNone(msg.id)
|
self.assertIsNotNone(msg.id)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
msg.id.as_string(),
|
msg.id().as_string(),
|
||||||
"64F3B5AF4D00000A4000".lower(),
|
"64F3B5AF4D00000A4000".lower(),
|
||||||
"SnowflakeID incorrectly parsed.",
|
"SnowflakeID incorrectly parsed.",
|
||||||
)
|
)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
msg.headers["Content-Type"][0],
|
msg.headers()["Content-Type"][0],
|
||||||
"multipart/form-data; boundary=------------------------j1RjIqLrFH07XMsyMvpS1v",
|
"multipart/form-data; boundary=------------------------j1RjIqLrFH07XMsyMvpS1v",
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_generate_snowflake_id(self):
|
def test_generate_snowflake_id(self):
|
||||||
_id = DataMessageFactory.get_instance(1).generate_snowflake_id()
|
_id = DataMessageFactory.get_instance(1).generate_snowflake_id()
|
||||||
self.assertEqual(
|
self.assertEqual("00001000", _id.as_string()[-8:], "Instance ID not set correctly")
|
||||||
"00001000", _id.as_string()[-8:], "Instance ID not set correctly"
|
|
||||||
)
|
|
||||||
|
|
||||||
_id = DataMessageFactory(2).generate_snowflake_id()
|
_id = DataMessageFactory(2).generate_snowflake_id()
|
||||||
self.assertEqual(
|
self.assertEqual("00002000", _id.as_string()[-8:], "Instance ID not set correctly")
|
||||||
"00002000", _id.as_string()[-8:], "Instance ID not set correctly"
|
|
||||||
)
|
|
||||||
|
|
||||||
_f = DataMessageFactory(127)
|
_f = DataMessageFactory(127)
|
||||||
_i0 = _f.generate_snowflake_id()
|
_i0 = _f.generate_snowflake_id()
|
||||||
@@ -65,9 +61,9 @@ class DataMessageFactoryTest(TestCase):
|
|||||||
{"k1": ["v1"], "k2": ["v2"]},
|
{"k1": ["v1"], "k2": ["v2"]},
|
||||||
"Quick brown fox",
|
"Quick brown fox",
|
||||||
)
|
)
|
||||||
self.assertEqual("localhost", _req.domain, "Domain not set correctly")
|
self.assertEqual("localhost", _req.domain(), "Domain not set correctly")
|
||||||
self.assertEqual("/test/me", _req.path, "Context path not set correctly")
|
self.assertEqual("/test/me", _req.path(), "Context path not set correctly")
|
||||||
self.assertEqual("v1", _req.headers["k1"][0], "Headers not set correctly")
|
self.assertEqual("v1", _req.headers()["k1"][0], "Headers not set correctly")
|
||||||
self.assertEqual(b"Quick brown fox", _req.body(), "Body not correctly decoded")
|
self.assertEqual(b"Quick brown fox", _req.body(), "Body not correctly decoded")
|
||||||
|
|
||||||
def test_serialize(self):
|
def test_serialize(self):
|
||||||
@@ -82,11 +78,11 @@ class DataMessageFactoryTest(TestCase):
|
|||||||
_ser = _f.serialize(_req)
|
_ser = _f.serialize(_req)
|
||||||
self.assertEqual(65, _ser[2])
|
self.assertEqual(65, _ser[2])
|
||||||
_deser = _f.from_bytes(_ser)
|
_deser = _f.from_bytes(_ser)
|
||||||
self.assertEqual(_req.id.as_string(), _deser.id.as_string())
|
self.assertEqual(_req.id().as_string(), _deser.id().as_string())
|
||||||
self.assertEqual("localhost", _deser.domain)
|
self.assertEqual("localhost", _deser.domain())
|
||||||
self.assertEqual("/test/me", _deser.path)
|
self.assertEqual("/test/me", _deser.path())
|
||||||
self.assertEqual(b"Quick brown fox", _deser.body())
|
self.assertEqual(b"Quick brown fox", _deser.body())
|
||||||
self.assertEqual("v2", _deser.headers["k2"][0])
|
self.assertEqual("v2", _deser.headers()["k2"][0])
|
||||||
|
|
||||||
def test_amq_message_routing_key(self):
|
def test_amq_message_routing_key(self):
|
||||||
_f = DataMessageFactory(35)
|
_f = DataMessageFactory(35)
|
||||||
@@ -124,6 +120,4 @@ class DataMessageFactoryTest(TestCase):
|
|||||||
"Quick brown fox",
|
"Quick brown fox",
|
||||||
)
|
)
|
||||||
_as_str = _f.to_string(_req)
|
_as_str = _f.to_string(_req)
|
||||||
self.assertGreater(
|
self.assertGreater(_as_str.index("domain='localhost'"), 0, "Expected content not found")
|
||||||
_as_str.index("domain='localhost'"), 0, "Expected content not found"
|
|
||||||
)
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ class TestDataResponseFactory(TestCase):
|
|||||||
_g = DataMessageFactory(111)
|
_g = DataMessageFactory(111)
|
||||||
_resp = _f.create_async_response_message(_g.generate_snowflake_id())
|
_resp = _f.create_async_response_message(_g.generate_snowflake_id())
|
||||||
self.assertEqual("200", _resp.response_code())
|
self.assertEqual("200", _resp.response_code())
|
||||||
self.assertEqual(b"OK", _resp.base64body())
|
self.assertEqual(b"OK", _resp.body())
|
||||||
|
|
||||||
def test_serialize(self):
|
def test_serialize(self):
|
||||||
_f = DataResponseFactory()
|
_f = DataResponseFactory()
|
||||||
@@ -36,6 +36,6 @@ class TestDataResponseFactory(TestCase):
|
|||||||
_resp = _f.create_async_response_message(_snowflakeId)
|
_resp = _f.create_async_response_message(_snowflakeId)
|
||||||
_ser = _f.serialize(_resp)
|
_ser = _f.serialize(_resp)
|
||||||
_deser = _f.from_bytes(_ser)
|
_deser = _f.from_bytes(_ser)
|
||||||
self.assertEqual(_snowflakeId.as_string(), _deser.id)
|
self.assertEqual(_snowflakeId.as_string(), _deser.id())
|
||||||
self.assertEqual("200", _deser.response_code())
|
self.assertEqual("200", _deser.response_code())
|
||||||
self.assertEqual(b"OK", _deser.base64body())
|
self.assertEqual(b"OK", _deser.body())
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ from unittest import TestCase
|
|||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from amqp.adapter.data_message_factory import DataMessageFactory
|
|
||||||
from amqp.adapter.amq_route_factory import AMQRouteFactory
|
from amqp.adapter.amq_route_factory import AMQRouteFactory
|
||||||
|
from amqp.adapter.data_message_factory import DataMessageFactory
|
||||||
from amqp.model.model import AMQRoute
|
from amqp.model.model import AMQRoute
|
||||||
from amqp.router.route_database import RouteDatabase
|
from amqp.router.route_database import RouteDatabase
|
||||||
|
|
||||||
@@ -80,7 +80,7 @@ class TestRouteDatabase(TestCase):
|
|||||||
message = DataMessageFactory.get_instance(111).create_request_message(
|
message = DataMessageFactory.get_instance(111).create_request_message(
|
||||||
"POST", "clever3-book.localhost", "/aa/bb?cc=d", {}, ""
|
"POST", "clever3-book.localhost", "/aa/bb?cc=d", {}, ""
|
||||||
)
|
)
|
||||||
route = self._database.find_route(message.domain, message.path)
|
route = self._database.find_route(message.domain(), message.path())
|
||||||
self.assertIsNotNone(route)
|
self.assertIsNotNone(route)
|
||||||
self.assertEqual(ROUTE_3, route.as_string())
|
self.assertEqual(ROUTE_3, route.as_string())
|
||||||
route = self._database.find_route("clever3.book.localhost", "/three-hot-dogs")
|
route = self._database.find_route("clever3.book.localhost", "/three-hot-dogs")
|
||||||
|
|||||||
Reference in New Issue
Block a user