def test_serializer_separator(): """ Check which serializers do require a separator between topic and message to be automatically inserted. """ assert not AgentAddressSerializer('raw').requires_separator assert AgentAddressSerializer('pickle').requires_separator assert AgentAddressSerializer('json').requires_separator
def test_serializer(): """ This test aims to cover basic AgentAddressSerializer initialization and equivalence. """ assert AgentAddressSerializer('raw') == 'raw' assert AgentAddressSerializer('pickle') == 'pickle' assert AgentAddressSerializer('json') == 'json' with pytest.raises(ValueError): AgentAddressSerializer('foo')
def test_compose_message(): """ Test correct message composing. """ message = b'message' topic = b'test topic' # Basic composing for serializer in AgentAddressSerializer.SERIALIZER_SIMPLE: serializer = AgentAddressSerializer(serializer) assert compose_message(message, topic, serializer) == topic + message for serializer in AgentAddressSerializer.SERIALIZER_SEPARATOR: serializer = AgentAddressSerializer(serializer) assert (compose_message(message, topic, serializer) == topic + TOPIC_SEPARATOR + message) # Raise with wrong serializer with pytest.raises(Exception): compose_message(message, topic, 'foo')