Commit graph

88 commits

Author SHA1 Message Date
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
A
4e95523f95
Merge pull request #20 from p1c2u/fix/allow-undefined-schema-type
Allow undefined schema type
2018-04-04 12:32:50 +02:00
Artur Maciag
c733f9434a Allow undefined schema type 2018-04-04 11:26:21 +01:00
A
c954275b5a
Merge pull request #18 from p1c2u/fix/werkzeug-as-extra-requirement-fix
Werkzeug as extra requirement fix
2018-03-05 16:07:42 +00: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
A
a9d17601b6
Merge pull request #14 from pbasista/bugfix/path-item-operations
Use a more generic test for path item object's operations
2018-02-28 12:14:13 +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
A
64a5045fd8
Merge pull request #12 from p1c2u/feature/serialized-parameters-support
Serialized parameters support
2017-11-14 16:12:32 +00:00
Artur Maciag
fd450e6be6 Parameter deserializers 2017-11-14 16:05:03 +00:00
Artur Maciag
2d50e920ab Schema enum 2017-11-14 13:36:05 +00:00
Artur Maciag
b777ac4bfe Parameter enums 2017-11-14 11:28:45 +00:00
Artur Maciag
56f6a6db7d Version 0.3.4 2017-11-06 17:31:02 +00:00
A
e39d364b78
Merge pull request #11 from p1c2u/feature/all-of-support
AllOf support
2017-11-06 16:54:15 +00:00
Artur Maciag
1739828559 AllOf support 2017-11-06 16:50:00 +00:00
Artur Maciag
cffa0b4528 Version 0.3.3 2017-11-06 15:08:48 +00:00
Artur Maciag
219d1c650e Flask wrapper status code fix 2017-11-06 15:08:21 +00:00
Artur Maciag
dcb53244f2 Version 0.3.2 2017-11-06 14:57:32 +00:00
Artur Maciag
b69e268701 Response dereference support 2017-11-06 14:57:08 +00:00
Artur Maciag
12dcc8cde4 Version 0.3.1 2017-11-06 14:41:41 +00:00
Artur Maciag
b9a8477cd5 Response validated_data shortcut 2017-11-06 14:32:46 +00:00
A
fda4615057
Merge pull request #10 from p1c2u/feature/responses-validation
Responses validation
2017-11-06 14:22:50 +00:00
Artur Maciag
82b02886f2 Response validation README updated 2017-11-06 14:13:40 +00:00
Artur Maciag
128971185a Response data renamed 2017-11-06 14:05:06 +00:00
Artur Maciag
3541793ff3 Check response invalid content type 2017-11-06 13:53:49 +00:00
Artur Maciag
08fdf7c9aa Response validator 2017-11-06 13:32:31 +00:00
Artur Maciag
b0c4141f64 Response ranges support 2017-11-06 11:19:18 +00:00
Artur Maciag
1a05e7da89 Responses and headers objects 2017-11-06 11:00:13 +00:00
Artur Maciag
3fe1e6e458 Version 0.3.0 2017-11-03 15:12:25 +00:00
Artur Maciag
ad27ac9840 Import error loop fix 2017-11-03 15:11:50 +00:00
Artur Maciag
ca988528e7 Wrapper class for shortcuts 2017-11-03 15:04:18 +00:00
Artur Maciag
a40a25202a Validation shortcurs README updated 2017-11-03 14:59:01 +00:00
Artur Maciag
78afae3104 raise_for_errors method renamed 2017-11-03 14:55:21 +00:00
Artur Maciag
6b639b9e34 README validation description minor changes 2017-11-03 14:50:41 +00:00
A
7249858dfc
Merge pull request #9 from p1c2u/feature/request-validator
Request validator
2017-11-03 14:50:16 +00:00
Artur Maciag
d4306d2ea0 Requeest wrappers README updated 2017-11-03 14:22:23 +00:00
Artur Maciag
6f1e45e255 Flask wrapper added 2017-11-03 14:17:38 +00:00
Artur Maciag
624bf3de95 Validate body and parameters shortcuts 2017-11-03 11:40:05 +00:00
Artur Maciag
37f09d7571 Factories and exceptions cleanup 2017-11-03 11:18:48 +00:00