1
1
import pytest
2
2
3
+ from openapi_core .deserializing .exceptions import DeserializeError
4
+ from openapi_core .deserializing .media_types .factories import (
5
+ MediaTypeDeserializersFactory ,
6
+ )
3
7
from openapi_core .deserializing .parameters .factories import (
4
- ParameterDeserializersFactory ,
5
- )
8
+ ParameterDeserializersFactory ,
9
+ )
6
10
from openapi_core .deserializing .parameters .exceptions import (
7
11
EmptyParameterValue ,
8
12
)
13
+ from openapi_core .schema .media_types .models import MediaType
9
14
from openapi_core .schema .parameters .models import Parameter
10
15
11
16
12
- @pytest .fixture
13
- def deserializer_factory ():
14
- def create_deserializer (param ):
15
- return ParameterDeserializersFactory ().create (param )
16
- return create_deserializer
17
-
18
-
19
17
class TestParameterDeserialise (object ):
20
18
19
+ @pytest .fixture
20
+ def deserializer_factory (self ):
21
+ def create_deserializer (param ):
22
+ return ParameterDeserializersFactory ().create (param )
23
+ return create_deserializer
24
+
21
25
def test_deprecated (self , deserializer_factory ):
22
26
param = Parameter ('param' , 'query' , deprecated = True )
23
27
value = 'test'
@@ -41,3 +45,27 @@ def test_query_valid(self, deserializer_factory):
41
45
result = deserializer_factory (param )(value )
42
46
43
47
assert result == value
48
+
49
+
50
+ class TestMediaTypeDeserialise (object ):
51
+
52
+ @pytest .fixture
53
+ def deserializer_factory (self ):
54
+ def create_deserializer (media_type ):
55
+ return MediaTypeDeserializersFactory ().create (media_type )
56
+ return create_deserializer
57
+
58
+ def test_empty (self , deserializer_factory ):
59
+ media_type = MediaType ('application/json' )
60
+ value = ''
61
+
62
+ with pytest .raises (DeserializeError ):
63
+ deserializer_factory (media_type )(value )
64
+
65
+ def test_no_schema_deserialised (self , deserializer_factory ):
66
+ media_type = MediaType ('application/json' )
67
+ value = "{}"
68
+
69
+ result = deserializer_factory (media_type )(value )
70
+
71
+ assert result == {}
0 commit comments