Skip to content

Commit

Permalink
Make #/definitions optional as prescribed in the Swagger 2.0 spec
Browse files Browse the repository at this point in the history
  • Loading branch information
analogue committed Mar 15, 2015
1 parent 050373b commit a2d57a1
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 2 deletions.
4 changes: 2 additions & 2 deletions swagger_spec_validator/validator20.py
Expand Up @@ -37,10 +37,10 @@ def validate_spec(spec_json, _spec_url=None):
validate_json(spec_json, 'schemas/v2.0/schema.json')

# TODO: Extract 'parameters', 'responses' from the spec as well.
apis, definitions = spec_json['paths'], spec_json['definitions']
apis = spec_json['paths']
definitions = spec_json.get('definitions', {})

validate_apis(apis)

validate_definitions(definitions)


Expand Down
28 changes: 28 additions & 0 deletions tests/validator20/validate_spec_test.py
@@ -1,7 +1,35 @@
import json
import pytest

from swagger_spec_validator.validator20 import validate_spec


@pytest.fixture
def minimal_swagger_dict():
"""Return minimal dict that respresents a swagger spec - useful as a base
template.
"""
return {
'swagger': '2.0',
'info': {
'title': 'Test',
'version': '1.0',
},
'paths': {
},
'definitions': {
},
}


def test_success(petstore_contents):
validate_spec(json.loads(petstore_contents))


def test_definitons_not_present_success(minimal_swagger_dict):
del minimal_swagger_dict['definitions']
validate_spec(minimal_swagger_dict)


def test_empty_definitions_succes(minimal_swagger_dict):
validate_spec(minimal_swagger_dict)

0 comments on commit a2d57a1

Please sign in to comment.