|
@@ -1,5 +1,8 @@
|
|
|
+from __future__ import annotations
|
|
|
+
|
|
|
from typing import List, Optional, Union
|
|
|
|
|
|
+import pytest
|
|
|
from drf_spectacular.utils import extend_schema_serializer
|
|
|
from typing_extensions import Literal, TypedDict
|
|
|
|
|
@@ -36,6 +39,11 @@ class BasicSerializer(Serializer):
|
|
|
return {"a": 1, "b": "test", "c": True, "d": [1], "e": {"zz": "test"}}
|
|
|
|
|
|
|
|
|
+class FailSerializer(Serializer):
|
|
|
+ def serialize():
|
|
|
+ return {"a": 1, "b": "test", "c": True, "d": [1], "e": {"zz": "test"}}
|
|
|
+
|
|
|
+
|
|
|
def test_sentry_response_serializer_extension():
|
|
|
seralizer_extension = SentryResponseSerializerExtension(BasicSerializer)
|
|
|
schema = seralizer_extension.map_serializer(None, None)
|
|
@@ -83,3 +91,9 @@ def test_sentry_inline_response_serializer_extension():
|
|
|
"required": ["b", "c", "d", "e", "f", "g", "h"],
|
|
|
},
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+def test_sentry_fails_when_serializer_not_typed():
|
|
|
+ seralizer_extension = SentryResponseSerializerExtension(FailSerializer)
|
|
|
+ with pytest.raises(TypeError):
|
|
|
+ seralizer_extension.map_serializer(None, None)
|