Skip to content

Commit 0548f62

Browse files
committed
Deserialize models without schema
1 parent cb54400 commit 0548f62

File tree

3 files changed

+11
-9
lines changed

3 files changed

+11
-9
lines changed

openapi_core/schema/media_types/models.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,14 @@ def deserialize(self, value):
3232
return deserializer(value)
3333

3434
def cast(self, value):
35-
if not self.schema:
36-
return value
37-
3835
try:
3936
deserialized = self.deserialize(value)
4037
except ValueError as exc:
4138
raise InvalidMediaTypeValue(exc)
4239

40+
if not self.schema:
41+
return value
42+
4343
try:
4444
return self.schema.cast(deserialized)
4545
except CastError as exc:

openapi_core/schema/parameters/models.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -99,14 +99,14 @@ def cast(self, value):
9999
not self.allow_empty_value):
100100
raise EmptyParameterValue(self.name)
101101

102-
if not self.schema:
103-
return value
104-
105102
try:
106103
deserialized = self.deserialize(value)
107104
except (ValueError, AttributeError) as exc:
108105
raise InvalidParameterValue(self.name, exc)
109106

107+
if not self.schema:
108+
return value
109+
110110
try:
111111
return self.schema.cast(deserialized)
112112
except CastError as exc:

tests/unit/schema/test_media_types.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
import pytest
2+
3+
from openapi_core.schema.media_types.exceptions import InvalidMediaTypeValue
14
from openapi_core.schema.media_types.models import MediaType
25

36

@@ -7,6 +10,5 @@ def test_empty(self):
710
media_type = MediaType('application/json')
811
value = ''
912

10-
result = media_type.cast(value)
11-
12-
assert result == value
13+
with pytest.raises(InvalidMediaTypeValue):
14+
media_type.cast(value)

0 commit comments

Comments
 (0)