47 lines
2.2 KiB
Python
47 lines
2.2 KiB
Python
from unittest import TestCase
|
|
|
|
from amqp.adapter.service_message_factory import CleverMicroServiceMessageFactory, RS
|
|
from amqp.model.model import ServiceMessageType, CleverMicroServiceMessage
|
|
|
|
|
|
class CleverMicroServiceMessageTest(TestCase):
|
|
|
|
def test_to_string(self):
|
|
_f: CleverMicroServiceMessageFactory = CleverMicroServiceMessageFactory('bumble-bee')
|
|
message: CleverMicroServiceMessage = _f.of(ServiceMessageType.ROUTING_DATA, "Duck", "Donald")
|
|
message_str = _f.to_string(message)
|
|
assert "|type=01|" in message_str
|
|
assert "|body=Duck" in message_str
|
|
message: CleverMicroServiceMessage = _f.of(ServiceMessageType.ROUTING_DATA_REPLACE, "Duck", "Donald")
|
|
message_str = _f.to_string(message)
|
|
assert "|type=03|" in message_str
|
|
assert "|body=Duck" in message_str
|
|
assert "|replyTo=bumble-bee" in message_str
|
|
|
|
def test_from(self):
|
|
_f: CleverMicroServiceMessageFactory = CleverMicroServiceMessageFactory("amqp-router")
|
|
message = _f.of(ServiceMessageType.ROUTING_DATA, "Duck", "Donald")
|
|
serialized = _f.serialize(message)
|
|
deserialized = _f.from_bytes(serialized)
|
|
assert deserialized.is_valid()
|
|
assert deserialized.message_type == ServiceMessageType.ROUTING_DATA
|
|
assert deserialized.recipient_name == "Donald"
|
|
assert deserialized.message == "Duck"
|
|
assert deserialized.reply_to == "amqp-router"
|
|
|
|
def test_base64(self):
|
|
_f: CleverMicroServiceMessageFactory = CleverMicroServiceMessageFactory("amqp-router")
|
|
message = _f.as_base64(ServiceMessageType.ROUTING_DATA, "Duck", "Donald")
|
|
serialized = _f.serialize(message)
|
|
assert b"|81|" in serialized
|
|
deserialized = _f.from_bytes(serialized)
|
|
assert deserialized.is_valid()
|
|
assert deserialized.message_type == ServiceMessageType.ROUTING_DATA
|
|
assert deserialized.message == "Duck"
|
|
|
|
def test_serialize(self):
|
|
_f: CleverMicroServiceMessageFactory = CleverMicroServiceMessageFactory("amqp-router")
|
|
message = _f.of(ServiceMessageType.ROUTING_DATA, "Duck", "Donald")
|
|
serialized = _f.serialize(message)
|
|
assert RS + "0" + str(ServiceMessageType.ROUTING_DATA.value)
|