Commit graph

77 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
c733f9434a Allow undefined schema type 2018-04-04 11:26:21 +01: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
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
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
1739828559 AllOf support 2017-11-06 16:50:00 +00:00
Artur Maciag
219d1c650e Flask wrapper status code fix 2017-11-06 15:08:21 +00:00
Artur Maciag
b69e268701 Response dereference support 2017-11-06 14:57:08 +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
1a05e7da89 Responses and headers objects 2017-11-06 11:00:13 +00:00
Artur Maciag
6f1e45e255 Flask wrapper added 2017-11-03 14:17:38 +00:00
Artur Maciag
37f09d7571 Factories and exceptions cleanup 2017-11-03 11:18:48 +00:00
Artur Maciag
9bdb13f654 Request validator 2017-11-02 16:05:25 +00:00
Artur Maciag
372f74f16e Allow empty value with default 2017-10-19 12:28:28 +01:00
Artur Maciag
a86c49d1be Parameter with required and allow empty value support 2017-10-18 14:42:23 +01:00
Artur Maciag
b175da37e6 Additional enum test 2017-10-17 14:46:09 +01:00
Artur Maciag
1ca11c9d19 Schema nullable value 2017-10-17 14:02:21 +01:00
Artur Maciag
6e07b0a040 content_type renamed to mimetype 2017-10-09 15:57:07 +01:00
Artur Maciag
be7f55d967 schema strict validation 2017-09-25 15:15:00 +01:00
Artur Maciag
1b63bf9199 request method case fix 2017-09-25 14:20:23 +01:00
Artur Maciag
d60bde446d servers with request validation 2017-09-25 12:29:16 +01:00
Artur Maciag
5867126388 components and infos modules; schema registry; models module 2017-09-22 09:14:07 +01:00
Artur Maciag
553b7228b1 initial version 2017-09-21 12:51:37 +01:00