Exemple #1
0
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
Exemple #2
0
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')