added python 2.7 and python 3.4 test environments

This commit is contained in:
geekerzp 2015-05-15 14:38:06 +08:00
parent 86e48ceef8
commit d798b943f5
29 changed files with 551 additions and 662 deletions

View File

@ -70,6 +70,7 @@ public class PythonClientCodegen extends DefaultCodegen implements CodegenConfig
supportingFiles.add(new SupportingFile("setup.mustache", eggPackage, "setup.py")); supportingFiles.add(new SupportingFile("setup.mustache", eggPackage, "setup.py"));
supportingFiles.add(new SupportingFile("swagger.mustache", invokerPackage, "swagger.py")); supportingFiles.add(new SupportingFile("swagger.mustache", invokerPackage, "swagger.py"));
supportingFiles.add(new SupportingFile("rest.mustache", invokerPackage, "rest.py")); supportingFiles.add(new SupportingFile("rest.mustache", invokerPackage, "rest.py"));
supportingFiles.add(new SupportingFile("util.mustache", invokerPackage, "util.py"));
supportingFiles.add(new SupportingFile("__init__package.mustache", invokerPackage, "__init__.py")); supportingFiles.add(new SupportingFile("__init__package.mustache", invokerPackage, "__init__.py"));
supportingFiles.add(new SupportingFile("__init__model.mustache", modelPackage.replace('.', File.separatorChar), "__init__.py")); supportingFiles.add(new SupportingFile("__init__model.mustache", modelPackage.replace('.', File.separatorChar), "__init__.py"));
supportingFiles.add(new SupportingFile("__init__api.mustache", apiPackage.replace('.', File.separatorChar), "__init__.py")); supportingFiles.add(new SupportingFile("__init__api.mustache", apiPackage.replace('.', File.separatorChar), "__init__.py"));

View File

@ -38,5 +38,22 @@ TODO
## Tests ## Tests
TODO We use some external dependencies, multiple interpreters and code coverage analysis while running test suite.
Our Makefile handles much of this for you as long as you're running it inside of a [virtualenv](http://docs.python-guide.org/en/latest/dev/virtualenvs/):
```sh
$ make test
[... magically installs dependencies and runs tests on your virtualenv]
Ran 182 tests in 1.633s
OK (SKIP=6)
```
You can test in various python versions using:
```sh
$ make test-all
[... tox creates a virtualenv for every platform and runs tests inside of each]
py27: commands succeeded
py34: commands succeeded
```

View File

