Skip to content

Commit

Permalink
Revert "Merge pull request #138 from Yelp/fix-additionalproperties-bo…
Browse files Browse the repository at this point in the history
…ol-validation"

This reverts commit ab34510, reversing
changes made to fcc7604.
  • Loading branch information
sjaensch committed Jun 22, 2020
1 parent 95d651a commit ff186cc
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 15 deletions.
13 changes: 6 additions & 7 deletions swagger_spec_validator/validator20.py
Original file line number Diff line number Diff line change
Expand Up @@ -512,13 +512,12 @@ def validate_definition(definition, deref, def_name=None, visited_definitions_id
)

if 'additionalProperties' in definition:
if definition.get('additionalProperties') not in (True, False):
validate_definition(
definition=definition.get('additionalProperties'),
deref=deref,
def_name='{}/additionalProperties'.format(def_name),
visited_definitions_ids=visited_definitions_ids,
)
validate_definition(
definition=definition.get('additionalProperties'),
deref=deref,
def_name='{}/{}'.format(def_name, 'additionalProperties'),
visited_definitions_ids=visited_definitions_ids,
)

if 'discriminator' in definition:
required_props, not_required_props = get_collapsed_properties_type_mappings(definition, deref)
Expand Down
12 changes: 4 additions & 8 deletions tests/validator20/validate_spec_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -427,6 +427,8 @@ def test_highlight_inconsistent_schema_object_validation(minimal_swagger_dict, s

def test_additional_properties_validated(minimal_swagger_dict, default_checks_spec_dict):
invalid_spec = {'type': 'object', 'required': ['foo']}
minimal_swagger_dict['definitions']['injected_definition'] = invalid_spec

minimal_swagger_dict['definitions']['injected_definition'] = {
'type': 'object', 'additionalProperties': invalid_spec
}
Expand All @@ -435,16 +437,10 @@ def test_additional_properties_validated(minimal_swagger_dict, default_checks_sp
validate_spec(minimal_swagger_dict)


def test_additional_properties_bool(minimal_swagger_dict, default_checks_spec_dict):
minimal_swagger_dict['definitions']['injected_definition'] = {
'type': 'object', 'additionalProperties': False,
}

validate_spec(minimal_swagger_dict)


def test_array_items_validated(minimal_swagger_dict, default_checks_spec_dict):
invalid_spec = {'type': 'object', 'required': ['foo']}
minimal_swagger_dict['definitions']['injected_definition'] = invalid_spec

minimal_swagger_dict['definitions']['injected_definition'] = {
'type': 'array', 'items': invalid_spec
}
Expand Down

0 comments on commit ff186cc

Please sign in to comment.