Commit graph

92 commits

Author SHA1 Message Date
p1c2u
852c081068 deserialize data form media type 2021-03-24 21:35:39 +00:00
p1c2u
74920a77de media type deserialize form urlencoded 2021-03-24 20:32:12 +00:00
p1c2u
abfd0c67be Any unmarshaller validate fix 2021-02-15 11:58:16 +00:00
p1c2u
90355f87dd Format checker on validation scope 2021-02-13 01:10:16 +00:00
Coen van der Kamp
8c3b23f7f1 Fix typos 2021-02-10 17:19:32 +01:00
p1c2u
c40bd4d0e4 AnyUnmarshaller use allOf schemas test 2021-02-09 21:37:36 +00:00
A
c309089efc
Merge pull request #276 from jgod/master
ArrayUnmarshaller: return None on nullable type instead of "NoneType object is not iterable" crash
2021-02-01 20:59:57 +00:00
p1c2u
22a2771fa0 add test for ArrayUnmarshaller return nullable 2021-02-01 20:47:37 +00:00
Sebastian Mainberger
0e93b49f64 TST: Add tests for path prioritization. 2020-12-08 12:46:11 -08:00
p1c2u
aeca7775fd Templating parser path parameter search fix 2020-04-23 09:01:46 +01:00
A
97ec8c7967
Merge pull request #237 from p1c2u/fix/date-time-format-unmarshal-tz-fix
Date-time format unmarshal  tz fix
2020-04-12 16:19:54 +01:00
p1c2u
7307794656 Unmarshalling nullable objects 2020-04-12 14:59:22 +01:00
p1c2u
dc8bd4d335 Date-time format unmarshal tz fix 2020-04-11 19:09:49 +01:00
A
1270d5a6b9
Merge pull request #225 from p1c2u/fix/security-http-provider-fix
Security HTTP provider fix
2020-04-11 13:10:33 +01:00
p1c2u
ac5c6762d8 Case insensitive headers fix 2020-04-11 10:47:36 +01:00
p1c2u
e2ae4f35d0 Security HTTP provider fix 2020-03-23 14:09:46 +00:00
p1c2u
9c22ddf01c Paths finder paths order fix 2020-03-23 11:28:56 +00:00
p1c2u
e817973435 Use openapi-schema-validator library 2020-03-05 11:28:21 +00:00
Artur Maciag
05148b8acd b64decode issue29427 fix 2020-03-03 12:11:24 +00:00
Artur Maciag
dcb7161af7 Path pattern finder 2020-03-02 11:26:54 +00:00
Artur Maciag
817ff5c746 Move path finder to separate templating module 2020-02-25 10:57:46 +00:00
Artur Maciag
1bea6013c3 Property read-only and write-only support 2020-02-17 12:42:13 +00:00
p1c2u
75643da1af Free-form objects unmarshal 2020-02-03 20:58:27 +00:00
Artur Maciag
ab2e10f998 Custom media type deserializers 2020-02-03 18:35:48 +00:00
Artur Maciag
6d8b2e5111 Move media deserializers to separate subpackage 2020-02-03 13:34:43 +00:00
Artur Maciag
58d5c26fee Move param deserializers to separate subpackage 2020-02-03 13:05:44 +00:00
Artur Maciag
b4c10e847a Split cast and deserialise processes 2020-02-03 10:17:27 +00:00
Artur Maciag
475076a2a2 Deserialize models without schema 2020-02-03 09:31:02 +00:00
p1c2u
61fb830ac2 Get rid of unmarshal in schema 2020-02-03 01:30:25 +00:00
p1c2u
3f7442624a Move unmarshal out of schema models 2020-02-02 22:56:25 +00:00
Artur Maciag
376dc205ae unmarshalling formatters 2020-02-01 23:50:56 +00:00
Artur Maciag
6b6abc0b01 Move schema validator to separate subpackage 2020-01-28 09:51:09 +00:00
p1c2u
b026fb2151 Move Unmarshallers to separate subpackage 2020-01-23 18:30:31 +00:00
Artur Maciag
da3b6ee669 Shortcuts cleanup 2020-01-17 14:52:26 +00:00
p1c2u
cfdf3410d2 Narrow validation exceptions 2019-10-20 15:06:13 +01:00
p1c2u
939cec94e7 Schema unmarshal exceptions refactor 2019-10-20 13:00:14 +01:00
p1c2u
0bbf787423 Flask factories; Get rid of wrappers 2019-10-19 13:35:48 +01:00
p1c2u
fc60083e78 Get rid of schema validation in unmarshal 2019-09-13 01:55:22 +01:00
p1c2u
a2fc5284c6 Get rid of object validator 2019-09-12 19:56:39 +01:00
p1c2u
b2410e2f3a OAS 3.0 validator 2019-09-12 19:46:11 +01:00
p1c2u
c4c51637d2 Rename schema validate to obj_validate 2019-09-12 19:46:11 +01:00
Artur Maciag
c9b2d8c4f8 attr errors hashable fix 2019-06-18 14:54:02 +01:00
A
0df1d051b4
Merge pull request #133 from crunchr/support-any-type-with-one-of-rb1
Add support for one-of with any type
2019-06-17 13:28:41 +01:00
A
98f72bff1b
Merge pull request #134 from dz0ny/fix/number_parsing
Fix number validator
2019-05-21 13:19:07 +01:00
Artur Maciag
63f3ffb09f Number format added 2019-05-21 12:54:13 +01:00
A
f0cfa2d0e0
Merge pull request #131 from MCapitani/links
add support for "links" in Response
2019-05-21 12:26:32 +01:00
Janez Troha
3339e1311a Fix number validator
The `integer_types` is always a tuple. When checking
if an instance is a number it fails because it's doing a comparison against a tuple
instead of real type.