@ -1,15 +1,5 @@
#!/usr/bin/env python
"""Add all of the modules in the current directory to __all__"""
from __future__ import absolute_import from __future__ import absolute_import
import os # import apis into api package
{{#apiInfo}}{{#apis}}from .{{classVarName}} import {{classname}}
{{#apiInfo}}{{#apis}}
from .{{classVarName}} import {{classname}}
{{/apis}}{{/apiInfo}} {{/apis}}{{/apiInfo}}
__all__ = []
for module in os.listdir(os.path.dirname(__file__)):
if module != '__init__.py' and module[-3:] == '.py':
__all__.append(module[:-3])

View File

@ -1,15 +1,5 @@
#!/usr/bin/env python
"""Add all of the modules in the current directory to __all__"""
from __future__ import absolute_import from __future__ import absolute_import
import os # import models into model package
{{#models}}{{#model}}from .{{classVarName}} import {{classname}}
{{#models}}{{#model}}
from .{{classVarName}} import {{classname}}
{{/model}}{{/models}} {{/model}}{{/models}}
__all__ = []
for module in os.listdir(os.path.dirname(__file__)):
if module != '__init__.py' and module[-3:] == '.py':
__all__.append(module[:-3])

View File

@ -1,24 +1,10 @@
#!/usr/bin/env python
"""Add all of the modules in the current directory to __all__"""
from __future__ import absolute_import from __future__ import absolute_import
import os # import models into sdk package
{{#models}}{{#model}}from .models.{{classVarName}} import {{classname}}
# import models into package
{{#models}}{{#model}}
from .models.{{classVarName}} import {{classname}}
{{/model}}{{/models}} {{/model}}{{/models}}
# import apis into sdk package
# import apis into package {{#apiInfo}}{{#apis}}from .apis.{{classVarName}} import {{classname}}
{{#apiInfo}}{{#apis}}
from .apis.{{classVarName}} import {{classname}}
{{/apis}}{{/apiInfo}} {{/apis}}{{/apiInfo}}
# import ApiClient # import ApiClient
from .swagger import ApiClient from .swagger import ApiClient
__all__ = []
for module in os.listdir(os.path.dirname(__file__)):
if module != '__init__.py' and module[-3:] == '.py':
__all__.append(module[:-3])

View File

@ -19,31 +19,36 @@ Copyright 2015 Reverb Technologies, Inc.
NOTE: This class is auto generated by the swagger code generator program. Do not edit the class manually. NOTE: This class is auto generated by the swagger code generator program. Do not edit the class manually.
""" """
from __future__ import absolute_import
import sys import sys
import os import os
# python 2 and python 3 compatibility library # python 2 and python 3 compatibility library
from six import iteritems from six import iteritems
from ..util import remove_none
{{#operations}} {{#operations}}
class {{classname}}(object): class {{classname}}(object):
def __init__(self, api_client): def __init__(self, api_client):
self.api_client = api_client self.api_client = api_client
{{#operation}} {{#operation}}
def {{nickname}}(self, {{#requiredParams}}{{paramName}}{{#defaultValue}} = None{{/defaultValue}}, {{/requiredParams}}**kwargs): def {{nickname}}(self, {{#allParams}}{{#required}}{{paramName}}, {{/required}}{{/allParams}}**kwargs):
""" """
{{{summary}}} {{{summary}}}
{{{notes}}} {{{notes}}}
{{#allParams}} {{#allParams}}:param {{dataType}} {{paramName}}: {{{description}}} {{#required}}(required){{/required}}{{#optional}}(optional){{/optional}}
:param {{dataType}} {{paramName}}: {{{description}}} {{^optional}}(required){{/optional}}{{#optional}}(optional){{/optional}}
{{/allParams}} {{/allParams}}
:return: {{#returnType}}{{returnType}}{{/returnType}}{{^returnType}}None{{/returnType}} :return: {{#returnType}}{{returnType}}{{/returnType}}{{^returnType}}None{{/returnType}}
""" """
{{#allParams}}{{#required}}
# verify the required parameter '{{paramName}}' is set
if {{paramName}} is None:
raise ValueError("Missing the required parameter `{{paramName}}` when calling `{{nickname}}`")
{{/required}}{{/allParams}}
all_params = [{{#allParams}}'{{paramName}}'{{#hasMore}}, {{/hasMore}}{{/allParams}}] all_params = [{{#allParams}}'{{paramName}}'{{#hasMore}}, {{/hasMore}}{{/allParams}}]
params = locals() params = locals()
@ -56,16 +61,11 @@ class {{classname}}(object):
resource_path = '{{path}}'.replace('{format}', 'json') resource_path = '{{path}}'.replace('{format}', 'json')
method = '{{httpMethod}}' method = '{{httpMethod}}'
path_params = dict({{#pathParams}}{{baseName}}=params.get('{{paramName}}'){{#hasMore}}, {{/hasMore}}{{/pathParams}}) path_params = remove_none(dict({{#pathParams}}{{baseName}}=params.get('{{paramName}}'){{#hasMore}}, {{/hasMore}}{{/pathParams}}))
path_params = {k: v for k, v in iteritems(path_params) if v} query_params = remove_none(dict({{#queryParams}}{{baseName}}=params.get('{{paramName}}'){{#hasMore}}, {{/hasMore}}{{/queryParams}}))
query_params = dict({{#queryParams}}{{baseName}}=params.get('{{paramName}}'){{#hasMore}}, {{/hasMore}}{{/queryParams}}) header_params = remove_none(dict({{#headerParams}}{{baseName}}=params.get('{{paramName}}'){{#hasMore}}, {{/hasMore}}{{/headerParams}}))
query_params = {k: v for k, v in iteritems(query_params) if v} form_params = remove_none(dict({{#formParams}}{{^isFile}}{{baseName}}=params.get('{{paramName}}'){{#hasMore}}, {{/hasMore}}{{/isFile}}{{/formParams}}))
header_params = dict({{#headerParams}}{{baseName}}=params.get('{{paramName}}'){{#hasMore}}, {{/hasMore}}{{/headerParams}}) files = remove_none(dict({{#formParams}}{{#isFile}}{{baseName}}=params.get('{{paramName}}'){{#hasMore}}, {{/hasMore}}{{/isFile}}{{/formParams}}))
header_params = {k: v for k, v in iteritems(header_params) if v}
form_params = dict({{#formParams}}{{^isFile}}{{baseName}}=params.get('{{paramName}}'){{#hasMore}}, {{/hasMore}}{{/isFile}}{{/formParams}})
form_params = {k: v for k, v in iteritems(form_params) if v}
files = dict({{#formParams}}{{#isFile}}{{baseName}}=params.get('{{paramName}}'){{#hasMore}}, {{/hasMore}}{{/isFile}}{{/formParams}})
files = {k: v for k, v in iteritems(files) if v}
body_params = {{#bodyParam}}params.get('{{paramName}}'){{/bodyParam}}{{^bodyParam}}None{{/bodyParam}} body_params = {{#bodyParam}}params.get('{{paramName}}'){{/bodyParam}}{{^bodyParam}}None{{/bodyParam}}
accepts = [{{#produces}}'{{mediaType}}'{{#hasMore}}, {{/hasMore}}{{/produces}}] accepts = [{{#produces}}'{{mediaType}}'{{#hasMore}}, {{/hasMore}}{{/produces}}]
@ -79,7 +79,14 @@ class {{classname}}(object):
response={{#returnType}}'{{returnType}}'{{/returnType}}{{^returnType}}None{{/returnType}}) response={{#returnType}}'{{returnType}}'{{/returnType}}{{^returnType}}None{{/returnType}})
{{#returnType}} {{#returnType}}
return response return response
{{/returnType}} {{/returnType}}{{/operation}}
{{/operation}}
{{/operations}} {{/operations}}
{{newline}}

View File

@ -25,7 +25,6 @@ class {{classname}}(object):
Do not edit the class manually. Do not edit the class manually.
""" """
def __init__(self): def __init__(self):
""" """
Swagger model Swagger model
@ -34,22 +33,19 @@ class {{classname}}(object):
:param dict attributeMap: The key is attribute name and the value is json key in definition. :param dict attributeMap: The key is attribute name and the value is json key in definition.
""" """
self.swagger_types = { self.swagger_types = {
{{#vars}} {{#vars}}'{{name}}': '{{{datatype}}}'{{#hasMore}},
'{{name}}': '{{{datatype}}}'{{#hasMore}}, {{/hasMore}}{{/vars}}
{{/hasMore}}
{{/vars}}{{newline}}
} }
self.attribute_map = { self.attribute_map = {
{{#vars}} {{#vars}}'{{name}}': '{{baseName}}'{{#hasMore}},
'{{name}}': '{{baseName}}'{{#hasMore}},{{/hasMore}} {{/hasMore}}{{/vars}}
{{/vars}}
} }
{{#vars}} {{#vars}}
{{#description}}#{{description}} {{#description}}# {{description}}{{/description}}
{{/description}}
self.{{name}} = None # {{{datatype}}} self.{{name}} = None # {{{datatype}}}
{{/vars}} {{/vars}}
{{/model}} {{/model}}
{{/models}} {{/models}}

View File

@ -30,3 +30,11 @@ setup(
) )
{{/hasMore}}{{/apis}}{{/apiInfo}} {{/hasMore}}{{/apis}}{{/apiInfo}}

View File

@ -0,0 +1,17 @@
from six import iteritems
def remove_none(obj):
if isinstance(obj, (list, tuple, set)):
return type(obj)(remove_none(x) for x in obj if x is not None)
elif isinstance(obj, dict):
return type(obj)((remove_none(k), remove_none(v))
for k, v in iteritems(obj) if k is not None and v is not None)
else:
return obj
def inspect_vars(obj):
if not hasattr(obj, '__dict__'):
return obj
else:
return {k: inspect_vars(getattr(obj, k)) for k in dir(obj)}

View File

@ -0,0 +1,35 @@
REQUIREMENTS_FILE=dev-requirements.txt
REQUIREMENTS_OUT=dev-requirements.txt.log
SETUP_OUT=*.egg-info
virtualenv:
ifndef VIRTUAL_ENV
$(error Must be run inside of a virtualenv\
http://docs.python-guide.org/en/latest/dev/virtualenvs/)
endif
setup: virtualenv $(SETUP_OUT)
$(SETUP_OUT): setup.py setup.cfg
python setup.py develop
touch $(SETUP_OUT)
$(REQUIREMENTS_OUT): $(REQUIREMENTS_FILE)
pip install -r $(REQUIREMENTS_FILE) | tee -a $(REQUIREMENTS_OUT)
python setup.py develop
clean:
find . -name "*.py[oc]" -delete
find . -name "__pycache__" -delete
rm -f $(REQUIREMENTS_OUT)
rm -rf $(SETUP_OUT)
requirements: setup $(REQUIREMENTS_OUT)
test: requirements
nosetests
test-all: requirements
tox

View File

@ -38,5 +38,21 @@ TODO
## Tests ## Tests
TODO We use some external dependencies, multiple interpreters and code coverage analysis while running test suite.
Our Makefile handles much of this for you as long as you're running it inside of a [virtualenv](http://docs.python-guide.org/en/latest/dev/virtualenvs/):
```sh
$ make test
[... magically installs dependencies and runs tests on your virtualenv]
Ran 182 tests in 1.633s
OK (SKIP=6)
```
You can test in various python versions using:
```sh
$ make test-all
[... tox creates a virtualenv for every platform and runs tests inside of each]
py27: commands succeeded
py34: commands succeeded
```

View File

@ -1,36 +1,16 @@
#!/usr/bin/env python
"""Add all of the modules in the current directory to __all__"""
from __future__ import absolute_import from __future__ import absolute_import
import os # import models into sdk package
# import models into package
from .models.user import User from .models.user import User
from .models.category import Category from .models.category import Category
from .models.pet import Pet from .models.pet import Pet
from .models.tag import Tag from .models.tag import Tag
from .models.order import Order from .models.order import Order
# import apis into sdk package
# import apis into package
from .apis.user_api import UserApi from .apis.user_api import UserApi
from .apis.pet_api import PetApi from .apis.pet_api import PetApi
from .apis.store_api import StoreApi from .apis.store_api import StoreApi
# import ApiClient # import ApiClient
from .swagger import ApiClient from .swagger import ApiClient
__all__ = []
for module in os.listdir(os.path.dirname(__file__)):
if module != '__init__.py' and module[-3:] == '.py':
__all__.append(module[:-3])

View File

@ -1,19 +1,7 @@
#!/usr/bin/env python
"""Add all of the modules in the current directory to __all__"""
from __future__ import absolute_import from __future__ import absolute_import
import os # import apis into api package
from .user_api import UserApi from .user_api import UserApi
from .pet_api import PetApi from .pet_api import PetApi
from .store_api import StoreApi from .store_api import StoreApi
__all__ = []
for module in os.listdir(os.path.dirname(__file__)):
if module != '__init__.py' and module[-3:] == '.py':
__all__.append(module[:-3])

View File

@ -19,26 +19,27 @@ Copyright 2015 Reverb Technologies, Inc.
NOTE: This class is auto generated by the swagger code generator program. Do not edit the class manually. NOTE: This class is auto generated by the swagger code generator program. Do not edit the class manually.
""" """
from __future__ import absolute_import
import sys import sys
import os import os
# python 2 and python 3 compatibility library # python 2 and python 3 compatibility library
from six import iteritems from six import iteritems
from ..util import remove_none
class PetApi(object): class PetApi(object):
def __init__(self, api_client): def __init__(self, api_client):
self.api_client = api_client self.api_client = api_client
def update_pet(self, **kwargs): def update_pet(self, **kwargs):
""" """
Update an existing pet Update an existing pet
:param Pet body: Pet object that needs to be added to the store
:param Pet body: Pet object that needs to be added to the store (required)
:return: None :return: None
""" """
@ -55,16 +56,11 @@ class PetApi(object):
resource_path = '/pet'.replace('{format}', 'json') resource_path = '/pet'.replace('{format}', 'json')
method = 'PUT' method = 'PUT'
path_params = dict() path_params = remove_none(dict())
path_params = {k: v for k, v in iteritems(path_params) if v} query_params = remove_none(dict())
query_params = dict() header_params = remove_none(dict())
query_params = {k: v for k, v in iteritems(query_params) if v} form_params = remove_none(dict())
header_params = dict() files = remove_none(dict())
header_params = {k: v for k, v in iteritems(header_params) if v}
form_params = dict()
form_params = {k: v for k, v in iteritems(form_params) if v}
files = dict()
files = {k: v for k, v in iteritems(files) if v}
body_params = params.get('body') body_params = params.get('body')
accepts = ['application/json', 'application/xml'] accepts = ['application/json', 'application/xml']
@ -77,15 +73,12 @@ class PetApi(object):
body=body_params, post_params=form_params, files=files, body=body_params, post_params=form_params, files=files,
response=None) response=None)
def add_pet(self, **kwargs): def add_pet(self, **kwargs):
""" """
Add a new pet to the store Add a new pet to the store
:param Pet body: Pet object that needs to be added to the store
:param Pet body: Pet object that needs to be added to the store (required)
:return: None :return: None
""" """
@ -102,16 +95,11 @@ class PetApi(object):
resource_path = '/pet'.replace('{format}', 'json') resource_path = '/pet'.replace('{format}', 'json')
method = 'POST' method = 'POST'
path_params = dict() path_params = remove_none(dict())
path_params = {k: v for k, v in iteritems(path_params) if v} query_params = remove_none(dict())
query_params = dict() header_params = remove_none(dict())
query_params = {k: v for k, v in iteritems(query_params) if v} form_params = remove_none(dict())
header_params = dict() files = remove_none(dict())
header_params = {k: v for k, v in iteritems(header_params) if v}
form_params = dict()
form_params = {k: v for k, v in iteritems(form_params) if v}
files = dict()
files = {k: v for k, v in iteritems(files) if v}
body_params = params.get('body') body_params = params.get('body')
accepts = ['application/json', 'application/xml'] accepts = ['application/json', 'application/xml']
@ -124,15 +112,12 @@ class PetApi(object):
body=body_params, post_params=form_params, files=files, body=body_params, post_params=form_params, files=files,
response=None) response=None)
def find_pets_by_status(self, **kwargs): def find_pets_by_status(self, **kwargs):
""" """
Finds Pets by status Finds Pets by status
Multiple status values can be provided with comma seperated strings Multiple status values can be provided with comma seperated strings
:param list[str] status: Status values that need to be considered for filter
:param list[str] status: Status values that need to be considered for filter (required)
:return: list[Pet] :return: list[Pet]
""" """
@ -149,16 +134,11 @@ class PetApi(object):
resource_path = '/pet/findByStatus'.replace('{format}', 'json') resource_path = '/pet/findByStatus'.replace('{format}', 'json')
method = 'GET' method = 'GET'
path_params = dict() path_params = remove_none(dict())
path_params = {k: v for k, v in iteritems(path_params) if v} query_params = remove_none(dict(status=params.get('status')))
query_params = dict(status=params.get('status')) header_params = remove_none(dict())
query_params = {k: v for k, v in iteritems(query_params) if v} form_params = remove_none(dict())
header_params = dict() files = remove_none(dict())
header_params = {k: v for k, v in iteritems(header_params) if v}
form_params = dict()
form_params = {k: v for k, v in iteritems(form_params) if v}
files = dict()
files = {k: v for k, v in iteritems(files) if v}
body_params = None body_params = None
accepts = ['application/json', 'application/xml'] accepts = ['application/json', 'application/xml']
@ -173,15 +153,12 @@ class PetApi(object):
return response return response
def find_pets_by_tags(self, **kwargs): def find_pets_by_tags(self, **kwargs):
""" """
Finds Pets by tags Finds Pets by tags
Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing. Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing.
:param list[str] tags: Tags to filter by
:param list[str] tags: Tags to filter by (required)
:return: list[Pet] :return: list[Pet]
""" """
@ -198,16 +175,11 @@ class PetApi(object):
resource_path = '/pet/findByTags'.replace('{format}', 'json') resource_path = '/pet/findByTags'.replace('{format}', 'json')
method = 'GET' method = 'GET'
path_params = dict() path_params = remove_none(dict())
path_params = {k: v for k, v in iteritems(path_params) if v} query_params = remove_none(dict(tags=params.get('tags')))
query_params = dict(tags=params.get('tags')) header_params = remove_none(dict())
query_params = {k: v for k, v in iteritems(query_params) if v} form_params = remove_none(dict())
header_params = dict() files = remove_none(dict())
header_params = {k: v for k, v in iteritems(header_params) if v}
form_params = dict()
form_params = {k: v for k, v in iteritems(form_params) if v}
files = dict()
files = {k: v for k, v in iteritems(files) if v}
body_params = None body_params = None
accepts = ['application/json', 'application/xml'] accepts = ['application/json', 'application/xml']
@ -222,19 +194,20 @@ class PetApi(object):
return response return response
def get_pet_by_id(self, pet_id, **kwargs):
def get_pet_by_id(self, **kwargs):
""" """
Find pet by ID Find pet by ID
Returns a pet when ID < 10. ID > 10 or nonintegers will simulate API error conditions Returns a pet when ID < 10. ID > 10 or nonintegers will simulate API error conditions
:param int pet_id: ID of pet that needs to be fetched (required) :param int pet_id: ID of pet that needs to be fetched (required)
:return: Pet :return: Pet
""" """
# verify the required parameter 'pet_id' is set
if pet_id is None:
raise ValueError("Missing the required parameter `pet_id` when calling `get_pet_by_id`")
all_params = ['pet_id'] all_params = ['pet_id']
params = locals() params = locals()
@ -247,16 +220,11 @@ class PetApi(object):
resource_path = '/pet/{petId}'.replace('{format}', 'json') resource_path = '/pet/{petId}'.replace('{format}', 'json')
method = 'GET' method = 'GET'
path_params = dict(petId=params.get('pet_id')) path_params = remove_none(dict(petId=params.get('pet_id')))
path_params = {k: v for k, v in iteritems(path_params) if v} query_params = remove_none(dict())
query_params = dict() header_params = remove_none(dict())
query_params = {k: v for k, v in iteritems(query_params) if v} form_params = remove_none(dict())
header_params = dict() files = remove_none(dict())
header_params = {k: v for k, v in iteritems(header_params) if v}
form_params = dict()
form_params = {k: v for k, v in iteritems(form_params) if v}
files = dict()
files = {k: v for k, v in iteritems(files) if v}
body_params = None body_params = None
accepts = ['application/json', 'application/xml'] accepts = ['application/json', 'application/xml']
@ -271,23 +239,22 @@ class PetApi(object):
return response return response
def update_pet_with_form(self, pet_id, **kwargs):
def update_pet_with_form(self, **kwargs):
""" """
Updates a pet in the store with form data Updates a pet in the store with form data
:param str pet_id: ID of pet that needs to be updated (required) :param str pet_id: ID of pet that needs to be updated (required)
:param str name: Updated name of the pet
:param str name: Updated name of the pet (required) :param str status: Updated status of the pet
:param str status: Updated status of the pet (required)
:return: None :return: None
""" """
# verify the required parameter 'pet_id' is set
if pet_id is None:
raise ValueError("Missing the required parameter `pet_id` when calling `update_pet_with_form`")
all_params = ['pet_id', 'name', 'status'] all_params = ['pet_id', 'name', 'status']
params = locals() params = locals()
@ -300,16 +267,11 @@ class PetApi(object):
resource_path = '/pet/{petId}'.replace('{format}', 'json') resource_path = '/pet/{petId}'.replace('{format}', 'json')
method = 'POST' method = 'POST'
path_params = dict(petId=params.get('pet_id')) path_params = remove_none(dict(petId=params.get('pet_id')))
path_params = {k: v for k, v in iteritems(path_params) if v} query_params = remove_none(dict())
query_params = dict() header_params = remove_none(dict())
query_params = {k: v for k, v in iteritems(query_params) if v} form_params = remove_none(dict(name=params.get('name'), status=params.get('status')))
header_params = dict() files = remove_none(dict())
header_params = {k: v for k, v in iteritems(header_params) if v}
form_params = dict(name=params.get('name'), status=params.get('status'))
form_params = {k: v for k, v in iteritems(form_params) if v}
files = dict()
files = {k: v for k, v in iteritems(files) if v}
body_params = None body_params = None
accepts = ['application/json', 'application/xml'] accepts = ['application/json', 'application/xml']
@ -322,21 +284,21 @@ class PetApi(object):
body=body_params, post_params=form_params, files=files, body=body_params, post_params=form_params, files=files,
response=None) response=None)
def delete_pet(self, pet_id, **kwargs):
def delete_pet(self, **kwargs):
""" """
Deletes a pet Deletes a pet
:param str api_key:
:param str api_key: (required)
:param int pet_id: Pet id to delete (required) :param int pet_id: Pet id to delete (required)
:return: None :return: None
""" """
# verify the required parameter 'pet_id' is set
if pet_id is None:
raise ValueError("Missing the required parameter `pet_id` when calling `delete_pet`")
all_params = ['api_key', 'pet_id'] all_params = ['api_key', 'pet_id']
params = locals() params = locals()
@ -349,16 +311,11 @@ class PetApi(object):
resource_path = '/pet/{petId}'.replace('{format}', 'json') resource_path = '/pet/{petId}'.replace('{format}', 'json')
method = 'DELETE' method = 'DELETE'
path_params = dict(petId=params.get('pet_id')) path_params = remove_none(dict(petId=params.get('pet_id')))
path_params = {k: v for k, v in iteritems(path_params) if v} query_params = remove_none(dict())
query_params = dict() header_params = remove_none(dict(api_key=params.get('api_key')))
query_params = {k: v for k, v in iteritems(query_params) if v} form_params = remove_none(dict())
header_params = dict(api_key=params.get('api_key')) files = remove_none(dict())
header_params = {k: v for k, v in iteritems(header_params) if v}
form_params = dict()
form_params = {k: v for k, v in iteritems(form_params) if v}
files = dict()
files = {k: v for k, v in iteritems(files) if v}
body_params = None body_params = None
accepts = ['application/json', 'application/xml'] accepts = ['application/json', 'application/xml']
@ -371,23 +328,22 @@ class PetApi(object):
body=body_params, post_params=form_params, files=files, body=body_params, post_params=form_params, files=files,
response=None) response=None)
def upload_file(self, pet_id, **kwargs):
def upload_file(self, **kwargs):
""" """
uploads an image uploads an image
:param int pet_id: ID of pet to update (required) :param int pet_id: ID of pet to update (required)
:param str additional_metadata: Additional data to pass to server
:param str additional_metadata: Additional data to pass to server (required) :param file file: file to upload
:param file file: file to upload (required)
:return: None :return: None
""" """
# verify the required parameter 'pet_id' is set
if pet_id is None:
raise ValueError("Missing the required parameter `pet_id` when calling `upload_file`")
all_params = ['pet_id', 'additional_metadata', 'file'] all_params = ['pet_id', 'additional_metadata', 'file']
params = locals() params = locals()
@ -400,16 +356,11 @@ class PetApi(object):
resource_path = '/pet/{petId}/uploadImage'.replace('{format}', 'json') resource_path = '/pet/{petId}/uploadImage'.replace('{format}', 'json')
method = 'POST' method = 'POST'
path_params = dict(petId=params.get('pet_id')) path_params = remove_none(dict(petId=params.get('pet_id')))
path_params = {k: v for k, v in iteritems(path_params) if v} query_params = remove_none(dict())
query_params = dict() header_params = remove_none(dict())
query_params = {k: v for k, v in iteritems(query_params) if v} form_params = remove_none(dict(additionalMetadata=params.get('additional_metadata'), ))
header_params = dict() files = remove_none(dict(file=params.get('file')))
header_params = {k: v for k, v in iteritems(header_params) if v}
form_params = dict(additionalMetadata=params.get('additional_metadata'), )
form_params = {k: v for k, v in iteritems(form_params) if v}
files = dict(file=params.get('file'))
files = {k: v for k, v in iteritems(files) if v}
body_params = None body_params = None
accepts = ['application/json', 'application/xml'] accepts = ['application/json', 'application/xml']
@ -424,3 +375,10 @@ class PetApi(object):

View File

@ -19,25 +19,27 @@ Copyright 2015 Reverb Technologies, Inc.
NOTE: This class is auto generated by the swagger code generator program. Do not edit the class manually. NOTE: This class is auto generated by the swagger code generator program. Do not edit the class manually.
""" """
from __future__ import absolute_import
import sys import sys
import os import os
# python 2 and python 3 compatibility library # python 2 and python 3 compatibility library
from six import iteritems from six import iteritems
from ..util import remove_none
class StoreApi(object): class StoreApi(object):
def __init__(self, api_client): def __init__(self, api_client):
self.api_client = api_client self.api_client = api_client
def get_inventory(self, **kwargs): def get_inventory(self, **kwargs):
""" """
Returns pet inventories by status Returns pet inventories by status
Returns a map of status codes to quantities Returns a map of status codes to quantities
:return: map(String, int) :return: map(String, int)
""" """
@ -53,16 +55,11 @@ class StoreApi(object):
resource_path = '/store/inventory'.replace('{format}', 'json') resource_path = '/store/inventory'.replace('{format}', 'json')
method = 'GET' method = 'GET'
path_params = dict() path_params = remove_none(dict())
path_params = {k: v for k, v in iteritems(path_params) if v} query_params = remove_none(dict())
query_params = dict() header_params = remove_none(dict())
query_params = {k: v for k, v in iteritems(query_params) if v} form_params = remove_none(dict())
header_params = dict() files = remove_none(dict())
header_params = {k: v for k, v in iteritems(header_params) if v}
form_params = dict()
form_params = {k: v for k, v in iteritems(form_params) if v}
files = dict()
files = {k: v for k, v in iteritems(files) if v}
body_params = None body_params = None
accepts = ['application/json', 'application/xml'] accepts = ['application/json', 'application/xml']
@ -77,15 +74,12 @@ class StoreApi(object):
return response return response
def place_order(self, **kwargs): def place_order(self, **kwargs):
""" """
Place an order for a pet Place an order for a pet
:param Order body: order placed for purchasing the pet
:param Order body: order placed for purchasing the pet (required)
:return: Order :return: Order
""" """
@ -102,16 +96,11 @@ class StoreApi(object):
resource_path = '/store/order'.replace('{format}', 'json') resource_path = '/store/order'.replace('{format}', 'json')
method = 'POST' method = 'POST'
path_params = dict() path_params = remove_none(dict())
path_params = {k: v for k, v in iteritems(path_params) if v} query_params = remove_none(dict())
query_params = dict() header_params = remove_none(dict())
query_params = {k: v for k, v in iteritems(query_params) if v} form_params = remove_none(dict())
header_params = dict() files = remove_none(dict())
header_params = {k: v for k, v in iteritems(header_params) if v}
form_params = dict()
form_params = {k: v for k, v in iteritems(form_params) if v}
files = dict()
files = {k: v for k, v in iteritems(files) if v}
body_params = params.get('body') body_params = params.get('body')
accepts = ['application/json', 'application/xml'] accepts = ['application/json', 'application/xml']
@ -126,19 +115,20 @@ class StoreApi(object):
return response return response
def get_order_by_id(self, order_id, **kwargs):
def get_order_by_id(self, **kwargs):
""" """
Find purchase order by ID Find purchase order by ID
For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
:param str order_id: ID of pet that needs to be fetched (required) :param str order_id: ID of pet that needs to be fetched (required)
:return: Order :return: Order
""" """
# verify the required parameter 'order_id' is set
if order_id is None:
raise ValueError("Missing the required parameter `order_id` when calling `get_order_by_id`")
all_params = ['order_id'] all_params = ['order_id']
params = locals() params = locals()
@ -151,16 +141,11 @@ class StoreApi(object):
resource_path = '/store/order/{orderId}'.replace('{format}', 'json') resource_path = '/store/order/{orderId}'.replace('{format}', 'json')
method = 'GET' method = 'GET'
path_params = dict(orderId=params.get('order_id')) path_params = remove_none(dict(orderId=params.get('order_id')))
path_params = {k: v for k, v in iteritems(path_params) if v} query_params = remove_none(dict())
query_params = dict() header_params = remove_none(dict())
query_params = {k: v for k, v in iteritems(query_params) if v} form_params = remove_none(dict())
header_params = dict() files = remove_none(dict())
header_params = {k: v for k, v in iteritems(header_params) if v}
form_params = dict()
form_params = {k: v for k, v in iteritems(form_params) if v}
files = dict()
files = {k: v for k, v in iteritems(files) if v}
body_params = None body_params = None
accepts = ['application/json', 'application/xml'] accepts = ['application/json', 'application/xml']
@ -175,19 +160,20 @@ class StoreApi(object):
return response return response
def delete_order(self, order_id, **kwargs):
def delete_order(self, **kwargs):
""" """
Delete purchase order by ID Delete purchase order by ID
For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
:param str order_id: ID of the order that needs to be deleted (required) :param str order_id: ID of the order that needs to be deleted (required)
:return: None :return: None
""" """
# verify the required parameter 'order_id' is set
if order_id is None:
raise ValueError("Missing the required parameter `order_id` when calling `delete_order`")
all_params = ['order_id'] all_params = ['order_id']
params = locals() params = locals()
@ -200,16 +186,11 @@ class StoreApi(object):
resource_path = '/store/order/{orderId}'.replace('{format}', 'json') resource_path = '/store/order/{orderId}'.replace('{format}', 'json')
method = 'DELETE' method = 'DELETE'
path_params = dict(orderId=params.get('order_id')) path_params = remove_none(dict(orderId=params.get('order_id')))
path_params = {k: v for k, v in iteritems(path_params) if v} query_params = remove_none(dict())
query_params = dict() header_params = remove_none(dict())
query_params = {k: v for k, v in iteritems(query_params) if v} form_params = remove_none(dict())
header_params = dict() files = remove_none(dict())
header_params = {k: v for k, v in iteritems(header_params) if v}
form_params = dict()
form_params = {k: v for k, v in iteritems(form_params) if v}
files = dict()
files = {k: v for k, v in iteritems(files) if v}
body_params = None body_params = None
accepts = ['application/json', 'application/xml'] accepts = ['application/json', 'application/xml']
@ -224,3 +205,10 @@ class StoreApi(object):

View File

@ -19,26 +19,27 @@ Copyright 2015 Reverb Technologies, Inc.
NOTE: This class is auto generated by the swagger code generator program. Do not edit the class manually. NOTE: This class is auto generated by the swagger code generator program. Do not edit the class manually.
""" """
from __future__ import absolute_import
import sys import sys
import os import os
# python 2 and python 3 compatibility library # python 2 and python 3 compatibility library
from six import iteritems from six import iteritems
from ..util import remove_none
class UserApi(object): class UserApi(object):
def __init__(self, api_client): def __init__(self, api_client):
self.api_client = api_client self.api_client = api_client
def create_user(self, **kwargs): def create_user(self, **kwargs):
""" """
Create user Create user
This can only be done by the logged in user. This can only be done by the logged in user.
:param User body: Created user object
:param User body: Created user object (required)
:return: None :return: None
""" """
@ -55,16 +56,11 @@ class UserApi(object):
resource_path = '/user'.replace('{format}', 'json') resource_path = '/user'.replace('{format}', 'json')
method = 'POST' method = 'POST'
path_params = dict() path_params = remove_none(dict())
path_params = {k: v for k, v in iteritems(path_params) if v} query_params = remove_none(dict())
query_params = dict() header_params = remove_none(dict())
query_params = {k: v for k, v in iteritems(query_params) if v} form_params = remove_none(dict())
header_params = dict() files = remove_none(dict())
header_params = {k: v for k, v in iteritems(header_params) if v}
form_params = dict()
form_params = {k: v for k, v in iteritems(form_params) if v}
files = dict()
files = {k: v for k, v in iteritems(files) if v}
body_params = params.get('body') body_params = params.get('body')
accepts = ['application/json', 'application/xml'] accepts = ['application/json', 'application/xml']
@ -77,15 +73,12 @@ class UserApi(object):
body=body_params, post_params=form_params, files=files, body=body_params, post_params=form_params, files=files,
response=None) response=None)
def create_users_with_array_input(self, **kwargs): def create_users_with_array_input(self, **kwargs):
""" """
Creates list of users with given input array Creates list of users with given input array
:param list[User] body: List of user object
:param list[User] body: List of user object (required)
:return: None :return: None
""" """
@ -102,16 +95,11 @@ class UserApi(object):
resource_path = '/user/createWithArray'.replace('{format}', 'json') resource_path = '/user/createWithArray'.replace('{format}', 'json')
method = 'POST' method = 'POST'
path_params = dict() path_params = remove_none(dict())
path_params = {k: v for k, v in iteritems(path_params) if v} query_params = remove_none(dict())
query_params = dict() header_params = remove_none(dict())
query_params = {k: v for k, v in iteritems(query_params) if v} form_params = remove_none(dict())
header_params = dict() files = remove_none(dict())
header_params = {k: v for k, v in iteritems(header_params) if v}
form_params = dict()
form_params = {k: v for k, v in iteritems(form_params) if v}
files = dict()
files = {k: v for k, v in iteritems(files) if v}
body_params = params.get('body') body_params = params.get('body')
accepts = ['application/json', 'application/xml'] accepts = ['application/json', 'application/xml']
@ -124,15 +112,12 @@ class UserApi(object):
body=body_params, post_params=form_params, files=files, body=body_params, post_params=form_params, files=files,
response=None) response=None)
def create_users_with_list_input(self, **kwargs): def create_users_with_list_input(self, **kwargs):
""" """
Creates list of users with given input array Creates list of users with given input array
:param list[User] body: List of user object
:param list[User] body: List of user object (required)
:return: None :return: None
""" """
@ -149,16 +134,11 @@ class UserApi(object):
resource_path = '/user/createWithList'.replace('{format}', 'json') resource_path = '/user/createWithList'.replace('{format}', 'json')
method = 'POST' method = 'POST'
path_params = dict() path_params = remove_none(dict())
path_params = {k: v for k, v in iteritems(path_params) if v} query_params = remove_none(dict())
query_params = dict() header_params = remove_none(dict())
query_params = {k: v for k, v in iteritems(query_params) if v} form_params = remove_none(dict())
header_params = dict() files = remove_none(dict())
header_params = {k: v for k, v in iteritems(header_params) if v}
form_params = dict()
form_params = {k: v for k, v in iteritems(form_params) if v}
files = dict()
files = {k: v for k, v in iteritems(files) if v}
body_params = params.get('body') body_params = params.get('body')
accepts = ['application/json', 'application/xml'] accepts = ['application/json', 'application/xml']
@ -171,17 +151,13 @@ class UserApi(object):
body=body_params, post_params=form_params, files=files, body=body_params, post_params=form_params, files=files,
response=None) response=None)
def login_user(self, **kwargs): def login_user(self, **kwargs):
""" """
Logs user into the system Logs user into the system
:param str username: The user name for login
:param str username: The user name for login (required) :param str password: The password for login in clear text
:param str password: The password for login in clear text (required)
:return: str :return: str
""" """
@ -198,16 +174,11 @@ class UserApi(object):
resource_path = '/user/login'.replace('{format}', 'json') resource_path = '/user/login'.replace('{format}', 'json')
method = 'GET' method = 'GET'
path_params = dict() path_params = remove_none(dict())
path_params = {k: v for k, v in iteritems(path_params) if v} query_params = remove_none(dict(username=params.get('username'), password=params.get('password')))
query_params = dict(username=params.get('username'), password=params.get('password')) header_params = remove_none(dict())
query_params = {k: v for k, v in iteritems(query_params) if v} form_params = remove_none(dict())
header_params = dict() files = remove_none(dict())
header_params = {k: v for k, v in iteritems(header_params) if v}
form_params = dict()
form_params = {k: v for k, v in iteritems(form_params) if v}
files = dict()
files = {k: v for k, v in iteritems(files) if v}
body_params = None body_params = None
accepts = ['application/json', 'application/xml'] accepts = ['application/json', 'application/xml']
@ -222,14 +193,12 @@ class UserApi(object):
return response return response
def logout_user(self, **kwargs): def logout_user(self, **kwargs):
""" """
Logs out current logged in user session Logs out current logged in user session
:return: None :return: None
""" """
@ -245,16 +214,11 @@ class UserApi(object):
resource_path = '/user/logout'.replace('{format}', 'json') resource_path = '/user/logout'.replace('{format}', 'json')
method = 'GET' method = 'GET'
path_params = dict() path_params = remove_none(dict())
path_params = {k: v for k, v in iteritems(path_params) if v} query_params = remove_none(dict())
query_params = dict() header_params = remove_none(dict())
query_params = {k: v for k, v in iteritems(query_params) if v} form_params = remove_none(dict())
header_params = dict() files = remove_none(dict())
header_params = {k: v for k, v in iteritems(header_params) if v}
form_params = dict()
form_params = {k: v for k, v in iteritems(form_params) if v}
files = dict()
files = {k: v for k, v in iteritems(files) if v}
body_params = None body_params = None
accepts = ['application/json', 'application/xml'] accepts = ['application/json', 'application/xml']
@ -267,19 +231,20 @@ class UserApi(object):
body=body_params, post_params=form_params, files=files, body=body_params, post_params=form_params, files=files,
response=None) response=None)
def get_user_by_name(self, username, **kwargs):
def get_user_by_name(self, **kwargs):
""" """
Get user by user name Get user by user name
:param str username: The name that needs to be fetched. Use user1 for testing. (required) :param str username: The name that needs to be fetched. Use user1 for testing. (required)
:return: User :return: User
""" """
# verify the required parameter 'username' is set
if username is None:
raise ValueError("Missing the required parameter `username` when calling `get_user_by_name`")
all_params = ['username'] all_params = ['username']
params = locals() params = locals()
@ -292,16 +257,11 @@ class UserApi(object):
resource_path = '/user/{username}'.replace('{format}', 'json') resource_path = '/user/{username}'.replace('{format}', 'json')
method = 'GET' method = 'GET'
path_params = dict(username=params.get('username')) path_params = remove_none(dict(username=params.get('username')))
path_params = {k: v for k, v in iteritems(path_params) if v} query_params = remove_none(dict())
query_params = dict() header_params = remove_none(dict())
query_params = {k: v for k, v in iteritems(query_params) if v} form_params = remove_none(dict())
header_params = dict() files = remove_none(dict())
header_params = {k: v for k, v in iteritems(header_params) if v}
form_params = dict()
form_params = {k: v for k, v in iteritems(form_params) if v}
files = dict()
files = {k: v for k, v in iteritems(files) if v}
body_params = None body_params = None
accepts = ['application/json', 'application/xml'] accepts = ['application/json', 'application/xml']
@ -316,21 +276,21 @@ class UserApi(object):
return response return response
def update_user(self, username, **kwargs):
def update_user(self, **kwargs):
""" """
Updated user Updated user
This can only be done by the logged in user. This can only be done by the logged in user.
:param str username: name that need to be deleted (required) :param str username: name that need to be deleted (required)
:param User body: Updated user object
:param User body: Updated user object (required)
:return: None :return: None
""" """
# verify the required parameter 'username' is set
if username is None:
raise ValueError("Missing the required parameter `username` when calling `update_user`")
all_params = ['username', 'body'] all_params = ['username', 'body']
params = locals() params = locals()
@ -343,16 +303,11 @@ class UserApi(object):
resource_path = '/user/{username}'.replace('{format}', 'json') resource_path = '/user/{username}'.replace('{format}', 'json')
method = 'PUT' method = 'PUT'
path_params = dict(username=params.get('username')) path_params = remove_none(dict(username=params.get('username')))
path_params = {k: v for k, v in iteritems(path_params) if v} query_params = remove_none(dict())
query_params = dict() header_params = remove_none(dict())
query_params = {k: v for k, v in iteritems(query_params) if v} form_params = remove_none(dict())
header_params = dict() files = remove_none(dict())
header_params = {k: v for k, v in iteritems(header_params) if v}
form_params = dict()
form_params = {k: v for k, v in iteritems(form_params) if v}
files = dict()
files = {k: v for k, v in iteritems(files) if v}
body_params = params.get('body') body_params = params.get('body')
accepts = ['application/json', 'application/xml'] accepts = ['application/json', 'application/xml']
@ -365,19 +320,20 @@ class UserApi(object):
body=body_params, post_params=form_params, files=files, body=body_params, post_params=form_params, files=files,
response=None) response=None)
def delete_user(self, username, **kwargs):
def delete_user(self, **kwargs):
""" """
Delete user Delete user
This can only be done by the logged in user. This can only be done by the logged in user.
:param str username: The name that needs to be deleted (required) :param str username: The name that needs to be deleted (required)
:return: None :return: None
""" """
# verify the required parameter 'username' is set
if username is None:
raise ValueError("Missing the required parameter `username` when calling `delete_user`")
all_params = ['username'] all_params = ['username']
params = locals() params = locals()
@ -390,16 +346,11 @@ class UserApi(object):
resource_path = '/user/{username}'.replace('{format}', 'json') resource_path = '/user/{username}'.replace('{format}', 'json')
method = 'DELETE' method = 'DELETE'
path_params = dict(username=params.get('username')) path_params = remove_none(dict(username=params.get('username')))
path_params = {k: v for k, v in iteritems(path_params) if v} query_params = remove_none(dict())
query_params = dict() header_params = remove_none(dict())
query_params = {k: v for k, v in iteritems(query_params) if v} form_params = remove_none(dict())
header_params = dict() files = remove_none(dict())
header_params = {k: v for k, v in iteritems(header_params) if v}
form_params = dict()
form_params = {k: v for k, v in iteritems(form_params) if v}
files = dict()
files = {k: v for k, v in iteritems(files) if v}
body_params = None body_params = None
accepts = ['application/json', 'application/xml'] accepts = ['application/json', 'application/xml']
@ -414,3 +365,10 @@ class UserApi(object):

View File

@ -1,23 +1,9 @@
#!/usr/bin/env python
"""Add all of the modules in the current directory to __all__"""
from __future__ import absolute_import from __future__ import absolute_import
import os # import models into model package
from .user import User from .user import User
from .category import Category from .category import Category
from .pet import Pet from .pet import Pet
from .tag import Tag from .tag import Tag
from .order import Order from .order import Order
__all__ = []
for module in os.listdir(os.path.dirname(__file__)):
if module != '__init__.py' and module[-3:] == '.py':
__all__.append(module[:-3])

View File

@ -23,7 +23,6 @@ class Category(object):
Do not edit the class manually. Do not edit the class manually.
""" """
def __init__(self): def __init__(self):
""" """
Swagger model Swagger model
@ -32,26 +31,20 @@ class Category(object):
:param dict attributeMap: The key is attribute name and the value is json key in definition. :param dict attributeMap: The key is attribute name and the value is json key in definition.
""" """
self.swagger_types = { self.swagger_types = {
'id': 'int', 'id': 'int',
'name': 'str' 'name': 'str'
} }
self.attribute_map = { self.attribute_map = {
'id': 'id', 'id': 'id',
'name': 'name' 'name': 'name'
} }
self.id = None # int self.id = None # int
self.name = None # str self.name = None # str

View File

@ -23,7 +23,6 @@ class Order(object):
Do not edit the class manually. Do not edit the class manually.
""" """
def __init__(self): def __init__(self):
""" """
Swagger model Swagger model
@ -32,44 +31,24 @@ class Order(object):
:param dict attributeMap: The key is attribute name and the value is json key in definition. :param dict attributeMap: The key is attribute name and the value is json key in definition.
""" """
self.swagger_types = { self.swagger_types = {
'id': 'int', 'id': 'int',
'pet_id': 'int', 'pet_id': 'int',
'quantity': 'int', 'quantity': 'int',
'ship_date': 'DateTime', 'ship_date': 'DateTime',
'status': 'str', 'status': 'str',
'complete': 'bool' 'complete': 'bool'
} }
self.attribute_map = { self.attribute_map = {
'id': 'id', 'id': 'id',
'pet_id': 'petId', 'pet_id': 'petId',
'quantity': 'quantity', 'quantity': 'quantity',
'ship_date': 'shipDate', 'ship_date': 'shipDate',
'status': 'status', 'status': 'status',
'complete': 'complete' 'complete': 'complete'
} }
self.id = None # int self.id = None # int
@ -81,10 +60,11 @@ class Order(object):
self.ship_date = None # DateTime self.ship_date = None # DateTime
#Order Status # Order Status
self.status = None # str self.status = None # str
self.complete = None # bool self.complete = None # bool

View File

@ -23,7 +23,6 @@ class Pet(object):
Do not edit the class manually. Do not edit the class manually.
""" """
def __init__(self): def __init__(self):
""" """
Swagger model Swagger model
@ -32,44 +31,24 @@ class Pet(object):
:param dict attributeMap: The key is attribute name and the value is json key in definition. :param dict attributeMap: The key is attribute name and the value is json key in definition.
""" """
self.swagger_types = { self.swagger_types = {
'id': 'int', 'id': 'int',
'category': 'Category', 'category': 'Category',
'name': 'str', 'name': 'str',
'photo_urls': 'list[str]', 'photo_urls': 'list[str]',
'tags': 'list[Tag]', 'tags': 'list[Tag]',
'status': 'str' 'status': 'str'
} }
self.attribute_map = { self.attribute_map = {
'id': 'id', 'id': 'id',
'category': 'category', 'category': 'category',
'name': 'name', 'name': 'name',
'photo_urls': 'photoUrls', 'photo_urls': 'photoUrls',
'tags': 'tags', 'tags': 'tags',
'status': 'status' 'status': 'status'
} }
self.id = None # int self.id = None # int
@ -84,7 +63,8 @@ class Pet(object):
self.tags = None # list[Tag] self.tags = None # list[Tag]
#pet status in the store # pet status in the store
self.status = None # str self.status = None # str

View File

@ -23,7 +23,6 @@ class Tag(object):
Do not edit the class manually. Do not edit the class manually.
""" """
def __init__(self): def __init__(self):
""" """
Swagger model Swagger model
@ -32,26 +31,20 @@ class Tag(object):
:param dict attributeMap: The key is attribute name and the value is json key in definition. :param dict attributeMap: The key is attribute name and the value is json key in definition.
""" """
self.swagger_types = { self.swagger_types = {
'id': 'int', 'id': 'int',
'name': 'str' 'name': 'str'
} }
self.attribute_map = { self.attribute_map = {
'id': 'id', 'id': 'id',
'name': 'name' 'name': 'name'
} }
self.id = None # int self.id = None # int
self.name = None # str self.name = None # str

View File

@ -23,7 +23,6 @@ class User(object):
Do not edit the class manually. Do not edit the class manually.
""" """
def __init__(self): def __init__(self):
""" """
Swagger model Swagger model
@ -32,54 +31,28 @@ class User(object):
:param dict attributeMap: The key is attribute name and the value is json key in definition. :param dict attributeMap: The key is attribute name and the value is json key in definition.
""" """
self.swagger_types = { self.swagger_types = {
'id': 'int', 'id': 'int',
'username': 'str', 'username': 'str',
'first_name': 'str', 'first_name': 'str',
'last_name': 'str', 'last_name': 'str',
'email': 'str', 'email': 'str',
'password': 'str', 'password': 'str',
'phone': 'str', 'phone': 'str',
'user_status': 'int' 'user_status': 'int'
} }
self.attribute_map = { self.attribute_map = {
'id': 'id', 'id': 'id',
'username': 'username', 'username': 'username',
'first_name': 'firstName', 'first_name': 'firstName',
'last_name': 'lastName', 'last_name': 'lastName',
'email': 'email', 'email': 'email',
'password': 'password', 'password': 'password',
'phone': 'phone', 'phone': 'phone',
'user_status': 'userStatus' 'user_status': 'userStatus'
} }
self.id = None # int self.id = None # int
@ -100,7 +73,8 @@ class User(object):
self.phone = None # str self.phone = None # str
#User Status # User Status
self.user_status = None # int self.user_status = None # int

View File

@ -0,0 +1,17 @@
from six import iteritems
def remove_none(obj):
if isinstance(obj, (list, tuple, set)):
return type(obj)(remove_none(x) for x in obj if x is not None)
elif isinstance(obj, dict):
return type(obj)((remove_none(k), remove_none(v))
for k, v in iteritems(obj) if k is not None and v is not None)
else:
return obj
def inspect_vars(obj):
if not hasattr(obj, '__dict__'):
return obj
else:
return {k: inspect_vars(getattr(obj, k)) for k in dir(obj)}

View File

@ -0,0 +1,4 @@
nose
tox
coverage
randomize

View File

@ -26,21 +26,6 @@
<artifactId>exec-maven-plugin</artifactId> <artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version> <version>1.2.1</version>
<executions> <executions>
<execution>
<id>nose-install</id>
<phase>pre-integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>pip</executable>
<arguments>
<argument>install</argument>
<argument>nose</argument>
<argument>--user</argument>
</arguments>
</configuration>
</execution>
<execution> <execution>
<id>nose-test</id> <id>nose-test</id>
<phase>integration-test</phase> <phase>integration-test</phase>
@ -48,9 +33,9 @@
<goal>exec</goal> <goal>exec</goal>
</goals> </goals>
<configuration> <configuration>
<executable>nosetests</executable> <executable>make</executable>
<arguments> <arguments>
<argument>-v</argument> <argument>test-all</argument>
</arguments> </arguments>
</configuration> </configuration>
</execution> </execution>

View File

@ -0,0 +1,10 @@
[nosetests]
logging-clear-handlers=true
verbosity=2
randomize=true
with-coverage=true
cover-package=SwaggerPetstore
cover-erase=true
[flake8]
max-line-length=99

View File

@ -30,3 +30,11 @@ setup(
) )

View File

@ -31,15 +31,15 @@ class PetApiTests(unittest.TestCase):
def setUpModels(self): def setUpModels(self):
self.category = SwaggerPetstore.Category() self.category = SwaggerPetstore.Category()
self.category.id = 1010 self.category.id = int(time.time())
self.category.name = "dog" self.category.name = "dog"
self.tag = SwaggerPetstore.Tag() self.tag = SwaggerPetstore.Tag()
self.tag.id = 1010 self.tag.id = int(time.time())
self.tag.name = "blank" self.tag.name = "blank"
self.pet = SwaggerPetstore.Pet() self.pet = SwaggerPetstore.Pet()
self.pet.id = 1010 self.pet.id = int(time.time())
self.pet.name = "hello kity" self.pet.name = "hello kity"
self.pet.photo_urls = ["sample urls"] self.pet.photo_urls = ["http://foo.bar.com/1", "http://foo.bar.com/2"]
self.pet.status = "sold" self.pet.status = "sold"
self.pet.category = self.category self.pet.category = self.category
self.pet.tags = [self.tag] self.pet.tags = [self.tag]
@ -49,48 +49,55 @@ class PetApiTests(unittest.TestCase):
self.test_file_dir = os.path.realpath(self.test_file_dir) self.test_file_dir = os.path.realpath(self.test_file_dir)
self.foo = os.path.join(self.test_file_dir, "foo.png") self.foo = os.path.join(self.test_file_dir, "foo.png")
def test_1_add_pet(self): def test_add_pet_and_get_pet_by_id(self):
try:
self.pet_api.add_pet(body=self.pet) self.pet_api.add_pet(body=self.pet)
except ErrorResponse as e:
self.fail("add_pet() raised {0} unexpectedly".format(type(e)))
def test_2_get_pet_by_id(self): fetched = self.pet_api.get_pet_by_id(pet_id=self.pet.id)
self.assertEqual( self.assertIsNotNone(fetched)
dir(self.pet_api.get_pet_by_id(pet_id=self.pet.id)), self.assertEqual(self.pet.id, fetched.id)
dir(self.pet) self.assertIsNotNone(fetched.category)
) self.assertEqual(self.pet.category.name, fetched.category.name)
def test_3_update_pet(self): def test_update_pet(self):
try:
self.pet.name = "hello kity with updated" self.pet.name = "hello kity with updated"
self.pet_api.update_pet(body=self.pet) self.pet_api.update_pet(body=self.pet)
except ErrorResponse as e:
self.fail("update_pet() raised {0} unexpectedly".format(type(e)))
def test_4_find_pets_by_status(self): fetched = self.pet_api.get_pet_by_id(pet_id=self.pet.id)
self.assertIsNotNone(fetched)
self.assertEqual(self.pet.id, fetched.id)
self.assertEqual(self.pet.name, fetched.name)
self.assertIsNotNone(fetched.category)
self.assertEqual(fetched.category.name, self.pet.category.name)
def test_find_pets_by_status(self):
self.pet_api.add_pet(body=self.pet)
self.assertIn( self.assertIn(
dir(self.pet), self.pet.id,
list(map(dir, self.pet_api.find_pets_by_status(status=["sold"]))) list(map(lambda x: getattr(x, 'id'), self.pet_api.find_pets_by_status(status=[self.pet.status])))
) )
def test_5_find_pets_by_tags(self): def test_find_pets_by_tags(self):
self.pet_api.add_pet(body=self.pet)
self.assertIn( self.assertIn(
dir(self.pet), self.pet.id,
list(map(dir, self.pet_api.find_pets_by_tags(tags=["blank"]))) list(map(lambda x: getattr(x, 'id'), self.pet_api.find_pets_by_tags(tags=[self.tag.name])))
) )
def test_6_update_pet_with_form(self): def test_update_pet_with_form(self):
try: self.pet_api.add_pet(body=self.pet)
name = "hello kity with form updated" name = "hello kity with form updated"
status = "pending" status = "pending"
self.pet_api.update_pet_with_form( self.pet_api.update_pet_with_form(pet_id=self.pet.id, name=name, status=status)
pet_id=self.pet.id, name=name, status=status
)
except ErrorResponse as e:
self.fail("update_pet_with_form() raised {0} unexpectedly".format(type(e)))
def test_7_upload_file(self): fetched = self.pet_api.get_pet_by_id(pet_id=self.pet.id)
self.assertEqual(self.pet.id, fetched.id)
self.assertEqual(self.pet.name, fetched.name)
self.assertEqual(self.pet.status, fetched.status)
def test_upload_file(self):
try: try:
additional_metadata = "special" additional_metadata = "special"
self.pet_api.upload_file( self.pet_api.upload_file(
@ -101,13 +108,20 @@ class PetApiTests(unittest.TestCase):
except ErrorResponse as e: except ErrorResponse as e:
self.fail("upload_file() raised {0} unexpectedly".format(type(e))) self.fail("upload_file() raised {0} unexpectedly".format(type(e)))
def test_8_delete_pet(self): def test_delete_pet(self):
try: self.pet_api.add_pet(body=self.pet)
api_key = "special-key" self.pet_api.delete_pet(pet_id=self.pet.id, api_key="special-key")
self.pet_api.delete_pet(pet_id=self.pet.id, api_key=api_key)
except ErrorResponse as e:
self.fail("delete_pet() raised {0} unexpectedly".format(type(e)))
try:
self.pet_api.get_pet_by_id(pet_id=self.pet.id)
raise "expected an error"
except ErrorResponse as e:
self.assertEqual(404, e.status)
if __name__ == '__main__': if __name__ == '__main__':
unittest.main() unittest.main()

View File

@ -0,0 +1,10 @@
[tox]
envlist = py27, py34
[testenv]
deps= -r{toxinidir}/dev-requirements.txt
commands=
nosetests \
[]
setenv =
PYTHONWARNINGS=always::DeprecationWarning