|
2 | 2 |
|
3 | 3 | import re
|
4 | 4 | import sys
|
| 5 | +from binascii import unhexlify |
5 | 6 | from datetime import datetime, timezone
|
6 | 7 | from functools import partial
|
| 8 | +from socket import socket |
7 | 9 | from types import SimpleNamespace
|
8 | 10 | from typing import Any, cast
|
9 | 11 |
|
|
12 | 14 | from cbor2 import CBORTag
|
13 | 15 | from msgpack import ExtType
|
14 | 16 |
|
15 |
| -from asphalt.serialization import CustomizableSerializer |
| 17 | +from asphalt.serialization import ( |
| 18 | + CustomizableSerializer, |
| 19 | + DeserializationError, |
| 20 | + SerializationError, |
| 21 | +) |
16 | 22 | from asphalt.serialization.serializers.cbor import CBORSerializer, CBORTypeCodec
|
17 | 23 | from asphalt.serialization.serializers.json import JSONSerializer
|
18 | 24 | from asphalt.serialization.serializers.msgpack import (
|
@@ -115,6 +121,16 @@ def test_basic_types_roundtrip(serializer: CustomizableSerializer, input: Any) -
|
115 | 121 | assert deserialized == input
|
116 | 122 |
|
117 | 123 |
|
| 124 | +def test_serialization_error(serializer: CustomizableSerializer) -> None: |
| 125 | + with pytest.raises(SerializationError), socket() as sock: |
| 126 | + serializer.serialize(sock) |
| 127 | + |
| 128 | + |
| 129 | +def test_deserialization_error(serializer: CustomizableSerializer) -> None: |
| 130 | + with pytest.raises(DeserializationError): |
| 131 | + serializer.deserialize(unhexlify("c11b9b9b9b0000000000")) |
| 132 | + |
| 133 | + |
118 | 134 | @pytest.mark.parametrize("serializer_type", ["cbor", "pickle", "yaml"])
|
119 | 135 | def test_circular_reference(serializer: CustomizableSerializer) -> None:
|
120 | 136 | a: dict[str, Any] = {"foo": 1}
|
|
0 commit comments