예제 #1
0
def test_complex_exception_serializer_round_trip_msgpack():
    exception = ComplexExceptionType("NotFound", "the object is missing")
    data = msgpack_dumps({"exception": exception})
    actual_data = msgpack_loads(data)
    assert "exception" in actual_data
    assert type(actual_data["exception"]) == Exception
    assert str(actual_data["exception"]) == str(exception)
예제 #2
0
def test_exception_serializer_round_trip_msgpack():
    error_message = "unreachable host"
    data = msgpack_dumps({"exception": ConnectionError(error_message)})
    actual_data = msgpack_loads(data)
    assert "exception" in actual_data
    assert type(actual_data["exception"]) == ConnectionError
    assert str(actual_data["exception"]) == error_message
예제 #3
0
def test_serializers_round_trip_msgpack():
    expected_original_data = {
        **DATA,
        "none_dict_key": {
            None: 42
        },
        "long_int_is_loooong": 10000000000000000000000000000000,
        "long_negative_int_is_loooong": -10000000000000000000000000000000,
    }
    data = msgpack_dumps(expected_original_data)
    actual_data = msgpack_loads(data)
    assert actual_data == expected_original_data
예제 #4
0
def test_serializers_decode_naive_datetime():
    expected_dt = datetime.datetime(2015, 1, 1, 12, 4, 42, 231455)

    # Current encoding
    assert (msgpack_loads(b"\x82\xc4\x07swhtype\xa8datetime\xc4\x01d\xba"
                          b"2015-01-01T12:04:42.231455") == expected_dt)
예제 #5
0
def test_serializers_decode_datetime_compat_msgpack():
    dt = datetime.datetime.now(tz=datetime.timezone.utc)
    encmsg = msgpack_dumps({b"swhtype": "datetime", b"d": dt.isoformat()})
    decmsg = msgpack_loads(encmsg)
    assert decmsg == dt
예제 #6
0
def test_serializers_generator_msgpack():
    data = msgpack_dumps((i for i in range(5)))
    assert msgpack_loads(data) == [i for i in range(5)]
예제 #7
0
def test_serializers_round_trip_msgpack_extra_types():
    original_data = [ExtraType("baz", DATA), "qux"]
    data = msgpack_dumps(original_data, extra_encoders=extra_encoders)
    actual_data = msgpack_loads(data, extra_decoders=extra_decoders)
    assert actual_data == original_data