➜ python -c "from six import integer_types;import sys;print(integer_types);print(sys.version)"
(<type 'int'>, <type 'long'>)
2.7.16 (default, Apr  6 2019, 01:42:57)
[GCC 8.3.0]

➜ python3 -c "from six import integer_types;import sys;print(integer_types);print(sys.version)"
(<class 'int'>,)
3.7.3 (default, Apr  3 2019, 05:39:12)
[GCC 8.3.0]

And spec defines a number as both int and float https://swagger.io/docs/specification/data-models/data-types/#numbers so both validators need to support both types.
2019-05-15 19:00:38 +02:00
Daniel Bradburn
7d903a8907 Add support for one-of with any type 2019-05-02 15:50:38 +02:00
Nejc Zupan
13e65a2d91 Add missing STRING_FORMAT_CALLABLE_GETTER: SchemaFormat.PASSWORD
`password` is a valid OpenAPIv3 string format, that is used as a UI hint
for frontend clients to mask the input field.

It was already present in the `SchemaFormat` enum, but it was not
handled in `_unmarshal_string` that uses `STRING_FORMAT_CALLABLE_GETTER`
to decide how to unmarshal a string, which would result in an error like
this one:

```
Traceback (most recent call last):
  [... snip ...]
  File ".venv/lib/python3.7/site-packages/openapi_core/validation/request/validators.py", line 37, in validate
    body, body_errors = self._get_body(request, operation)
  File ".venv/lib/python3.7/site-packages/openapi_core/validation/request/validators.py", line 82, in _get_body
    body = media_type.unmarshal(raw_body, self.custom_formatters)
  File ".venv/lib/python3.7/site-packages/openapi_core/schema/media_types/models.py", line 45, in unmarshal
    unmarshalled = self.schema.unmarshal(deserialized, custom_formatters=custom_formatters)
  File ".venv/lib/python3.7/site-packages/openapi_core/schema/schemas/models.py", line 189, in unmarshal
    casted = self.cast(value, custom_formatters=custom_formatters, strict=strict)
  File ".venv/lib/python3.7/site-packages/openapi_core/schema/schemas/models.py", line 179, in cast
    return cast_callable(value)
  File ".venv/lib/python3.7/site-packages/openapi_core/schema/schemas/models.py", line 295, in _unmarshal_object
    value, custom_formatters=custom_formatters)
  File ".venv/lib/python3.7/site-packages/openapi_core/schema/schemas/models.py", line 335, in _unmarshal_properties
    prop_value, custom_formatters=custom_formatters)
  File ".venv/lib/python3.7/site-packages/openapi_core/schema/schemas/models.py", line 189, in unmarshal
    casted = self.cast(value, custom_formatters=custom_formatters, strict=strict)
  File ".venv/lib/python3.7/site-packages/openapi_core/schema/schemas/models.py", line 179, in cast
    return cast_callable(value)
  File ".venv/lib/python3.7/site-packages/openapi_core/schema/schemas/models.py", line 295, in _unmarshal_object
    value, custom_formatters=custom_formatters)
  File ".venv/lib/python3.7/site-packages/openapi_core/schema/schemas/models.py", line 335, in _unmarshal_properties
    prop_value, custom_formatters=custom_formatters)
  File ".venv/lib/python3.7/site-packages/openapi_core/schema/schemas/models.py", line 189, in unmarshal
    casted = self.cast(value, custom_formatters=custom_formatters, strict=strict)
  File ".venv/lib/python3.7/site-packages/openapi_core/schema/schemas/models.py", line 179, in cast
    return cast_callable(value)
  File ".venv/lib/python3.7/site-packages/openapi_core/schema/schemas/models.py", line 215, in _unmarshal_string
    formatstring = self.STRING_FORMAT_CALLABLE_GETTER[schema_format]
KeyError: <SchemaFormat.PASSWORD: 'password'>
```
2019-04-26 20:22:54 +01:00
Artur Maciag
4d99cbe7e1 Move additional props check to separate method 2019-03-26 13:27:44 +00:00