Exemple #1
0
def test_fixed_length_text_serialization_with_wrong_length(length, value):
    sedes = Text.fixed_length(length)
    with pytest.raises(SerializationError):
        sedes.serialize(value)
Exemple #2
0
def test_unserializable_text_sedes_values(value):
    sedes = Text()
    with pytest.raises(SerializationError):
        sedes.serialize(value)
Exemple #3
0
def test_fixed_length_text_serialization(length, value, expected):
    sedes = Text.fixed_length(length)
    assert sedes.serialize(value) == expected
Exemple #4
0
def test_desirialization_of_text_encoding_failure():
    sedes = Text()
    with pytest.raises(DeserializationError):
        sedes.deserialize(b'\xff')
Exemple #5
0
def test_simple_text_serialization(value, expected):
    sedes = Text()
    assert sedes.serialize(value) == expected
Exemple #6
0
def test_round_trip_text_encoding_and_decoding(value):
    sedes = Text()
    encoded = encode(value, sedes=sedes)
    actual = decode(encoded, sedes=sedes)
    assert actual == value
Exemple #7
0
def test_allow_empty_bypasses_length_checks():
    sedes = Text.fixed_length(1, allow_empty=True)
    assert sedes.serialize('') == b''

    with pytest.raises(SerializationError):
        sedes.serialize(b'12')
Exemple #8
0
def test_deserialization_text_sedes(serial, expected):
    sedes = Text()
    assert sedes.deserialize(serial) == expected
Exemple #9
0
def test_min_max_length_text_serialization_wrong_length(
        min_length, max_length, value):
    sedes = Text(min_length=min_length, max_length=max_length)
    with pytest.raises(SerializationError):
        sedes.serialize(value)
Exemple #10
0
def test_min_max_length_text_serialization(min_length, max_length, value,
                                           expected):
    sedes = Text(min_length=min_length, max_length=max_length)
    assert sedes.serialize(value) == expected