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