Commit graph

95 commits

Author SHA1 Message Date
p1c2u
0915e94530 Object validation 2018-08-22 09:34:18 +01:00
Artur Maciag
f9a7472c92 Separate schema casting and validation 2018-08-17 18:35:21 +01:00
Artur Maciag
7aaa5170a6 Parameter get_value restructure 2018-08-17 14:29:41 +01:00
Artur Maciag
b75798aa62 Handle parameter deserialization errors 2018-08-17 13:25:31 +01:00
grktsh
d4f65a2ed2 Support unmarshaling string with format keyword 2018-08-17 13:25:12 +09:00
A
ac797bcf2a
Merge pull request #46 from HoverHell/paramlocations
Request headers and cookies parameter parsing fix
2018-08-13 20:21:46 +01:00
Sean Marlow
23af33b7ca
Replace unicode character for RPM build.
To make building RPMs of package easier when using ascii by
default.
2018-07-31 11:52:52 -06:00
p1c2u
a9d858e940 Python2 compatibility module 2018-07-29 00:16:30 +01:00
p1c2u
f95608493a Merge branch 'master' of git://github.com/kcem/openapi-core into kcem-master 2018-07-28 23:15:20 +01:00
p1c2u
3ab55e44bd Lazy schema references 2018-07-28 22:12:47 +01:00
Rafael Caricio
15fc9b009a Makes it possible to access API examples 2018-07-24 09:47:02 +02:00
Rafael Caricio
8ab0b6206e Populate operation_id attr 2018-07-23 18:02:51 +02:00
Konrad Cempura
e3dfee56cd Python 2.7: Requirements for older python and patches for imports 2018-07-15 23:46:43 +02:00
Konrad Cempura
b8c03d90f4 Python 2.7: Copy list using slice 2018-07-15 23:46:38 +02:00
Konrad Cempura
88efa69cfd Python 2.7: Check instance on string_types from six instead of str 2018-07-15 23:46:34 +02:00
Konrad Cempura
1b9bb11114 Python 2.7: Remove Yarl from requirements 2018-07-15 23:46:30 +02:00
Konrad Cempura
64ac723e54 Python 2.7: Declare UTF-8 in files with non-ascii characters 2018-07-15 23:46:26 +02:00
Artur Maciag
f8e977cc17 Parameters tests 2018-07-09 12:10:05 +01:00
HoverHell
742268fe09 Request headers and cookies parameter parsing fix 2018-06-12 19:44:30 +03:00
Artur Maciag
8f22b6a30a Version 0.5.0 2018-05-30 15:13:34 +01:00
Artur Maciag
54b8011603 Mimetype wildcards support 2018-05-30 15:01:01 +01:00
Artur Maciag
78f55ee80f Schema additional properties support 2018-05-30 11:20:35 +01:00
Artur Maciag
d87b60ade7 Schema format accepts any value 2018-05-30 09:41:34 +01:00
Artur Maciag
4c75f0f9b7 OneOf schema support 2018-05-25 16:50:09 +01:00
Artur Maciag
36f7d4edf4 PEP8 fixes 2018-05-25 11:30:50 +01:00
Artur Maciag
4e1a61aace Exceptions restructure 2018-05-25 11:30:50 +01:00
Artur Maciag
9b05d7b271 Wrapper restructure 2018-05-25 11:30:50 +01:00
Artur Maciag
7111a91cef Validators restructure 2018-05-25 11:30:50 +01:00
Artur Maciag
734a4673f8 Schema objects restructure 2018-05-25 11:30:50 +01:00
Artur Maciag
353db1f4f8 validate_data shortcut import fix 2018-04-24 12:51:38 +01:00
Artur Maciag
7214eac33d Version 0.4.3 2018-04-24 12:44:26 +01:00
p1c2u
0350562b54 Response JSON text as array fix 2018-04-23 20:40:54 +01:00
amcmanigal
84d36e33c5 Revert "Updating Version"
This reverts commit c18c4a53f2.
2018-04-09 10:30:41 -04:00
amcmanigal
c18c4a53f2 Updating Version 2018-04-05 10:57:08 -04:00
amcmanigal
56be4b10eb Fixing Subschema Required Properties Validation
Currently if valid swagger syntax is used for model composition an
error will be thrown due to the lack of a type property. This was
corrected by making object the default type.

schema_type = schema_deref.get('type', 'object')

I changed the swagger definition to test for this. Now PetCreate is a
composite of PetCreatePartOne and PetCreatePartTwo. However, this
caused `test_post_pets_empty_body` to fail, which turned out to be a
bug in the required properties.

In `_unmarshal_object` the `get_all_properties` method is called to get
all properties from the subschemas. However, this is not done for
required properties, meaning that only top level required properties
will be correctly validated. I have added a
`get_all_required_properties’ to fix this.

This caused `test_get_pets` to fail. In this case the bug allowed an
incorrect test case to be introduced. Pet requires `id`, but it also
requires name because it inherits from PetCreate. I have fixed this
test case by adding the missing required property.

After these changes `test_get_pet_not_found` failed due to a string
formatting error (double quotes vs single quotes). I fixed this by
switching to dictionary comparisons.
2018-04-04 10:15:45 -04:00
Artur Maciag
8d92c25c11 Version 0.4.2 2018-04-04 11:52:41 +01:00
Artur Maciag
c733f9434a Allow undefined schema type 2018-04-04 11:26:21 +01:00
Artur Maciag
4a9cd2b1cb Werkzeug as extra requirement fix 2018-03-05 15:57:12 +00:00
Artur Maciag
e186e17556 Version 0.4.1 2018-02-28 15:11:43 +00:00
A
a3853da056
Merge pull request #15 from pbasista/bugfix/empty-servers
Add the default value for the 'servers' array
2018-02-28 15:09:05 +00:00
A
3cc1101288
Merge pull request #13 from pbasista/bugfix/default-values
Use appropriate default values for OpenAPI object fields
2018-02-28 15:02:59 +00:00
A
c30bef179d
Merge pull request #16 from p1c2u/fix/boolean-value-cast-fix
Boolean value cast fix
2018-02-28 13:47:43 +00:00
Artur Maciag
b1f58d7261 Boolean value cast fix 2018-02-28 13:39:23 +00:00
Peter Bašista
a0305fb97d Add the default value for the 'servers' array
The specification:

https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.1.md#oasObject

requires that if the 'servers' array is not provided or empty,
its default value is an array of a single Server Object
with 'url' of '/'.
2018-02-18 09:38:00 +01:00
Peter Bašista
821f14e84b Consistently yield tuples of variable_name and variable 2018-02-15 17:33:25 +01:00
Peter Bašista
48dba2c576 Use a more generic test for path item object's operations
Get the list of allowed operations from openapi_spec_validator:
b2e439aa79/openapi_spec_validator/validators.py (L157)
2018-02-09 19:55:25 +01:00
Peter Bašista
42923990ed Use a more generic test for path item object's operations
Get the list of allowed operations from openapi_spec_validator:
b2e439aa79/openapi_spec_validator/validators.py (L157)
2018-02-09 19:48:52 +01:00
Peter Bašista
49c2330810 Use appropriate default values for OpenAPI object fields
The specification:

https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.1.md#schemaObject

clearly states that fields:

- #/info
- #/paths
- #/components
- #/components/schemas
- #/components/responses
- #/components/parameters
- #/components/requestBodies

are objects.
2018-02-09 17:41:39 +01:00
Artur Maciag
e451c9f10c Version 0.4.0 2017-11-14 16:21:32 +00:00
Artur Maciag
6254d800a8 Use location local variable fix 2017-11-14 16:15:50 +00:00