mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-07-02 21:50:55 +00:00
mark python2 support in flask as deprecated (#6653)
This commit is contained in:
parent
520f87abae
commit
c6cb7ebe2a
@ -1,6 +0,0 @@
|
||||
generatorName: python-flask
|
||||
outputDir: samples/server/petstore/python-flask-python2
|
||||
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/python-flask
|
||||
additionalProperties:
|
||||
supportPython2: true
|
@ -18,7 +18,7 @@ sidebar_label: python-aiohttp
|
||||
|serverPort|TCP port to listen to in app.run| |8080|
|
||||
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true|
|
||||
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|
||||
|supportPython2|support python2| |false|
|
||||
|supportPython2|support python2. This option has been deprecated and will be removed in the 5.x release.| |false|
|
||||
|useNose|use the nose test framework| |false|
|
||||
|
||||
## IMPORT MAPPING
|
||||
|
@ -18,7 +18,7 @@ sidebar_label: python-blueplanet
|
||||
|serverPort|TCP port to listen to in app.run| |8080|
|
||||
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true|
|
||||
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|
||||
|supportPython2|support python2| |false|
|
||||
|supportPython2|support python2. This option has been deprecated and will be removed in the 5.x release.| |false|
|
||||
|useNose|use the nose test framework| |false|
|
||||
|
||||
## IMPORT MAPPING
|
||||
|
@ -18,7 +18,7 @@ sidebar_label: python-flask
|
||||
|serverPort|TCP port to listen to in app.run| |8080|
|
||||
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true|
|
||||
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|
||||
|supportPython2|support python2| |false|
|
||||
|supportPython2|support python2. This option has been deprecated and will be removed in the 5.x release.| |false|
|
||||
|useNose|use the nose test framework| |false|
|
||||
|
||||
## IMPORT MAPPING
|
||||
|
@ -161,7 +161,7 @@ public class PythonAbstractConnexionServerCodegen extends DefaultCodegen impleme
|
||||
defaultValue("controllers"));
|
||||
cliOptions.add(new CliOption(DEFAULT_CONTROLLER, "default controller").
|
||||
defaultValue("default_controller"));
|
||||
cliOptions.add(new CliOption(SUPPORT_PYTHON2, "support python2").
|
||||
cliOptions.add(new CliOption(SUPPORT_PYTHON2, "support python2. This option has been deprecated and will be removed in the 5.x release.").
|
||||
defaultValue("false"));
|
||||
cliOptions.add(new CliOption("serverPort", "TCP port to listen to in app.run").
|
||||
defaultValue("8080"));
|
||||
|
1
pom.xml
1
pom.xml
@ -1180,7 +1180,6 @@
|
||||
<module>samples/server/petstore/python-aiohttp</module>
|
||||
<module>samples/server/petstore/python-aiohttp-srclayout</module>
|
||||
<module>samples/server/petstore/python-flask</module>
|
||||
<module>samples/server/petstore/python-flask-python2</module>
|
||||
<module>samples/server/petstore/php-slim4</module>
|
||||
<module>samples/server/petstore/php-laravel</module>
|
||||
<module>samples/server/petstore/rust-server</module>
|
||||
|
@ -1,72 +0,0 @@
|
||||
.travis.yaml
|
||||
.openapi-generator-ignore
|
||||
README.md
|
||||
tox.ini
|
||||
git_push.sh
|
||||
test-requirements.txt
|
||||
setup.py
|
||||
|
||||
# Byte-compiled / optimized / DLL files
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
|
||||
# Distribution / packaging
|
||||
.Python
|
||||
env/
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
var/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
|
||||
# PyInstaller
|
||||
# Usually these files are written by a python script from a template
|
||||
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||
*.manifest
|
||||
*.spec
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
htmlcov/
|
||||
.tox/
|
||||
.coverage
|
||||
.coverage.*
|
||||
.cache
|
||||
nosetests.xml
|
||||
coverage.xml
|
||||
*,cover
|
||||
.hypothesis/
|
||||
venv/
|
||||
.python-version
|
||||
|
||||
# Translations
|
||||
*.mo
|
||||
*.pot
|
||||
|
||||
# Django stuff:
|
||||
*.log
|
||||
|
||||
# Sphinx documentation
|
||||
docs/_build/
|
||||
|
||||
# PyBuilder
|
||||
target/
|
||||
|
||||
#Ipython Notebook
|
||||
.ipynb_checkpoints
|
@ -1,66 +0,0 @@
|
||||
# Byte-compiled / optimized / DLL files
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
|
||||
# Distribution / packaging
|
||||
.Python
|
||||
env/
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
var/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
|
||||
# PyInstaller
|
||||
# Usually these files are written by a python script from a template
|
||||
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||
*.manifest
|
||||
*.spec
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
htmlcov/
|
||||
.tox/
|
||||
.coverage
|
||||
.coverage.*
|
||||
.cache
|
||||
nosetests.xml
|
||||
coverage.xml
|
||||
*,cover
|
||||
.hypothesis/
|
||||
venv/
|
||||
.venv/
|
||||
.python-version
|
||||
.pytest_cache
|
||||
|
||||
# Translations
|
||||
*.mo
|
||||
*.pot
|
||||
|
||||
# Django stuff:
|
||||
*.log
|
||||
|
||||
# Sphinx documentation
|
||||
docs/_build/
|
||||
|
||||
# PyBuilder
|
||||
target/
|
||||
|
||||
#Ipython Notebook
|
||||
.ipynb_checkpoints
|
@ -1,23 +0,0 @@
|
||||
# OpenAPI Generator Ignore
|
||||
# Generated by openapi-generator https://github.com/openapitools/openapi-generator
|
||||
|
||||
# Use this file to prevent files from being overwritten by the generator.
|
||||
# The patterns follow closely to .gitignore or .dockerignore.
|
||||
|
||||
# As an example, the C# client generator defines ApiClient.cs.
|
||||
# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
|
||||
#ApiClient.cs
|
||||
|
||||
# You can match any string of characters against a directory, file or extension with a single asterisk (*):
|
||||
#foo/*/qux
|
||||
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
|
||||
|
||||
# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
|
||||
#foo/**/qux
|
||||
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
|
||||
|
||||
# You can also negate patterns with an exclamation (!).
|
||||
# For example, you can ignore all files in a docs folder with the file extension .md:
|
||||
#docs/*.md
|
||||
# Then explicitly reverse the ignore rule for a single file:
|
||||
#!docs/README.md
|
@ -1,30 +0,0 @@
|
||||
.dockerignore
|
||||
.gitignore
|
||||
.travis.yml
|
||||
Dockerfile
|
||||
README.md
|
||||
git_push.sh
|
||||
openapi_server/__init__.py
|
||||
openapi_server/__main__.py
|
||||
openapi_server/controllers/__init__.py
|
||||
openapi_server/controllers/pet_controller.py
|
||||
openapi_server/controllers/security_controller_.py
|
||||
openapi_server/controllers/store_controller.py
|
||||
openapi_server/controllers/user_controller.py
|
||||
openapi_server/encoder.py
|
||||
openapi_server/models/__init__.py
|
||||
openapi_server/models/api_response.py
|
||||
openapi_server/models/base_model_.py
|
||||
openapi_server/models/category.py
|
||||
openapi_server/models/order.py
|
||||
openapi_server/models/pet.py
|
||||
openapi_server/models/tag.py
|
||||
openapi_server/models/user.py
|
||||
openapi_server/openapi/openapi.yaml
|
||||
openapi_server/test/__init__.py
|
||||
openapi_server/typing_utils.py
|
||||
openapi_server/util.py
|
||||
requirements.txt
|
||||
setup.py
|
||||
test-requirements.txt
|
||||
tox.ini
|
@ -1 +0,0 @@
|
||||
5.0.0-SNAPSHOT
|
@ -1,15 +0,0 @@
|
||||
# ref: https://docs.travis-ci.com/user/languages/python
|
||||
language: python
|
||||
python:
|
||||
- "2.7"
|
||||
- "3.2"
|
||||
- "3.3"
|
||||
- "3.4"
|
||||
- "3.5"
|
||||
- "3.6"
|
||||
- "3.7"
|
||||
- "3.8"
|
||||
# command to install dependencies
|
||||
install: "pip install -r requirements.txt"
|
||||
# command to run tests
|
||||
script: nosetests
|
@ -1,16 +0,0 @@
|
||||
FROM python:2-alpine
|
||||
|
||||
RUN mkdir -p /usr/src/app
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
COPY requirements.txt /usr/src/app/
|
||||
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
COPY . /usr/src/app
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
ENTRYPOINT ["python"]
|
||||
|
||||
CMD ["-m", "openapi_server"]
|
@ -1,20 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
REQUIREMENTS_OUT=test-requirements.txt.log
|
||||
SETUP_OUT=*.egg-info
|
||||
VENV=.venv
|
||||
|
||||
clean:
|
||||
rm -rf $(REQUIREMENTS_OUT)
|
||||
rm -rf $(SETUP_OUT)
|
||||
rm -rf $(VENV)
|
||||
rm -rf .tox
|
||||
rm -rf .coverage
|
||||
find . -name "*.py[oc]" -delete
|
||||
find . -name "__pycache__" -delete
|
||||
|
||||
test: clean
|
||||
bash ./test_python2.sh
|
||||
|
||||
test-all: clean
|
||||
bash ./test_python2.sh
|
@ -1,49 +0,0 @@
|
||||
# OpenAPI generated server
|
||||
|
||||
## Overview
|
||||
This server was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the
|
||||
[OpenAPI-Spec](https://openapis.org) from a remote server, you can easily generate a server stub. This
|
||||
is an example of building a OpenAPI-enabled Flask server.
|
||||
|
||||
This example uses the [Connexion](https://github.com/zalando/connexion) library on top of Flask.
|
||||
|
||||
## Requirements
|
||||
Python 2.7+
|
||||
|
||||
## Usage
|
||||
To run the server, please execute the following from the root directory:
|
||||
|
||||
```
|
||||
pip install -r requirements.txt
|
||||
python -m openapi_server
|
||||
```
|
||||
|
||||
and open your browser to here:
|
||||
|
||||
```
|
||||
http://localhost:8080/v2/ui/
|
||||
```
|
||||
|
||||
Your OpenAPI definition lives here:
|
||||
|
||||
```
|
||||
http://localhost:8080/v2/openapi.json
|
||||
```
|
||||
|
||||
To launch the integration tests, use tox:
|
||||
```
|
||||
sudo pip install tox
|
||||
tox
|
||||
```
|
||||
|
||||
## Running with Docker
|
||||
|
||||
To run the server on a Docker container, please execute the following from the root directory:
|
||||
|
||||
```bash
|
||||
# building the image
|
||||
docker build -t openapi_server .
|
||||
|
||||
# starting up a container
|
||||
docker run -p 8080:8080 openapi_server
|
||||
```
|
@ -1,2 +0,0 @@
|
||||
tox
|
||||
flake8
|
@ -1,58 +0,0 @@
|
||||
#!/bin/sh
|
||||
# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
|
||||
#
|
||||
# Usage example: /bin/sh ./git_push.sh wing328 openapi-pestore-perl "minor update" "gitlab.com"
|
||||
|
||||
git_user_id=$1
|
||||
git_repo_id=$2
|
||||
release_note=$3
|
||||
git_host=$4
|
||||
|
||||
if [ "$git_host" = "" ]; then
|
||||
git_host="github.com"
|
||||
echo "[INFO] No command line input provided. Set \$git_host to $git_host"
|
||||
fi
|
||||
|
||||
if [ "$git_user_id" = "" ]; then
|
||||
git_user_id="GIT_USER_ID"
|
||||
echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
|
||||
fi
|
||||
|
||||
if [ "$git_repo_id" = "" ]; then
|
||||
git_repo_id="GIT_REPO_ID"
|
||||
echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
|
||||
fi
|
||||
|
||||
if [ "$release_note" = "" ]; then
|
||||
release_note="Minor update"
|
||||
echo "[INFO] No command line input provided. Set \$release_note to $release_note"
|
||||
fi
|
||||
|
||||
# Initialize the local directory as a Git repository
|
||||
git init
|
||||
|
||||
# Adds the files in the local repository and stages them for commit.
|
||||
git add .
|
||||
|
||||
# Commits the tracked changes and prepares them to be pushed to a remote repository.
|
||||
git commit -m "$release_note"
|
||||
|
||||
# Sets the new remote
|
||||
git_remote=`git remote`
|
||||
if [ "$git_remote" = "" ]; then # git remote not defined
|
||||
|
||||
if [ "$GIT_TOKEN" = "" ]; then
|
||||
echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment."
|
||||
git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git
|
||||
else
|
||||
git remote add origin https://${git_user_id}:${GIT_TOKEN}@${git_host}/${git_user_id}/${git_repo_id}.git
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
git pull origin master
|
||||
|
||||
# Pushes (Forces) the changes in the local repository up to the remote repository
|
||||
echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git"
|
||||
git push origin master 2>&1 | grep -v 'To https'
|
||||
|
@ -1,18 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import connexion
|
||||
|
||||
from openapi_server import encoder
|
||||
|
||||
|
||||
def main():
|
||||
app = connexion.App(__name__, specification_dir='./openapi/')
|
||||
app.app.json_encoder = encoder.JSONEncoder
|
||||
app.add_api('openapi.yaml',
|
||||
arguments={'title': 'OpenAPI Petstore'},
|
||||
pythonic_params=True)
|
||||
app.run(port=8080)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
@ -1,124 +0,0 @@
|
||||
import connexion
|
||||
import six
|
||||
|
||||
from openapi_server.models.api_response import ApiResponse # noqa: E501
|
||||
from openapi_server.models.pet import Pet # noqa: E501
|
||||
from openapi_server import util
|
||||
|
||||
|
||||
def add_pet(body): # noqa: E501
|
||||
"""Add a new pet to the store
|
||||
|
||||
# noqa: E501
|
||||
|
||||
:param body: Pet object that needs to be added to the store
|
||||
:type body: dict | bytes
|
||||
|
||||
:rtype: None
|
||||
"""
|
||||
if connexion.request.is_json:
|
||||
body = Pet.from_dict(connexion.request.get_json()) # noqa: E501
|
||||
return 'do some magic!'
|
||||
|
||||
|
||||
def delete_pet(pet_id, api_key=None): # noqa: E501
|
||||
"""Deletes a pet
|
||||
|
||||
# noqa: E501
|
||||
|
||||
:param pet_id: Pet id to delete
|
||||
:type pet_id: int
|
||||
:param api_key:
|
||||
:type api_key: str
|
||||
|
||||
:rtype: None
|
||||
"""
|
||||
return 'do some magic!'
|
||||
|
||||
|
||||
def find_pets_by_status(status): # noqa: E501
|
||||
"""Finds Pets by status
|
||||
|
||||
Multiple status values can be provided with comma separated strings # noqa: E501
|
||||
|
||||
:param status: Status values that need to be considered for filter
|
||||
:type status: List[str]
|
||||
|
||||
:rtype: List[Pet]
|
||||
"""
|
||||
return 'do some magic!'
|
||||
|
||||
|
||||
def find_pets_by_tags(tags): # noqa: E501
|
||||
"""Finds Pets by tags
|
||||
|
||||
Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. # noqa: E501
|
||||
|
||||
:param tags: Tags to filter by
|
||||
:type tags: List[str]
|
||||
|
||||
:rtype: List[Pet]
|
||||
"""
|
||||
return 'do some magic!'
|
||||
|
||||
|
||||
def get_pet_by_id(pet_id): # noqa: E501
|
||||
"""Find pet by ID
|
||||
|
||||
Returns a single pet # noqa: E501
|
||||
|
||||
:param pet_id: ID of pet to return
|
||||
:type pet_id: int
|
||||
|
||||
:rtype: Pet
|
||||
"""
|
||||
return 'do some magic!'
|
||||
|
||||
|
||||
def update_pet(body): # noqa: E501
|
||||
"""Update an existing pet
|
||||
|
||||
# noqa: E501
|
||||
|
||||
:param body: Pet object that needs to be added to the store
|
||||
:type body: dict | bytes
|
||||
|
||||
:rtype: None
|
||||
"""
|
||||
if connexion.request.is_json:
|
||||
body = Pet.from_dict(connexion.request.get_json()) # noqa: E501
|
||||
return 'do some magic!'
|
||||
|
||||
|
||||
def update_pet_with_form(pet_id, name=None, status=None): # noqa: E501
|
||||
"""Updates a pet in the store with form data
|
||||
|
||||
# noqa: E501
|
||||
|
||||
:param pet_id: ID of pet that needs to be updated
|
||||
:type pet_id: int
|
||||
:param name: Updated name of the pet
|
||||
:type name: str
|
||||
:param status: Updated status of the pet
|
||||
:type status: str
|
||||
|
||||
:rtype: None
|
||||
"""
|
||||
return 'do some magic!'
|
||||
|
||||
|
||||
def upload_file(pet_id, additional_metadata=None, file=None): # noqa: E501
|
||||
"""uploads an image
|
||||
|
||||
# noqa: E501
|
||||
|
||||
:param pet_id: ID of pet to update
|
||||
:type pet_id: int
|
||||
:param additional_metadata: Additional data to pass to server
|
||||
:type additional_metadata: str
|
||||
:param file: file to upload
|
||||
:type file: str
|
||||
|
||||
:rtype: ApiResponse
|
||||
"""
|
||||
return 'do some magic!'
|
@ -1,48 +0,0 @@
|
||||
from typing import List
|
||||
|
||||
|
||||
def info_from_api_key(api_key, required_scopes):
|
||||
"""
|
||||
Check and retrieve authentication information from api_key.
|
||||
Returned value will be passed in 'token_info' parameter of your operation function, if there is one.
|
||||
'sub' or 'uid' will be set in 'user' parameter of your operation function, if there is one.
|
||||
|
||||
:param api_key API key provided by Authorization header
|
||||
:type api_key: str
|
||||
:param required_scopes Always None. Used for other authentication method
|
||||
:type required_scopes: None
|
||||
:return: Information attached to provided api_key or None if api_key is invalid or does not allow access to called API
|
||||
:rtype: dict | None
|
||||
"""
|
||||
return {'uid': 'user_id'}
|
||||
|
||||
|
||||
def info_from_petstore_auth(token):
|
||||
"""
|
||||
Validate and decode token.
|
||||
Returned value will be passed in 'token_info' parameter of your operation function, if there is one.
|
||||
'sub' or 'uid' will be set in 'user' parameter of your operation function, if there is one.
|
||||
'scope' or 'scopes' will be passed to scope validation function.
|
||||
|
||||
:param token Token provided by Authorization header
|
||||
:type token: str
|
||||
:return: Decoded token information or None if token is invalid
|
||||
:rtype: dict | None
|
||||
"""
|
||||
return {'scopes': ['read:pets', 'write:pets'], 'uid': 'user_id'}
|
||||
|
||||
|
||||
def validate_scope_petstore_auth(required_scopes, token_scopes):
|
||||
"""
|
||||
Validate required scopes are included in token scope
|
||||
|
||||
:param required_scopes Required scope to access called API
|
||||
:type required_scopes: List[str]
|
||||
:param token_scopes Scope present in token
|
||||
:type token_scopes: List[str]
|
||||
:return: True if access to called API is allowed
|
||||
:rtype: bool
|
||||
"""
|
||||
return set(required_scopes).issubset(set(token_scopes))
|
||||
|
||||
|
@ -1,57 +0,0 @@
|
||||
import connexion
|
||||
import six
|
||||
|
||||
from openapi_server.models.order import Order # noqa: E501
|
||||
from openapi_server import util
|
||||
|
||||
|
||||
def delete_order(order_id): # noqa: E501
|
||||
"""Delete purchase order by ID
|
||||
|
||||
For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors # noqa: E501
|
||||
|
||||
:param order_id: ID of the order that needs to be deleted
|
||||
:type order_id: str
|
||||
|
||||
:rtype: None
|
||||
"""
|
||||
return 'do some magic!'
|
||||
|
||||
|
||||
def get_inventory(): # noqa: E501
|
||||
"""Returns pet inventories by status
|
||||
|
||||
Returns a map of status codes to quantities # noqa: E501
|
||||
|
||||
|
||||
:rtype: Dict[str, int]
|
||||
"""
|
||||
return 'do some magic!'
|
||||
|
||||
|
||||
def get_order_by_id(order_id): # noqa: E501
|
||||
"""Find purchase order by ID
|
||||
|
||||
For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions # noqa: E501
|
||||
|
||||
:param order_id: ID of pet that needs to be fetched
|
||||
:type order_id: int
|
||||
|
||||
:rtype: Order
|
||||
"""
|
||||
return 'do some magic!'
|
||||
|
||||
|
||||
def place_order(body): # noqa: E501
|
||||
"""Place an order for a pet
|
||||
|
||||
# noqa: E501
|
||||
|
||||
:param body: order placed for purchasing the pet
|
||||
:type body: dict | bytes
|
||||
|
||||
:rtype: Order
|
||||
"""
|
||||
if connexion.request.is_json:
|
||||
body = Order.from_dict(connexion.request.get_json()) # noqa: E501
|
||||
return 'do some magic!'
|
@ -1,119 +0,0 @@
|
||||
import connexion
|
||||
import six
|
||||
|
||||
from openapi_server.models.user import User # noqa: E501
|
||||
from openapi_server import util
|
||||
|
||||
|
||||
def create_user(body): # noqa: E501
|
||||
"""Create user
|
||||
|
||||
This can only be done by the logged in user. # noqa: E501
|
||||
|
||||
:param body: Created user object
|
||||
:type body: dict | bytes
|
||||
|
||||
:rtype: None
|
||||
"""
|
||||
if connexion.request.is_json:
|
||||
body = User.from_dict(connexion.request.get_json()) # noqa: E501
|
||||
return 'do some magic!'
|
||||
|
||||
|
||||
def create_users_with_array_input(body): # noqa: E501
|
||||
"""Creates list of users with given input array
|
||||
|
||||
# noqa: E501
|
||||
|
||||
:param body: List of user object
|
||||
:type body: list | bytes
|
||||
|
||||
:rtype: None
|
||||
"""
|
||||
if connexion.request.is_json:
|
||||
body = [User.from_dict(d) for d in connexion.request.get_json()] # noqa: E501
|
||||
return 'do some magic!'
|
||||
|
||||
|
||||
def create_users_with_list_input(body): # noqa: E501
|
||||
"""Creates list of users with given input array
|
||||
|
||||
# noqa: E501
|
||||
|
||||
:param body: List of user object
|
||||
:type body: list | bytes
|
||||
|
||||
:rtype: None
|
||||
"""
|
||||
if connexion.request.is_json:
|
||||
body = [User.from_dict(d) for d in connexion.request.get_json()] # noqa: E501
|
||||
return 'do some magic!'
|
||||
|
||||
|
||||
def delete_user(username): # noqa: E501
|
||||
"""Delete user
|
||||
|
||||
This can only be done by the logged in user. # noqa: E501
|
||||
|
||||
:param username: The name that needs to be deleted
|
||||
:type username: str
|
||||
|
||||
:rtype: None
|
||||
"""
|
||||
return 'do some magic!'
|
||||
|
||||
|
||||
def get_user_by_name(username): # noqa: E501
|
||||
"""Get user by user name
|
||||
|
||||
# noqa: E501
|
||||
|
||||
:param username: The name that needs to be fetched. Use user1 for testing.
|
||||
:type username: str
|
||||
|
||||
:rtype: User
|
||||
"""
|
||||
return 'do some magic!'
|
||||
|
||||
|
||||
def login_user(username, password): # noqa: E501
|
||||
"""Logs user into the system
|
||||
|
||||
# noqa: E501
|
||||
|
||||
:param username: The user name for login
|
||||
:type username: str
|
||||
:param password: The password for login in clear text
|
||||
:type password: str
|
||||
|
||||
:rtype: str
|
||||
"""
|
||||
return 'do some magic!'
|
||||
|
||||
|
||||
def logout_user(): # noqa: E501
|
||||
"""Logs out current logged in user session
|
||||
|
||||
# noqa: E501
|
||||
|
||||
|
||||
:rtype: None
|
||||
"""
|
||||
return 'do some magic!'
|
||||
|
||||
|
||||
def update_user(username, body): # noqa: E501
|
||||
"""Updated user
|
||||
|
||||
This can only be done by the logged in user. # noqa: E501
|
||||
|
||||
:param username: name that need to be deleted
|
||||
:type username: str
|
||||
:param body: Updated user object
|
||||
:type body: dict | bytes
|
||||
|
||||
:rtype: None
|
||||
"""
|
||||
if connexion.request.is_json:
|
||||
body = User.from_dict(connexion.request.get_json()) # noqa: E501
|
||||
return 'do some magic!'
|
@ -1,20 +0,0 @@
|
||||
from connexion.apps.flask_app import FlaskJSONEncoder
|
||||
import six
|
||||
|
||||
from openapi_server.models.base_model_ import Model
|
||||
|
||||
|
||||
class JSONEncoder(FlaskJSONEncoder):
|
||||
include_nulls = False
|
||||
|
||||
def default(self, o):
|
||||
if isinstance(o, Model):
|
||||
dikt = {}
|
||||
for attr, _ in six.iteritems(o.openapi_types):
|
||||
value = getattr(o, attr)
|
||||
if value is None and not self.include_nulls:
|
||||
continue
|
||||
attr = o.attribute_map[attr]
|
||||
dikt[attr] = value
|
||||
return dikt
|
||||
return FlaskJSONEncoder.default(self, o)
|
@ -1,11 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
# flake8: noqa
|
||||
from __future__ import absolute_import
|
||||
# import models into model package
|
||||
from openapi_server.models.api_response import ApiResponse
|
||||
from openapi_server.models.category import Category
|
||||
from openapi_server.models.order import Order
|
||||
from openapi_server.models.pet import Pet
|
||||
from openapi_server.models.tag import Tag
|
||||
from openapi_server.models.user import User
|
@ -1,116 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
from __future__ import absolute_import
|
||||
from datetime import date, datetime # noqa: F401
|
||||
|
||||
from typing import List, Dict # noqa: F401
|
||||
|
||||
from openapi_server.models.base_model_ import Model
|
||||
from openapi_server import util
|
||||
|
||||
|
||||
class ApiResponse(Model):
|
||||
"""NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
Do not edit the class manually.
|
||||
"""
|
||||
|
||||
def __init__(self, code=None, type=None, message=None): # noqa: E501
|
||||
"""ApiResponse - a model defined in OpenAPI
|
||||
|
||||
:param code: The code of this ApiResponse. # noqa: E501
|
||||
:type code: int
|
||||
:param type: The type of this ApiResponse. # noqa: E501
|
||||
:type type: str
|
||||
:param message: The message of this ApiResponse. # noqa: E501
|
||||
:type message: str
|
||||
"""
|
||||
self.openapi_types = {
|
||||
'code': int,
|
||||
'type': str,
|
||||
'message': str
|
||||
}
|
||||
|
||||
self.attribute_map = {
|
||||
'code': 'code',
|
||||
'type': 'type',
|
||||
'message': 'message'
|
||||
}
|
||||
|
||||
self._code = code
|
||||
self._type = type
|
||||
self._message = message
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, dikt):
|
||||
"""Returns the dict as a model
|
||||
|
||||
:param dikt: A dict.
|
||||
:type: dict
|
||||
:return: The ApiResponse of this ApiResponse. # noqa: E501
|
||||
:rtype: ApiResponse
|
||||
"""
|
||||
return util.deserialize_model(dikt, cls)
|
||||
|
||||
@property
|
||||
def code(self):
|
||||
"""Gets the code of this ApiResponse.
|
||||
|
||||
|
||||
:return: The code of this ApiResponse.
|
||||
:rtype: int
|
||||
"""
|
||||
return self._code
|
||||
|
||||
@code.setter
|
||||
def code(self, code):
|
||||
"""Sets the code of this ApiResponse.
|
||||
|
||||
|
||||
:param code: The code of this ApiResponse.
|
||||
:type code: int
|
||||
"""
|
||||
|
||||
self._code = code
|
||||
|
||||
@property
|
||||
def type(self):
|
||||
"""Gets the type of this ApiResponse.
|
||||
|
||||
|
||||
:return: The type of this ApiResponse.
|
||||
:rtype: str
|
||||
"""
|
||||
return self._type
|
||||
|
||||
@type.setter
|
||||
def type(self, type):
|
||||
"""Sets the type of this ApiResponse.
|
||||
|
||||
|
||||
:param type: The type of this ApiResponse.
|
||||
:type type: str
|
||||
"""
|
||||
|
||||
self._type = type
|
||||
|
||||
@property
|
||||
def message(self):
|
||||
"""Gets the message of this ApiResponse.
|
||||
|
||||
|
||||
:return: The message of this ApiResponse.
|
||||
:rtype: str
|
||||
"""
|
||||
return self._message
|
||||
|
||||
@message.setter
|
||||
def message(self, message):
|
||||
"""Sets the message of this ApiResponse.
|
||||
|
||||
|
||||
:param message: The message of this ApiResponse.
|
||||
:type message: str
|
||||
"""
|
||||
|
||||
self._message = message
|
@ -1,66 +0,0 @@
|
||||
import pprint
|
||||
|
||||
import six
|
||||
|
||||
from openapi_server import util
|
||||
|
||||
|
||||
class Model(object):
|
||||
# openapiTypes: The key is attribute name and the
|
||||
# value is attribute type.
|
||||
openapi_types = {}
|
||||
|
||||
# attributeMap: The key is attribute name and the
|
||||
# value is json key in definition.
|
||||
attribute_map = {}
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, dikt):
|
||||
"""Returns the dict as a model"""
|
||||
return util.deserialize_model(dikt, cls)
|
||||
|
||||
def to_dict(self):
|
||||
"""Returns the model properties as a dict
|
||||
|
||||
:rtype: dict
|
||||
"""
|
||||
result = {}
|
||||
|
||||
for attr, _ in six.iteritems(self.openapi_types):
|
||||
value = getattr(self, attr)
|
||||
if isinstance(value, list):
|
||||
result[attr] = list(map(
|
||||
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
|
||||
value
|
||||
))
|
||||
elif hasattr(value, "to_dict"):
|
||||
result[attr] = value.to_dict()
|
||||
elif isinstance(value, dict):
|
||||
result[attr] = dict(map(
|
||||
lambda item: (item[0], item[1].to_dict())
|
||||
if hasattr(item[1], "to_dict") else item,
|
||||
value.items()
|
||||
))
|
||||
else:
|
||||
result[attr] = value
|
||||
|
||||
return result
|
||||
|
||||
def to_str(self):
|
||||
"""Returns the string representation of the model
|
||||
|
||||
:rtype: str
|
||||
"""
|
||||
return pprint.pformat(self.to_dict())
|
||||
|
||||
def __repr__(self):
|
||||
"""For `print` and `pprint`"""
|
||||
return self.to_str()
|
||||
|
||||
def __eq__(self, other):
|
||||
"""Returns true if both objects are equal"""
|
||||
return self.__dict__ == other.__dict__
|
||||
|
||||
def __ne__(self, other):
|
||||
"""Returns true if both objects are not equal"""
|
||||
return not self == other
|
@ -1,90 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
from __future__ import absolute_import
|
||||
from datetime import date, datetime # noqa: F401
|
||||
|
||||
from typing import List, Dict # noqa: F401
|
||||
|
||||
from openapi_server.models.base_model_ import Model
|
||||
from openapi_server import util
|
||||
|
||||
|
||||
class Category(Model):
|
||||
"""NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
Do not edit the class manually.
|
||||
"""
|
||||
|
||||
def __init__(self, id=None, name=None): # noqa: E501
|
||||
"""Category - a model defined in OpenAPI
|
||||
|
||||
:param id: The id of this Category. # noqa: E501
|
||||
:type id: long
|
||||
:param name: The name of this Category. # noqa: E501
|
||||
:type name: str
|
||||
"""
|
||||
self.openapi_types = {
|
||||
'id': long,
|
||||
'name': str
|
||||
}
|
||||
|
||||
self.attribute_map = {
|
||||
'id': 'id',
|
||||
'name': 'name'
|
||||
}
|
||||
|
||||
self._id = id
|
||||
self._name = name
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, dikt):
|
||||
"""Returns the dict as a model
|
||||
|
||||
:param dikt: A dict.
|
||||
:type: dict
|
||||
:return: The Category of this Category. # noqa: E501
|
||||
:rtype: Category
|
||||
"""
|
||||
return util.deserialize_model(dikt, cls)
|
||||
|
||||
@property
|
||||
def id(self):
|
||||
"""Gets the id of this Category.
|
||||
|
||||
|
||||
:return: The id of this Category.
|
||||
:rtype: long
|
||||
"""
|
||||
return self._id
|
||||
|
||||
@id.setter
|
||||
def id(self, id):
|
||||
"""Sets the id of this Category.
|
||||
|
||||
|
||||
:param id: The id of this Category.
|
||||
:type id: long
|
||||
"""
|
||||
|
||||
self._id = id
|
||||
|
||||
@property
|
||||
def name(self):
|
||||
"""Gets the name of this Category.
|
||||
|
||||
|
||||
:return: The name of this Category.
|
||||
:rtype: str
|
||||
"""
|
||||
return self._name
|
||||
|
||||
@name.setter
|
||||
def name(self, name):
|
||||
"""Sets the name of this Category.
|
||||
|
||||
|
||||
:param name: The name of this Category.
|
||||
:type name: str
|
||||
"""
|
||||
|
||||
self._name = name
|
@ -1,202 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
from __future__ import absolute_import
|
||||
from datetime import date, datetime # noqa: F401
|
||||
|
||||
from typing import List, Dict # noqa: F401
|
||||
|
||||
from openapi_server.models.base_model_ import Model
|
||||
from openapi_server import util
|
||||
|
||||
|
||||
class Order(Model):
|
||||
"""NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
Do not edit the class manually.
|
||||
"""
|
||||
|
||||
def __init__(self, id=None, pet_id=None, quantity=None, ship_date=None, status=None, complete=False): # noqa: E501
|
||||
"""Order - a model defined in OpenAPI
|
||||
|
||||
:param id: The id of this Order. # noqa: E501
|
||||
:type id: long
|
||||
:param pet_id: The pet_id of this Order. # noqa: E501
|
||||
:type pet_id: long
|
||||
:param quantity: The quantity of this Order. # noqa: E501
|
||||
:type quantity: int
|
||||
:param ship_date: The ship_date of this Order. # noqa: E501
|
||||
:type ship_date: datetime
|
||||
:param status: The status of this Order. # noqa: E501
|
||||
:type status: str
|
||||
:param complete: The complete of this Order. # noqa: E501
|
||||
:type complete: bool
|
||||
"""
|
||||
self.openapi_types = {
|
||||
'id': long,
|
||||
'pet_id': long,
|
||||
'quantity': int,
|
||||
'ship_date': datetime,
|
||||
'status': str,
|
||||
'complete': bool
|
||||
}
|
||||
|
||||
self.attribute_map = {
|
||||
'id': 'id',
|
||||
'pet_id': 'petId',
|
||||
'quantity': 'quantity',
|
||||
'ship_date': 'shipDate',
|
||||
'status': 'status',
|
||||
'complete': 'complete'
|
||||
}
|
||||
|
||||
self._id = id
|
||||
self._pet_id = pet_id
|
||||
self._quantity = quantity
|
||||
self._ship_date = ship_date
|
||||
self._status = status
|
||||
self._complete = complete
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, dikt):
|
||||
"""Returns the dict as a model
|
||||
|
||||
:param dikt: A dict.
|
||||
:type: dict
|
||||
:return: The Order of this Order. # noqa: E501
|
||||
:rtype: Order
|
||||
"""
|
||||
return util.deserialize_model(dikt, cls)
|
||||
|
||||
@property
|
||||
def id(self):
|
||||
"""Gets the id of this Order.
|
||||
|
||||
|
||||
:return: The id of this Order.
|
||||
:rtype: long
|
||||
"""
|
||||
return self._id
|
||||
|
||||
@id.setter
|
||||
def id(self, id):
|
||||
"""Sets the id of this Order.
|
||||
|
||||
|
||||
:param id: The id of this Order.
|
||||
:type id: long
|
||||
"""
|
||||
|
||||
self._id = id
|
||||
|
||||
@property
|
||||
def pet_id(self):
|
||||
"""Gets the pet_id of this Order.
|
||||
|
||||
|
||||
:return: The pet_id of this Order.
|
||||
:rtype: long
|
||||
"""
|
||||
return self._pet_id
|
||||
|
||||
@pet_id.setter
|
||||
def pet_id(self, pet_id):
|
||||
"""Sets the pet_id of this Order.
|
||||
|
||||
|
||||
:param pet_id: The pet_id of this Order.
|
||||
:type pet_id: long
|
||||
"""
|
||||
|
||||
self._pet_id = pet_id
|
||||
|
||||
@property
|
||||
def quantity(self):
|
||||
"""Gets the quantity of this Order.
|
||||
|
||||
|
||||
:return: The quantity of this Order.
|
||||
:rtype: int
|
||||
"""
|
||||
return self._quantity
|
||||
|
||||
@quantity.setter
|
||||
def quantity(self, quantity):
|
||||
"""Sets the quantity of this Order.
|
||||
|
||||
|
||||
:param quantity: The quantity of this Order.
|
||||
:type quantity: int
|
||||
"""
|
||||
|
||||
self._quantity = quantity
|
||||
|
||||
@property
|
||||
def ship_date(self):
|
||||
"""Gets the ship_date of this Order.
|
||||
|
||||
|
||||
:return: The ship_date of this Order.
|
||||
:rtype: datetime
|
||||
"""
|
||||
return self._ship_date
|
||||
|
||||
@ship_date.setter
|
||||
def ship_date(self, ship_date):
|
||||
"""Sets the ship_date of this Order.
|
||||
|
||||
|
||||
:param ship_date: The ship_date of this Order.
|
||||
:type ship_date: datetime
|
||||
"""
|
||||
|
||||
self._ship_date = ship_date
|
||||
|
||||
@property
|
||||
def status(self):
|
||||
"""Gets the status of this Order.
|
||||
|
||||
Order Status # noqa: E501
|
||||
|
||||
:return: The status of this Order.
|
||||
:rtype: str
|
||||
"""
|
||||
return self._status
|
||||
|
||||
@status.setter
|
||||
def status(self, status):
|
||||
"""Sets the status of this Order.
|
||||
|
||||
Order Status # noqa: E501
|
||||
|
||||
:param status: The status of this Order.
|
||||
:type status: str
|
||||
"""
|
||||
allowed_values = ["placed", "approved", "delivered"] # noqa: E501
|
||||
if status not in allowed_values:
|
||||
raise ValueError(
|
||||
"Invalid value for `status` ({0}), must be one of {1}"
|
||||
.format(status, allowed_values)
|
||||
)
|
||||
|
||||
self._status = status
|
||||
|
||||
@property
|
||||
def complete(self):
|
||||
"""Gets the complete of this Order.
|
||||
|
||||
|
||||
:return: The complete of this Order.
|
||||
:rtype: bool
|
||||
"""
|
||||
return self._complete
|
||||
|
||||
@complete.setter
|
||||
def complete(self, complete):
|
||||
"""Sets the complete of this Order.
|
||||
|
||||
|
||||
:param complete: The complete of this Order.
|
||||
:type complete: bool
|
||||
"""
|
||||
|
||||
self._complete = complete
|
@ -1,210 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
from __future__ import absolute_import
|
||||
from datetime import date, datetime # noqa: F401
|
||||
|
||||
from typing import List, Dict # noqa: F401
|
||||
|
||||
from openapi_server.models.base_model_ import Model
|
||||
from openapi_server.models.category import Category
|
||||
from openapi_server.models.tag import Tag
|
||||
from openapi_server import util
|
||||
|
||||
from openapi_server.models.category import Category # noqa: E501
|
||||
from openapi_server.models.tag import Tag # noqa: E501
|
||||
|
||||
class Pet(Model):
|
||||
"""NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
Do not edit the class manually.
|
||||
"""
|
||||
|
||||
def __init__(self, id=None, category=None, name=None, photo_urls=None, tags=None, status=None): # noqa: E501
|
||||
"""Pet - a model defined in OpenAPI
|
||||
|
||||
:param id: The id of this Pet. # noqa: E501
|
||||
:type id: long
|
||||
:param category: The category of this Pet. # noqa: E501
|
||||
:type category: Category
|
||||
:param name: The name of this Pet. # noqa: E501
|
||||
:type name: str
|
||||
:param photo_urls: The photo_urls of this Pet. # noqa: E501
|
||||
:type photo_urls: List[str]
|
||||
:param tags: The tags of this Pet. # noqa: E501
|
||||
:type tags: List[Tag]
|
||||
:param status: The status of this Pet. # noqa: E501
|
||||
:type status: str
|
||||
"""
|
||||
self.openapi_types = {
|
||||
'id': long,
|
||||
'category': Category,
|
||||
'name': str,
|
||||
'photo_urls': List[str],
|
||||
'tags': List[Tag],
|
||||
'status': str
|
||||
}
|
||||
|
||||
self.attribute_map = {
|
||||
'id': 'id',
|
||||
'category': 'category',
|
||||
'name': 'name',
|
||||
'photo_urls': 'photoUrls',
|
||||
'tags': 'tags',
|
||||
'status': 'status'
|
||||
}
|
||||
|
||||
self._id = id
|
||||
self._category = category
|
||||
self._name = name
|
||||
self._photo_urls = photo_urls
|
||||
self._tags = tags
|
||||
self._status = status
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, dikt):
|
||||
"""Returns the dict as a model
|
||||
|
||||
:param dikt: A dict.
|
||||
:type: dict
|
||||
:return: The Pet of this Pet. # noqa: E501
|
||||
:rtype: Pet
|
||||
"""
|
||||
return util.deserialize_model(dikt, cls)
|
||||
|
||||
@property
|
||||
def id(self):
|
||||
"""Gets the id of this Pet.
|
||||
|
||||
|
||||
:return: The id of this Pet.
|
||||
:rtype: long
|
||||
"""
|
||||
return self._id
|
||||
|
||||
@id.setter
|
||||
def id(self, id):
|
||||
"""Sets the id of this Pet.
|
||||
|
||||
|
||||
:param id: The id of this Pet.
|
||||
:type id: long
|
||||
"""
|
||||
|
||||
self._id = id
|
||||
|
||||
@property
|
||||
def category(self):
|
||||
"""Gets the category of this Pet.
|
||||
|
||||
|
||||
:return: The category of this Pet.
|
||||
:rtype: Category
|
||||
"""
|
||||
return self._category
|
||||
|
||||
@category.setter
|
||||
def category(self, category):
|
||||
"""Sets the category of this Pet.
|
||||
|
||||
|
||||
:param category: The category of this Pet.
|
||||
:type category: Category
|
||||
"""
|
||||
|
||||
self._category = category
|
||||
|
||||
@property
|
||||
def name(self):
|
||||
"""Gets the name of this Pet.
|
||||
|
||||
|
||||
:return: The name of this Pet.
|
||||
:rtype: str
|
||||
"""
|
||||
return self._name
|
||||
|
||||
@name.setter
|
||||
def name(self, name):
|
||||
"""Sets the name of this Pet.
|
||||
|
||||
|
||||
:param name: The name of this Pet.
|
||||
:type name: str
|
||||
"""
|
||||
if name is None:
|
||||
raise ValueError("Invalid value for `name`, must not be `None`") # noqa: E501
|
||||
|
||||
self._name = name
|
||||
|
||||
@property
|
||||
def photo_urls(self):
|
||||
"""Gets the photo_urls of this Pet.
|
||||
|
||||
|
||||
:return: The photo_urls of this Pet.
|
||||
:rtype: List[str]
|
||||
"""
|
||||
return self._photo_urls
|
||||
|
||||
@photo_urls.setter
|
||||
def photo_urls(self, photo_urls):
|
||||
"""Sets the photo_urls of this Pet.
|
||||
|
||||
|
||||
:param photo_urls: The photo_urls of this Pet.
|
||||
:type photo_urls: List[str]
|
||||
"""
|
||||
if photo_urls is None:
|
||||
raise ValueError("Invalid value for `photo_urls`, must not be `None`") # noqa: E501
|
||||
|
||||
self._photo_urls = photo_urls
|
||||
|
||||
@property
|
||||
def tags(self):
|
||||
"""Gets the tags of this Pet.
|
||||
|
||||
|
||||
:return: The tags of this Pet.
|
||||
:rtype: List[Tag]
|
||||
"""
|
||||
return self._tags
|
||||
|
||||
@tags.setter
|
||||
def tags(self, tags):
|
||||
"""Sets the tags of this Pet.
|
||||
|
||||
|
||||
:param tags: The tags of this Pet.
|
||||
:type tags: List[Tag]
|
||||
"""
|
||||
|
||||
self._tags = tags
|
||||
|
||||
@property
|
||||
def status(self):
|
||||
"""Gets the status of this Pet.
|
||||
|
||||
pet status in the store # noqa: E501
|
||||
|
||||
:return: The status of this Pet.
|
||||
:rtype: str
|
||||
"""
|
||||
return self._status
|
||||
|
||||
@status.setter
|
||||
def status(self, status):
|
||||
"""Sets the status of this Pet.
|
||||
|
||||
pet status in the store # noqa: E501
|
||||
|
||||
:param status: The status of this Pet.
|
||||
:type status: str
|
||||
"""
|
||||
allowed_values = ["available", "pending", "sold"] # noqa: E501
|
||||
if status not in allowed_values:
|
||||
raise ValueError(
|
||||
"Invalid value for `status` ({0}), must be one of {1}"
|
||||
.format(status, allowed_values)
|
||||
)
|
||||
|
||||
self._status = status
|
@ -1,90 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
from __future__ import absolute_import
|
||||
from datetime import date, datetime # noqa: F401
|
||||
|
||||
from typing import List, Dict # noqa: F401
|
||||
|
||||
from openapi_server.models.base_model_ import Model
|
||||
from openapi_server import util
|
||||
|
||||
|
||||
class Tag(Model):
|
||||
"""NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
Do not edit the class manually.
|
||||
"""
|
||||
|
||||
def __init__(self, id=None, name=None): # noqa: E501
|
||||
"""Tag - a model defined in OpenAPI
|
||||
|
||||
:param id: The id of this Tag. # noqa: E501
|
||||
:type id: long
|
||||
:param name: The name of this Tag. # noqa: E501
|
||||
:type name: str
|
||||
"""
|
||||
self.openapi_types = {
|
||||
'id': long,
|
||||
'name': str
|
||||
}
|
||||
|
||||
self.attribute_map = {
|
||||
'id': 'id',
|
||||
'name': 'name'
|
||||
}
|
||||
|
||||
self._id = id
|
||||
self._name = name
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, dikt):
|
||||
"""Returns the dict as a model
|
||||
|
||||
:param dikt: A dict.
|
||||
:type: dict
|
||||
:return: The Tag of this Tag. # noqa: E501
|
||||
:rtype: Tag
|
||||
"""
|
||||
return util.deserialize_model(dikt, cls)
|
||||
|
||||
@property
|
||||
def id(self):
|
||||
"""Gets the id of this Tag.
|
||||
|
||||
|
||||
:return: The id of this Tag.
|
||||
:rtype: long
|
||||
"""
|
||||
return self._id
|
||||
|
||||
@id.setter
|
||||
def id(self, id):
|
||||
"""Sets the id of this Tag.
|
||||
|
||||
|
||||
:param id: The id of this Tag.
|
||||
:type id: long
|
||||
"""
|
||||
|
||||
self._id = id
|
||||
|
||||
@property
|
||||
def name(self):
|
||||
"""Gets the name of this Tag.
|
||||
|
||||
|
||||
:return: The name of this Tag.
|
||||
:rtype: str
|
||||
"""
|
||||
return self._name
|
||||
|
||||
@name.setter
|
||||
def name(self, name):
|
||||
"""Sets the name of this Tag.
|
||||
|
||||
|
||||
:param name: The name of this Tag.
|
||||
:type name: str
|
||||
"""
|
||||
|
||||
self._name = name
|
@ -1,248 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
from __future__ import absolute_import
|
||||
from datetime import date, datetime # noqa: F401
|
||||
|
||||
from typing import List, Dict # noqa: F401
|
||||
|
||||
from openapi_server.models.base_model_ import Model
|
||||
from openapi_server import util
|
||||
|
||||
|
||||
class User(Model):
|
||||
"""NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
Do not edit the class manually.
|
||||
"""
|
||||
|
||||
def __init__(self, id=None, username=None, first_name=None, last_name=None, email=None, password=None, phone=None, user_status=None): # noqa: E501
|
||||
"""User - a model defined in OpenAPI
|
||||
|
||||
:param id: The id of this User. # noqa: E501
|
||||
:type id: long
|
||||
:param username: The username of this User. # noqa: E501
|
||||
:type username: str
|
||||
:param first_name: The first_name of this User. # noqa: E501
|
||||
:type first_name: str
|
||||
:param last_name: The last_name of this User. # noqa: E501
|
||||
:type last_name: str
|
||||
:param email: The email of this User. # noqa: E501
|
||||
:type email: str
|
||||
:param password: The password of this User. # noqa: E501
|
||||
:type password: str
|
||||
:param phone: The phone of this User. # noqa: E501
|
||||
:type phone: str
|
||||
:param user_status: The user_status of this User. # noqa: E501
|
||||
:type user_status: int
|
||||
"""
|
||||
self.openapi_types = {
|
||||
'id': long,
|
||||
'username': str,
|
||||
'first_name': str,
|
||||
'last_name': str,
|
||||
'email': str,
|
||||
'password': str,
|
||||
'phone': str,
|
||||
'user_status': int
|
||||
}
|
||||
|
||||
self.attribute_map = {
|
||||
'id': 'id',
|
||||
'username': 'username',
|
||||
'first_name': 'firstName',
|
||||
'last_name': 'lastName',
|
||||
'email': 'email',
|
||||
'password': 'password',
|
||||
'phone': 'phone',
|
||||
'user_status': 'userStatus'
|
||||
}
|
||||
|
||||
self._id = id
|
||||
self._username = username
|
||||
self._first_name = first_name
|
||||
self._last_name = last_name
|
||||
self._email = email
|
||||
self._password = password
|
||||
self._phone = phone
|
||||
self._user_status = user_status
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, dikt):
|
||||
"""Returns the dict as a model
|
||||
|
||||
:param dikt: A dict.
|
||||
:type: dict
|
||||
:return: The User of this User. # noqa: E501
|
||||
:rtype: User
|
||||
"""
|
||||
return util.deserialize_model(dikt, cls)
|
||||
|
||||
@property
|
||||
def id(self):
|
||||
"""Gets the id of this User.
|
||||
|
||||
|
||||
:return: The id of this User.
|
||||
:rtype: long
|
||||
"""
|
||||
return self._id
|
||||
|
||||
@id.setter
|
||||
def id(self, id):
|
||||
"""Sets the id of this User.
|
||||
|
||||
|
||||
:param id: The id of this User.
|
||||
:type id: long
|
||||
"""
|
||||
|
||||
self._id = id
|
||||
|
||||
@property
|
||||
def username(self):
|
||||
"""Gets the username of this User.
|
||||
|
||||
|
||||
:return: The username of this User.
|
||||
:rtype: str
|
||||
"""
|
||||
return self._username
|
||||
|
||||
@username.setter
|
||||
def username(self, username):
|
||||
"""Sets the username of this User.
|
||||
|
||||
|
||||
:param username: The username of this User.
|
||||
:type username: str
|
||||
"""
|
||||
|
||||
self._username = username
|
||||
|
||||
@property
|
||||
def first_name(self):
|
||||
"""Gets the first_name of this User.
|
||||
|
||||
|
||||
:return: The first_name of this User.
|
||||
:rtype: str
|
||||
"""
|
||||
return self._first_name
|
||||
|
||||
@first_name.setter
|
||||
def first_name(self, first_name):
|
||||
"""Sets the first_name of this User.
|
||||
|
||||
|
||||
:param first_name: The first_name of this User.
|
||||
:type first_name: str
|
||||
"""
|
||||
|
||||
self._first_name = first_name
|
||||
|
||||
@property
|
||||
def last_name(self):
|
||||
"""Gets the last_name of this User.
|
||||
|
||||
|
||||
:return: The last_name of this User.
|
||||
:rtype: str
|
||||
"""
|
||||
return self._last_name
|
||||
|
||||
@last_name.setter
|
||||
def last_name(self, last_name):
|
||||
"""Sets the last_name of this User.
|
||||
|
||||
|
||||
:param last_name: The last_name of this User.
|
||||
:type last_name: str
|
||||
"""
|
||||
|
||||
self._last_name = last_name
|
||||
|
||||
@property
|
||||
def email(self):
|
||||
"""Gets the email of this User.
|
||||
|
||||
|
||||
:return: The email of this User.
|
||||
:rtype: str
|
||||
"""
|
||||
return self._email
|
||||
|
||||
@email.setter
|
||||
def email(self, email):
|
||||
"""Sets the email of this User.
|
||||
|
||||
|
||||
:param email: The email of this User.
|
||||
:type email: str
|
||||
"""
|
||||
|
||||
self._email = email
|
||||
|
||||
@property
|
||||
def password(self):
|
||||
"""Gets the password of this User.
|
||||
|
||||
|
||||
:return: The password of this User.
|
||||
:rtype: str
|
||||
"""
|
||||
return self._password
|
||||
|
||||
@password.setter
|
||||
def password(self, password):
|
||||
"""Sets the password of this User.
|
||||
|
||||
|
||||
:param password: The password of this User.
|
||||
:type password: str
|
||||
"""
|
||||
|
||||
self._password = password
|
||||
|
||||
@property
|
||||
def phone(self):
|
||||
"""Gets the phone of this User.
|
||||
|
||||
|
||||
:return: The phone of this User.
|
||||
:rtype: str
|
||||
"""
|
||||
return self._phone
|
||||
|
||||
@phone.setter
|
||||
def phone(self, phone):
|
||||
"""Sets the phone of this User.
|
||||
|
||||
|
||||
:param phone: The phone of this User.
|
||||
:type phone: str
|
||||
"""
|
||||
|
||||
self._phone = phone
|
||||
|
||||
@property
|
||||
def user_status(self):
|
||||
"""Gets the user_status of this User.
|
||||
|
||||
User Status # noqa: E501
|
||||
|
||||
:return: The user_status of this User.
|
||||
:rtype: int
|
||||
"""
|
||||
return self._user_status
|
||||
|
||||
@user_status.setter
|
||||
def user_status(self, user_status):
|
||||
"""Sets the user_status of this User.
|
||||
|
||||
User Status # noqa: E501
|
||||
|
||||
:param user_status: The user_status of this User.
|
||||
:type user_status: int
|
||||
"""
|
||||
|
||||
self._user_status = user_status
|
@ -1,785 +0,0 @@
|
||||
openapi: 3.0.1
|
||||
info:
|
||||
description: This is a sample server Petstore server. For this sample, you can use
|
||||
the api key `special-key` to test the authorization filters.
|
||||
license:
|
||||
name: Apache-2.0
|
||||
url: https://www.apache.org/licenses/LICENSE-2.0.html
|
||||
title: OpenAPI Petstore
|
||||
version: 1.0.0
|
||||
servers:
|
||||
- url: http://petstore.swagger.io/v2
|
||||
tags:
|
||||
- description: Everything about your Pets
|
||||
name: pet
|
||||
- description: Access to Petstore orders
|
||||
name: store
|
||||
- description: Operations about user
|
||||
name: user
|
||||
paths:
|
||||
/pet:
|
||||
post:
|
||||
operationId: add_pet
|
||||
requestBody:
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Pet'
|
||||
application/xml:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Pet'
|
||||
description: Pet object that needs to be added to the store
|
||||
required: true
|
||||
responses:
|
||||
"405":
|
||||
content: {}
|
||||
description: Invalid input
|
||||
security:
|
||||
- petstore_auth:
|
||||
- write:pets
|
||||
- read:pets
|
||||
summary: Add a new pet to the store
|
||||
tags:
|
||||
- pet
|
||||
x-codegen-request-body-name: body
|
||||
x-openapi-router-controller: openapi_server.controllers.pet_controller
|
||||
put:
|
||||
operationId: update_pet
|
||||
requestBody:
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Pet'
|
||||
application/xml:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Pet'
|
||||
description: Pet object that needs to be added to the store
|
||||
required: true
|
||||
responses:
|
||||
"400":
|
||||
content: {}
|
||||
description: Invalid ID supplied
|
||||
"404":
|
||||
content: {}
|
||||
description: Pet not found
|
||||
"405":
|
||||
content: {}
|
||||
description: Validation exception
|
||||
security:
|
||||
- petstore_auth:
|
||||
- write:pets
|
||||
- read:pets
|
||||
summary: Update an existing pet
|
||||
tags:
|
||||
- pet
|
||||
x-codegen-request-body-name: body
|
||||
x-openapi-router-controller: openapi_server.controllers.pet_controller
|
||||
/pet/findByStatus:
|
||||
get:
|
||||
description: Multiple status values can be provided with comma separated strings
|
||||
operationId: find_pets_by_status
|
||||
parameters:
|
||||
- description: Status values that need to be considered for filter
|
||||
explode: false
|
||||
in: query
|
||||
name: status
|
||||
required: true
|
||||
schema:
|
||||
items:
|
||||
default: available
|
||||
enum:
|
||||
- available
|
||||
- pending
|
||||
- sold
|
||||
type: string
|
||||
type: array
|
||||
style: form
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
application/xml:
|
||||
schema:
|
||||
items:
|
||||
$ref: '#/components/schemas/Pet'
|
||||
type: array
|
||||
application/json:
|
||||
schema:
|
||||
items:
|
||||
$ref: '#/components/schemas/Pet'
|
||||
type: array
|
||||
description: successful operation
|
||||
"400":
|
||||
content: {}
|
||||
description: Invalid status value
|
||||
security:
|
||||
- petstore_auth:
|
||||
- write:pets
|
||||
- read:pets
|
||||
summary: Finds Pets by status
|
||||
tags:
|
||||
- pet
|
||||
x-openapi-router-controller: openapi_server.controllers.pet_controller
|
||||
/pet/findByTags:
|
||||
get:
|
||||
deprecated: true
|
||||
description: Multiple tags can be provided with comma separated strings. Use
|
||||
tag1, tag2, tag3 for testing.
|
||||
operationId: find_pets_by_tags
|
||||
parameters:
|
||||
- description: Tags to filter by
|
||||
explode: false
|
||||
in: query
|
||||
name: tags
|
||||
required: true
|
||||
schema:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
style: form
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
application/xml:
|
||||
schema:
|
||||
items:
|
||||
$ref: '#/components/schemas/Pet'
|
||||
type: array
|
||||
application/json:
|
||||
schema:
|
||||
items:
|
||||
$ref: '#/components/schemas/Pet'
|
||||
type: array
|
||||
description: successful operation
|
||||
"400":
|
||||
content: {}
|
||||
description: Invalid tag value
|
||||
security:
|
||||
- petstore_auth:
|
||||
- write:pets
|
||||
- read:pets
|
||||
summary: Finds Pets by tags
|
||||
tags:
|
||||
- pet
|
||||
x-openapi-router-controller: openapi_server.controllers.pet_controller
|
||||
/pet/{petId}:
|
||||
delete:
|
||||
operationId: delete_pet
|
||||
parameters:
|
||||
- in: header
|
||||
name: api_key
|
||||
schema:
|
||||
type: string
|
||||
- description: Pet id to delete
|
||||
in: path
|
||||
name: petId
|
||||
required: true
|
||||
schema:
|
||||
format: int64
|
||||
type: integer
|
||||
responses:
|
||||
"400":
|
||||
content: {}
|
||||
description: Invalid pet value
|
||||
security:
|
||||
- petstore_auth:
|
||||
- write:pets
|
||||
- read:pets
|
||||
summary: Deletes a pet
|
||||
tags:
|
||||
- pet
|
||||
x-openapi-router-controller: openapi_server.controllers.pet_controller
|
||||
get:
|
||||
description: Returns a single pet
|
||||
operationId: get_pet_by_id
|
||||
parameters:
|
||||
- description: ID of pet to return
|
||||
in: path
|
||||
name: petId
|
||||
required: true
|
||||
schema:
|
||||
format: int64
|
||||
type: integer
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
application/xml:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Pet'
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Pet'
|
||||
description: successful operation
|
||||
"400":
|
||||
content: {}
|
||||
description: Invalid ID supplied
|
||||
"404":
|
||||
content: {}
|
||||
description: Pet not found
|
||||
security:
|
||||
- api_key: []
|
||||
summary: Find pet by ID
|
||||
tags:
|
||||
- pet
|
||||
x-openapi-router-controller: openapi_server.controllers.pet_controller
|
||||
post:
|
||||
operationId: update_pet_with_form
|
||||
parameters:
|
||||
- description: ID of pet that needs to be updated
|
||||
in: path
|
||||
name: petId
|
||||
required: true
|
||||
schema:
|
||||
format: int64
|
||||
type: integer
|
||||
requestBody:
|
||||
content:
|
||||
application/x-www-form-urlencoded:
|
||||
schema:
|
||||
properties:
|
||||
name:
|
||||
description: Updated name of the pet
|
||||
type: string
|
||||
status:
|
||||
description: Updated status of the pet
|
||||
type: string
|
||||
responses:
|
||||
"405":
|
||||
content: {}
|
||||
description: Invalid input
|
||||
security:
|
||||
- petstore_auth:
|
||||
- write:pets
|
||||
- read:pets
|
||||
summary: Updates a pet in the store with form data
|
||||
tags:
|
||||
- pet
|
||||
x-openapi-router-controller: openapi_server.controllers.pet_controller
|
||||
/pet/{petId}/uploadImage:
|
||||
post:
|
||||
operationId: upload_file
|
||||
parameters:
|
||||
- description: ID of pet to update
|
||||
in: path
|
||||
name: petId
|
||||
required: true
|
||||
schema:
|
||||
format: int64
|
||||
type: integer
|
||||
requestBody:
|
||||
content:
|
||||
multipart/form-data:
|
||||
schema:
|
||||
properties:
|
||||
additionalMetadata:
|
||||
description: Additional data to pass to server
|
||||
type: string
|
||||
file:
|
||||
description: file to upload
|
||||
format: binary
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/ApiResponse'
|
||||
description: successful operation
|
||||
security:
|
||||
- petstore_auth:
|
||||
- write:pets
|
||||
- read:pets
|
||||
summary: uploads an image
|
||||
tags:
|
||||
- pet
|
||||
x-openapi-router-controller: openapi_server.controllers.pet_controller
|
||||
/store/inventory:
|
||||
get:
|
||||
description: Returns a map of status codes to quantities
|
||||
operationId: get_inventory
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
additionalProperties:
|
||||
format: int32
|
||||
type: integer
|
||||
type: object
|
||||
description: successful operation
|
||||
security:
|
||||
- api_key: []
|
||||
summary: Returns pet inventories by status
|
||||
tags:
|
||||
- store
|
||||
x-openapi-router-controller: openapi_server.controllers.store_controller
|
||||
/store/order:
|
||||
post:
|
||||
operationId: place_order
|
||||
requestBody:
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
$ref: '#/components/schemas/Order'
|
||||
description: order placed for purchasing the pet
|
||||
required: true
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
application/xml:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Order'
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Order'
|
||||
description: successful operation
|
||||
"400":
|
||||
content: {}
|
||||
description: Invalid Order
|
||||
summary: Place an order for a pet
|
||||
tags:
|
||||
- store
|
||||
x-codegen-request-body-name: body
|
||||
x-openapi-router-controller: openapi_server.controllers.store_controller
|
||||
/store/order/{orderId}:
|
||||
delete:
|
||||
description: For valid response try integer IDs with value < 1000. Anything
|
||||
above 1000 or nonintegers will generate API errors
|
||||
operationId: delete_order
|
||||
parameters:
|
||||
- description: ID of the order that needs to be deleted
|
||||
in: path
|
||||
name: orderId
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
responses:
|
||||
"400":
|
||||
content: {}
|
||||
description: Invalid ID supplied
|
||||
"404":
|
||||
content: {}
|
||||
description: Order not found
|
||||
summary: Delete purchase order by ID
|
||||
tags:
|
||||
- store
|
||||
x-openapi-router-controller: openapi_server.controllers.store_controller
|
||||
get:
|
||||
description: For valid response try integer IDs with value <= 5 or > 10. Other
|
||||
values will generated exceptions
|
||||
operationId: get_order_by_id
|
||||
parameters:
|
||||
- description: ID of pet that needs to be fetched
|
||||
in: path
|
||||
name: orderId
|
||||
required: true
|
||||
schema:
|
||||
format: int64
|
||||
maximum: 5
|
||||
minimum: 1
|
||||
type: integer
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
application/xml:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Order'
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Order'
|
||||
description: successful operation
|
||||
"400":
|
||||
content: {}
|
||||
description: Invalid ID supplied
|
||||
"404":
|
||||
content: {}
|
||||
description: Order not found
|
||||
summary: Find purchase order by ID
|
||||
tags:
|
||||
- store
|
||||
x-openapi-router-controller: openapi_server.controllers.store_controller
|
||||
/user:
|
||||
post:
|
||||
description: This can only be done by the logged in user.
|
||||
operationId: create_user
|
||||
requestBody:
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
$ref: '#/components/schemas/User'
|
||||
description: Created user object
|
||||
required: true
|
||||
responses:
|
||||
default:
|
||||
content: {}
|
||||
description: successful operation
|
||||
summary: Create user
|
||||
tags:
|
||||
- user
|
||||
x-codegen-request-body-name: body
|
||||
x-openapi-router-controller: openapi_server.controllers.user_controller
|
||||
/user/createWithArray:
|
||||
post:
|
||||
operationId: create_users_with_array_input
|
||||
requestBody:
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
items:
|
||||
$ref: '#/components/schemas/User'
|
||||
type: array
|
||||
description: List of user object
|
||||
required: true
|
||||
responses:
|
||||
default:
|
||||
content: {}
|
||||
description: successful operation
|
||||
summary: Creates list of users with given input array
|
||||
tags:
|
||||
- user
|
||||
x-codegen-request-body-name: body
|
||||
x-openapi-router-controller: openapi_server.controllers.user_controller
|
||||
/user/createWithList:
|
||||
post:
|
||||
operationId: create_users_with_list_input
|
||||
requestBody:
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
items:
|
||||
$ref: '#/components/schemas/User'
|
||||
type: array
|
||||
description: List of user object
|
||||
required: true
|
||||
responses:
|
||||
default:
|
||||
content: {}
|
||||
description: successful operation
|
||||
summary: Creates list of users with given input array
|
||||
tags:
|
||||
- user
|
||||
x-codegen-request-body-name: body
|
||||
x-openapi-router-controller: openapi_server.controllers.user_controller
|
||||
/user/login:
|
||||
get:
|
||||
operationId: login_user
|
||||
parameters:
|
||||
- description: The user name for login
|
||||
in: query
|
||||
name: username
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- description: The password for login in clear text
|
||||
in: query
|
||||
name: password
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
application/xml:
|
||||
schema:
|
||||
type: string
|
||||
application/json:
|
||||
schema:
|
||||
type: string
|
||||
description: successful operation
|
||||
headers:
|
||||
X-Rate-Limit:
|
||||
description: calls per hour allowed by the user
|
||||
schema:
|
||||
format: int32
|
||||
type: integer
|
||||
X-Expires-After:
|
||||
description: date in UTC when toekn expires
|
||||
schema:
|
||||
format: date-time
|
||||
type: string
|
||||
"400":
|
||||
content: {}
|
||||
description: Invalid username/password supplied
|
||||
summary: Logs user into the system
|
||||
tags:
|
||||
- user
|
||||
x-openapi-router-controller: openapi_server.controllers.user_controller
|
||||
/user/logout:
|
||||
get:
|
||||
operationId: logout_user
|
||||
responses:
|
||||
default:
|
||||
content: {}
|
||||
description: successful operation
|
||||
summary: Logs out current logged in user session
|
||||
tags:
|
||||
- user
|
||||
x-openapi-router-controller: openapi_server.controllers.user_controller
|
||||
/user/{username}:
|
||||
delete:
|
||||
description: This can only be done by the logged in user.
|
||||
operationId: delete_user
|
||||
parameters:
|
||||
- description: The name that needs to be deleted
|
||||
in: path
|
||||
name: username
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
responses:
|
||||
"400":
|
||||
content: {}
|
||||
description: Invalid username supplied
|
||||
"404":
|
||||
content: {}
|
||||
description: User not found
|
||||
summary: Delete user
|
||||
tags:
|
||||
- user
|
||||
x-openapi-router-controller: openapi_server.controllers.user_controller
|
||||
get:
|
||||
operationId: get_user_by_name
|
||||
parameters:
|
||||
- description: The name that needs to be fetched. Use user1 for testing.
|
||||
in: path
|
||||
name: username
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
application/xml:
|
||||
schema:
|
||||
$ref: '#/components/schemas/User'
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/User'
|
||||
description: successful operation
|
||||
"400":
|
||||
content: {}
|
||||
description: Invalid username supplied
|
||||
"404":
|
||||
content: {}
|
||||
description: User not found
|
||||
summary: Get user by user name
|
||||
tags:
|
||||
- user
|
||||
x-openapi-router-controller: openapi_server.controllers.user_controller
|
||||
put:
|
||||
description: This can only be done by the logged in user.
|
||||
operationId: update_user
|
||||
parameters:
|
||||
- description: name that need to be deleted
|
||||
in: path
|
||||
name: username
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
requestBody:
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
$ref: '#/components/schemas/User'
|
||||
description: Updated user object
|
||||
required: true
|
||||
responses:
|
||||
"400":
|
||||
content: {}
|
||||
description: Invalid user supplied
|
||||
"404":
|
||||
content: {}
|
||||
description: User not found
|
||||
summary: Updated user
|
||||
tags:
|
||||
- user
|
||||
x-codegen-request-body-name: body
|
||||
x-openapi-router-controller: openapi_server.controllers.user_controller
|
||||
components:
|
||||
schemas:
|
||||
Order:
|
||||
description: An order for a pets from the pet store
|
||||
example:
|
||||
petId: 6
|
||||
quantity: 1
|
||||
id: 0
|
||||
shipDate: 2000-01-23T04:56:07.000+00:00
|
||||
complete: false
|
||||
status: placed
|
||||
properties:
|
||||
id:
|
||||
format: int64
|
||||
type: integer
|
||||
petId:
|
||||
format: int64
|
||||
type: integer
|
||||
quantity:
|
||||
format: int32
|
||||
type: integer
|
||||
shipDate:
|
||||
format: date-time
|
||||
type: string
|
||||
status:
|
||||
description: Order Status
|
||||
enum:
|
||||
- placed
|
||||
- approved
|
||||
- delivered
|
||||
type: string
|
||||
complete:
|
||||
default: false
|
||||
type: boolean
|
||||
title: Pet Order
|
||||
type: object
|
||||
xml:
|
||||
name: Order
|
||||
Category:
|
||||
description: A category for a pet
|
||||
example:
|
||||
name: name
|
||||
id: 6
|
||||
properties:
|
||||
id:
|
||||
format: int64
|
||||
type: integer
|
||||
name:
|
||||
type: string
|
||||
title: Pet category
|
||||
type: object
|
||||
xml:
|
||||
name: Category
|
||||
User:
|
||||
description: A User who is purchasing from the pet store
|
||||
example:
|
||||
firstName: firstName
|
||||
lastName: lastName
|
||||
password: password
|
||||
userStatus: 6
|
||||
phone: phone
|
||||
id: 0
|
||||
email: email
|
||||
username: username
|
||||
properties:
|
||||
id:
|
||||
format: int64
|
||||
type: integer
|
||||
username:
|
||||
type: string
|
||||
firstName:
|
||||
type: string
|
||||
lastName:
|
||||
type: string
|
||||
email:
|
||||
type: string
|
||||
password:
|
||||
type: string
|
||||
phone:
|
||||
type: string
|
||||
userStatus:
|
||||
description: User Status
|
||||
format: int32
|
||||
type: integer
|
||||
title: a User
|
||||
type: object
|
||||
xml:
|
||||
name: User
|
||||
Tag:
|
||||
description: A tag for a pet
|
||||
example:
|
||||
name: name
|
||||
id: 1
|
||||
properties:
|
||||
id:
|
||||
format: int64
|
||||
type: integer
|
||||
name:
|
||||
type: string
|
||||
title: Pet Tag
|
||||
type: object
|
||||
xml:
|
||||
name: Tag
|
||||
Pet:
|
||||
description: A pet for sale in the pet store
|
||||
example:
|
||||
photoUrls:
|
||||
- photoUrls
|
||||
- photoUrls
|
||||
name: doggie
|
||||
id: 0
|
||||
category:
|
||||
name: name
|
||||
id: 6
|
||||
tags:
|
||||
- name: name
|
||||
id: 1
|
||||
- name: name
|
||||
id: 1
|
||||
status: available
|
||||
properties:
|
||||
id:
|
||||
format: int64
|
||||
type: integer
|
||||
category:
|
||||
$ref: '#/components/schemas/Category'
|
||||
name:
|
||||
example: doggie
|
||||
type: string
|
||||
photoUrls:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
xml:
|
||||
name: photoUrl
|
||||
wrapped: true
|
||||
tags:
|
||||
items:
|
||||
$ref: '#/components/schemas/Tag'
|
||||
type: array
|
||||
xml:
|
||||
name: tag
|
||||
wrapped: true
|
||||
status:
|
||||
description: pet status in the store
|
||||
enum:
|
||||
- available
|
||||
- pending
|
||||
- sold
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
- photoUrls
|
||||
title: a Pet
|
||||
type: object
|
||||
xml:
|
||||
name: Pet
|
||||
ApiResponse:
|
||||
description: Describes the result of uploading an image resource
|
||||
example:
|
||||
code: 0
|
||||
type: type
|
||||
message: message
|
||||
properties:
|
||||
code:
|
||||
format: int32
|
||||
type: integer
|
||||
type:
|
||||
type: string
|
||||
message:
|
||||
type: string
|
||||
title: An uploaded response
|
||||
type: object
|
||||
securitySchemes:
|
||||
petstore_auth:
|
||||
flows:
|
||||
implicit:
|
||||
authorizationUrl: http://petstore.swagger.io/api/oauth/dialog
|
||||
scopes:
|
||||
write:pets: modify pets in your account
|
||||
read:pets: read your pets
|
||||
type: oauth2
|
||||
x-tokenInfoFunc: openapi_server.controllers.security_controller_.info_from_petstore_auth
|
||||
x-scopeValidateFunc: openapi_server.controllers.security_controller_.validate_scope_petstore_auth
|
||||
api_key:
|
||||
in: header
|
||||
name: api_key
|
||||
type: apiKey
|
||||
x-apikeyInfoFunc: openapi_server.controllers.security_controller_.info_from_api_key
|
@ -1,16 +0,0 @@
|
||||
import logging
|
||||
|
||||
import connexion
|
||||
from flask_testing import TestCase
|
||||
|
||||
from openapi_server.encoder import JSONEncoder
|
||||
|
||||
|
||||
class BaseTestCase(TestCase):
|
||||
|
||||
def create_app(self):
|
||||
logging.getLogger('connexion.operation').setLevel('ERROR')
|
||||
app = connexion.App(__name__, specification_dir='../openapi/')
|
||||
app.app.json_encoder = JSONEncoder
|
||||
app.add_api('openapi.yaml', pythonic_params=True)
|
||||
return app.app
|
@ -1,202 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
from __future__ import absolute_import
|
||||
import unittest
|
||||
|
||||
from flask import json
|
||||
from six import BytesIO
|
||||
|
||||
from openapi_server.models.api_response import ApiResponse # noqa: E501
|
||||
from openapi_server.models.pet import Pet # noqa: E501
|
||||
from openapi_server.test import BaseTestCase
|
||||
|
||||
|
||||
class TestPetController(BaseTestCase):
|
||||
"""PetController integration test stubs"""
|
||||
|
||||
@unittest.skip("Connexion does not support multiple consummes. See https://github.com/zalando/connexion/pull/760")
|
||||
def test_add_pet(self):
|
||||
"""Test case for add_pet
|
||||
|
||||
Add a new pet to the store
|
||||
"""
|
||||
body = {
|
||||
"photoUrls" : [ "photoUrls", "photoUrls" ],
|
||||
"name" : "doggie",
|
||||
"id" : 0,
|
||||
"category" : {
|
||||
"name" : "name",
|
||||
"id" : 6
|
||||
},
|
||||
"tags" : [ {
|
||||
"name" : "name",
|
||||
"id" : 1
|
||||
}, {
|
||||
"name" : "name",
|
||||
"id" : 1
|
||||
} ],
|
||||
"status" : "available"
|
||||
}
|
||||
headers = {
|
||||
'Content-Type': 'application/json',
|
||||
'Authorization': 'Bearer special-key',
|
||||
}
|
||||
response = self.client.open(
|
||||
'/v2/pet',
|
||||
method='POST',
|
||||
headers=headers,
|
||||
data=json.dumps(body),
|
||||
content_type='application/json')
|
||||
self.assert200(response,
|
||||
'Response body is : ' + response.data.decode('utf-8'))
|
||||
|
||||
def test_delete_pet(self):
|
||||
"""Test case for delete_pet
|
||||
|
||||
Deletes a pet
|
||||
"""
|
||||
headers = {
|
||||
'api_key': 'api_key_example',
|
||||
'Authorization': 'Bearer special-key',
|
||||
}
|
||||
response = self.client.open(
|
||||
'/v2/pet/{pet_id}'.format(pet_id=789),
|
||||
method='DELETE',
|
||||
headers=headers)
|
||||
self.assert200(response,
|
||||
'Response body is : ' + response.data.decode('utf-8'))
|
||||
|
||||
def test_find_pets_by_status(self):
|
||||
"""Test case for find_pets_by_status
|
||||
|
||||
Finds Pets by status
|
||||
"""
|
||||
query_string = [('status', 'available')]
|
||||
headers = {
|
||||
'Accept': 'application/json',
|
||||
'Authorization': 'Bearer special-key',
|
||||
}
|
||||
response = self.client.open(
|
||||
'/v2/pet/findByStatus',
|
||||
method='GET',
|
||||
headers=headers,
|
||||
query_string=query_string)
|
||||
self.assert200(response,
|
||||
'Response body is : ' + response.data.decode('utf-8'))
|
||||
|
||||
def test_find_pets_by_tags(self):
|
||||
"""Test case for find_pets_by_tags
|
||||
|
||||
Finds Pets by tags
|
||||
"""
|
||||
query_string = [('tags', 'tags_example')]
|
||||
headers = {
|
||||
'Accept': 'application/json',
|
||||
'Authorization': 'Bearer special-key',
|
||||
}
|
||||
response = self.client.open(
|
||||
'/v2/pet/findByTags',
|
||||
method='GET',
|
||||
headers=headers,
|
||||
query_string=query_string)
|
||||
self.assert200(response,
|
||||
'Response body is : ' + response.data.decode('utf-8'))
|
||||
|
||||
def test_get_pet_by_id(self):
|
||||
"""Test case for get_pet_by_id
|
||||
|
||||
Find pet by ID
|
||||
"""
|
||||
headers = {
|
||||
'Accept': 'application/json',
|
||||
'api_key': 'special-key',
|
||||
}
|
||||
response = self.client.open(
|
||||
'/v2/pet/{pet_id}'.format(pet_id=789),
|
||||
method='GET',
|
||||
headers=headers)
|
||||
self.assert200(response,
|
||||
'Response body is : ' + response.data.decode('utf-8'))
|
||||
|
||||
@unittest.skip("Connexion does not support multiple consummes. See https://github.com/zalando/connexion/pull/760")
|
||||
def test_update_pet(self):
|
||||
"""Test case for update_pet
|
||||
|
||||
Update an existing pet
|
||||
"""
|
||||
body = {
|
||||
"photoUrls" : [ "photoUrls", "photoUrls" ],
|
||||
"name" : "doggie",
|
||||
"id" : 0,
|
||||
"category" : {
|
||||
"name" : "name",
|
||||
"id" : 6
|
||||
},
|
||||
"tags" : [ {
|
||||
"name" : "name",
|
||||
"id" : 1
|
||||
}, {
|
||||
"name" : "name",
|
||||
"id" : 1
|
||||
} ],
|
||||
"status" : "available"
|
||||
}
|
||||
headers = {
|
||||
'Content-Type': 'application/json',
|
||||
'Authorization': 'Bearer special-key',
|
||||
}
|
||||
response = self.client.open(
|
||||
'/v2/pet',
|
||||
method='PUT',
|
||||
headers=headers,
|
||||
data=json.dumps(body),
|
||||
content_type='application/json')
|
||||
self.assert200(response,
|
||||
'Response body is : ' + response.data.decode('utf-8'))
|
||||
|
||||
@unittest.skip("application/x-www-form-urlencoded not supported by Connexion")
|
||||
def test_update_pet_with_form(self):
|
||||
"""Test case for update_pet_with_form
|
||||
|
||||
Updates a pet in the store with form data
|
||||
"""
|
||||
headers = {
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
'Authorization': 'Bearer special-key',
|
||||
}
|
||||
data = dict(name='name_example',
|
||||
status='status_example')
|
||||
response = self.client.open(
|
||||
'/v2/pet/{pet_id}'.format(pet_id=789),
|
||||
method='POST',
|
||||
headers=headers,
|
||||
data=data,
|
||||
content_type='application/x-www-form-urlencoded')
|
||||
self.assert200(response,
|
||||
'Response body is : ' + response.data.decode('utf-8'))
|
||||
|
||||
@unittest.skip("multipart/form-data not supported by Connexion")
|
||||
def test_upload_file(self):
|
||||
"""Test case for upload_file
|
||||
|
||||
uploads an image
|
||||
"""
|
||||
headers = {
|
||||
'Accept': 'application/json',
|
||||
'Content-Type': 'multipart/form-data',
|
||||
'Authorization': 'Bearer special-key',
|
||||
}
|
||||
data = dict(additional_metadata='additional_metadata_example',
|
||||
file=(BytesIO(b'some file data'), 'file.txt'))
|
||||
response = self.client.open(
|
||||
'/v2/pet/{pet_id}/uploadImage'.format(pet_id=789),
|
||||
method='POST',
|
||||
headers=headers,
|
||||
data=data,
|
||||
content_type='multipart/form-data')
|
||||
self.assert200(response,
|
||||
'Response body is : ' + response.data.decode('utf-8'))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
@ -1,83 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
from __future__ import absolute_import
|
||||
import unittest
|
||||
|
||||
from flask import json
|
||||
from six import BytesIO
|
||||
|
||||
from openapi_server.models.order import Order # noqa: E501
|
||||
from openapi_server.test import BaseTestCase
|
||||
|
||||
|
||||
class TestStoreController(BaseTestCase):
|
||||
"""StoreController integration test stubs"""
|
||||
|
||||
def test_delete_order(self):
|
||||
"""Test case for delete_order
|
||||
|
||||
Delete purchase order by ID
|
||||
"""
|
||||
headers = {
|
||||
}
|
||||
response = self.client.open(
|
||||
'/v2/store/order/{order_id}'.format(order_id='order_id_example'),
|
||||
method='DELETE',
|
||||
headers=headers)
|
||||
self.assert200(response,
|
||||
'Response body is : ' + response.data.decode('utf-8'))
|
||||
|
||||
def test_get_inventory(self):
|
||||
"""Test case for get_inventory
|
||||
|
||||
Returns pet inventories by status
|
||||
"""
|
||||
headers = {
|
||||
'Accept': 'application/json',
|
||||
'api_key': 'special-key',
|
||||
}
|
||||
response = self.client.open(
|
||||
'/v2/store/inventory',
|
||||
method='GET',
|
||||
headers=headers)
|
||||
self.assert200(response,
|
||||
'Response body is : ' + response.data.decode('utf-8'))
|
||||
|
||||
def test_get_order_by_id(self):
|
||||
"""Test case for get_order_by_id
|
||||
|
||||
Find purchase order by ID
|
||||
"""
|
||||
headers = {
|
||||
'Accept': 'application/json',
|
||||
}
|
||||
response = self.client.open(
|
||||
'/v2/store/order/{order_id}'.format(order_id=5),
|
||||
method='GET',
|
||||
headers=headers)
|
||||
self.assert200(response,
|
||||
'Response body is : ' + response.data.decode('utf-8'))
|
||||
|
||||
@unittest.skip("*/* not supported by Connexion. Use application/json instead. See https://github.com/zalando/connexion/pull/760")
|
||||
def test_place_order(self):
|
||||
"""Test case for place_order
|
||||
|
||||
Place an order for a pet
|
||||
"""
|
||||
body = {}
|
||||
headers = {
|
||||
'Accept': 'application/json',
|
||||
'Content-Type': 'application/json',
|
||||
}
|
||||
response = self.client.open(
|
||||
'/v2/store/order',
|
||||
method='POST',
|
||||
headers=headers,
|
||||
data=json.dumps(body),
|
||||
content_type='application/json')
|
||||
self.assert200(response,
|
||||
'Response body is : ' + response.data.decode('utf-8'))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
@ -1,155 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
from __future__ import absolute_import
|
||||
import unittest
|
||||
|
||||
from flask import json
|
||||
from six import BytesIO
|
||||
|
||||
from openapi_server.models.user import User # noqa: E501
|
||||
from openapi_server.test import BaseTestCase
|
||||
|
||||
|
||||
class TestUserController(BaseTestCase):
|
||||
"""UserController integration test stubs"""
|
||||
|
||||
@unittest.skip("*/* not supported by Connexion. Use application/json instead. See https://github.com/zalando/connexion/pull/760")
|
||||
def test_create_user(self):
|
||||
"""Test case for create_user
|
||||
|
||||
Create user
|
||||
"""
|
||||
body = {}
|
||||
headers = {
|
||||
'Content-Type': 'application/json',
|
||||
}
|
||||
response = self.client.open(
|
||||
'/v2/user',
|
||||
method='POST',
|
||||
headers=headers,
|
||||
data=json.dumps(body),
|
||||
content_type='application/json')
|
||||
self.assert200(response,
|
||||
'Response body is : ' + response.data.decode('utf-8'))
|
||||
|
||||
@unittest.skip("*/* not supported by Connexion. Use application/json instead. See https://github.com/zalando/connexion/pull/760")
|
||||
def test_create_users_with_array_input(self):
|
||||
"""Test case for create_users_with_array_input
|
||||
|
||||
Creates list of users with given input array
|
||||
"""
|
||||
body = [{}]
|
||||
headers = {
|
||||
'Content-Type': 'application/json',
|
||||
}
|
||||
response = self.client.open(
|
||||
'/v2/user/createWithArray',
|
||||
method='POST',
|
||||
headers=headers,
|
||||
data=json.dumps(body),
|
||||
content_type='application/json')
|
||||
self.assert200(response,
|
||||
'Response body is : ' + response.data.decode('utf-8'))
|
||||
|
||||
@unittest.skip("*/* not supported by Connexion. Use application/json instead. See https://github.com/zalando/connexion/pull/760")
|
||||
def test_create_users_with_list_input(self):
|
||||
"""Test case for create_users_with_list_input
|
||||
|
||||
Creates list of users with given input array
|
||||
"""
|
||||
body = [{}]
|
||||
headers = {
|
||||
'Content-Type': 'application/json',
|
||||
}
|
||||
response = self.client.open(
|
||||
'/v2/user/createWithList',
|
||||
method='POST',
|
||||
headers=headers,
|
||||
data=json.dumps(body),
|
||||
content_type='application/json')
|
||||
self.assert200(response,
|
||||
'Response body is : ' + response.data.decode('utf-8'))
|
||||
|
||||
def test_delete_user(self):
|
||||
"""Test case for delete_user
|
||||
|
||||
Delete user
|
||||
"""
|
||||
headers = {
|
||||
}
|
||||
response = self.client.open(
|
||||
'/v2/user/{username}'.format(username='username_example'),
|
||||
method='DELETE',
|
||||
headers=headers)
|
||||
self.assert200(response,
|
||||
'Response body is : ' + response.data.decode('utf-8'))
|
||||
|
||||
def test_get_user_by_name(self):
|
||||
"""Test case for get_user_by_name
|
||||
|
||||
Get user by user name
|
||||
"""
|
||||
headers = {
|
||||
'Accept': 'application/json',
|
||||
}
|
||||
response = self.client.open(
|
||||
'/v2/user/{username}'.format(username='username_example'),
|
||||
method='GET',
|
||||
headers=headers)
|
||||
self.assert200(response,
|
||||
'Response body is : ' + response.data.decode('utf-8'))
|
||||
|
||||
def test_login_user(self):
|
||||
"""Test case for login_user
|
||||
|
||||
Logs user into the system
|
||||
"""
|
||||
query_string = [('username', 'username_example'),
|
||||
('password', 'password_example')]
|
||||
headers = {
|
||||
'Accept': 'application/json',
|
||||
}
|
||||
response = self.client.open(
|
||||
'/v2/user/login',
|
||||
method='GET',
|
||||
headers=headers,
|
||||
query_string=query_string)
|
||||
self.assert200(response,
|
||||
'Response body is : ' + response.data.decode('utf-8'))
|
||||
|
||||
def test_logout_user(self):
|
||||
"""Test case for logout_user
|
||||
|
||||
Logs out current logged in user session
|
||||
"""
|
||||
headers = {
|
||||
}
|
||||
response = self.client.open(
|
||||
'/v2/user/logout',
|
||||
method='GET',
|
||||
headers=headers)
|
||||
self.assert200(response,
|
||||
'Response body is : ' + response.data.decode('utf-8'))
|
||||
|
||||
@unittest.skip("*/* not supported by Connexion. Use application/json instead. See https://github.com/zalando/connexion/pull/760")
|
||||
def test_update_user(self):
|
||||
"""Test case for update_user
|
||||
|
||||
Updated user
|
||||
"""
|
||||
body = {}
|
||||
headers = {
|
||||
'Content-Type': 'application/json',
|
||||
}
|
||||
response = self.client.open(
|
||||
'/v2/user/{username}'.format(username='username_example'),
|
||||
method='PUT',
|
||||
headers=headers,
|
||||
data=json.dumps(body),
|
||||
content_type='application/json')
|
||||
self.assert200(response,
|
||||
'Response body is : ' + response.data.decode('utf-8'))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
@ -1,32 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
import sys
|
||||
|
||||
if sys.version_info < (3, 7):
|
||||
import typing
|
||||
|
||||
def is_generic(klass):
|
||||
""" Determine whether klass is a generic class """
|
||||
return type(klass) == typing.GenericMeta
|
||||
|
||||
def is_dict(klass):
|
||||
""" Determine whether klass is a Dict """
|
||||
return klass.__extra__ == dict
|
||||
|
||||
def is_list(klass):
|
||||
""" Determine whether klass is a List """
|
||||
return klass.__extra__ == list
|
||||
|
||||
else:
|
||||
|
||||
def is_generic(klass):
|
||||
""" Determine whether klass is a generic class """
|
||||
return hasattr(klass, '__origin__')
|
||||
|
||||
def is_dict(klass):
|
||||
""" Determine whether klass is a Dict """
|
||||
return klass.__origin__ == dict
|
||||
|
||||
def is_list(klass):
|
||||
""" Determine whether klass is a List """
|
||||
return klass.__origin__ == list
|
@ -1,142 +0,0 @@
|
||||
import datetime
|
||||
|
||||
import six
|
||||
import typing
|
||||
from openapi_server import typing_utils
|
||||
|
||||
|
||||
def _deserialize(data, klass):
|
||||
"""Deserializes dict, list, str into an object.
|
||||
|
||||
:param data: dict, list or str.
|
||||
:param klass: class literal, or string of class name.
|
||||
|
||||
:return: object.
|
||||
"""
|
||||
if data is None:
|
||||
return None
|
||||
|
||||
if klass in six.integer_types or klass in (float, str, bool, bytearray):
|
||||
return _deserialize_primitive(data, klass)
|
||||
elif klass == object:
|
||||
return _deserialize_object(data)
|
||||
elif klass == datetime.date:
|
||||
return deserialize_date(data)
|
||||
elif klass == datetime.datetime:
|
||||
return deserialize_datetime(data)
|
||||
elif typing_utils.is_generic(klass):
|
||||
if typing_utils.is_list(klass):
|
||||
return _deserialize_list(data, klass.__args__[0])
|
||||
if typing_utils.is_dict(klass):
|
||||
return _deserialize_dict(data, klass.__args__[1])
|
||||
else:
|
||||
return deserialize_model(data, klass)
|
||||
|
||||
|
||||
def _deserialize_primitive(data, klass):
|
||||
"""Deserializes to primitive type.
|
||||
|
||||
:param data: data to deserialize.
|
||||
:param klass: class literal.
|
||||
|
||||
:return: int, long, float, str, bool.
|
||||
:rtype: int | long | float | str | bool
|
||||
"""
|
||||
try:
|
||||
value = klass(data)
|
||||
except UnicodeEncodeError:
|
||||
value = six.u(data)
|
||||
except TypeError:
|
||||
value = data
|
||||
return value
|
||||
|
||||
|
||||
def _deserialize_object(value):
|
||||
"""Return an original value.
|
||||
|
||||
:return: object.
|
||||
"""
|
||||
return value
|
||||
|
||||
|
||||
def deserialize_date(string):
|
||||
"""Deserializes string to date.
|
||||
|
||||
:param string: str.
|
||||
:type string: str
|
||||
:return: date.
|
||||
:rtype: date
|
||||
"""
|
||||
try:
|
||||
from dateutil.parser import parse
|
||||
return parse(string).date()
|
||||
except ImportError:
|
||||
return string
|
||||
|
||||
|
||||
def deserialize_datetime(string):
|
||||
"""Deserializes string to datetime.
|
||||
|
||||
The string should be in iso8601 datetime format.
|
||||
|
||||
:param string: str.
|
||||
:type string: str
|
||||
:return: datetime.
|
||||
:rtype: datetime
|
||||
"""
|
||||
try:
|
||||
from dateutil.parser import parse
|
||||
return parse(string)
|
||||
except ImportError:
|
||||
return string
|
||||
|
||||
|
||||
def deserialize_model(data, klass):
|
||||
"""Deserializes list or dict to model.
|
||||
|
||||
:param data: dict, list.
|
||||
:type data: dict | list
|
||||
:param klass: class literal.
|
||||
:return: model object.
|
||||
"""
|
||||
instance = klass()
|
||||
|
||||
if not instance.openapi_types:
|
||||
return data
|
||||
|
||||
for attr, attr_type in six.iteritems(instance.openapi_types):
|
||||
if data is not None \
|
||||
and instance.attribute_map[attr] in data \
|
||||
and isinstance(data, (list, dict)):
|
||||
value = data[instance.attribute_map[attr]]
|
||||
setattr(instance, attr, _deserialize(value, attr_type))
|
||||
|
||||
return instance
|
||||
|
||||
|
||||
def _deserialize_list(data, boxed_type):
|
||||
"""Deserializes a list and its elements.
|
||||
|
||||
:param data: list to deserialize.
|
||||
:type data: list
|
||||
:param boxed_type: class literal.
|
||||
|
||||
:return: deserialized list.
|
||||
:rtype: list
|
||||
"""
|
||||
return [_deserialize(sub_data, boxed_type)
|
||||
for sub_data in data]
|
||||
|
||||
|
||||
def _deserialize_dict(data, boxed_type):
|
||||
"""Deserializes a dict and its elements.
|
||||
|
||||
:param data: dict to deserialize.
|
||||
:type data: dict
|
||||
:param boxed_type: class literal.
|
||||
|
||||
:return: deserialized dict.
|
||||
:rtype: dict
|
||||
"""
|
||||
return {k: _deserialize(v, boxed_type)
|
||||
for k, v in six.iteritems(data)}
|
@ -1,46 +0,0 @@
|
||||
<project>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>PythonFlaskConnexionTestsPython2</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<name>Python Flask Server python 2</name>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-dependency-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>copy-dependencies</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>${project.build.directory}</outputDirectory>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>exec-maven-plugin</artifactId>
|
||||
<version>1.2.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>test</id>
|
||||
<phase>integration-test</phase>
|
||||
<goals>
|
||||
<goal>exec</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<executable>make</executable>
|
||||
<arguments>
|
||||
<argument>test-all</argument>
|
||||
</arguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
@ -1,16 +0,0 @@
|
||||
connexion[swagger-ui] >= 2.6.0; python_version>="3.6"
|
||||
# 2.3 is the last version that supports python 3.4-3.5
|
||||
connexion[swagger-ui] <= 2.3.0; python_version=="3.5" or python_version=="3.4"
|
||||
connexion[swagger-ui] == 2.4.0; python_version<="2.7"
|
||||
# connexion requires werkzeug but connexion < 2.4.0 does not install werkzeug
|
||||
# we must peg werkzeug versions below to fix connexion
|
||||
# https://github.com/zalando/connexion/pull/1044
|
||||
werkzeug == 0.16.1; python_version=="3.5" or python_version=="3.4"
|
||||
swagger-ui-bundle >= 0.0.2
|
||||
python_dateutil >= 2.6.0
|
||||
typing >= 3.5.2.2
|
||||
# For specs with timestamps, pyyaml 5.3 broke connexion's spec parsing in python 2.
|
||||
# Connexion uses copy.deepcopy() on the spec, thus hitting this bug:
|
||||
# https://github.com/yaml/pyyaml/issues/387
|
||||
pyyaml < 5.3; python_version<="2.7"
|
||||
setuptools >= 21.0.0
|
@ -1,40 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
import sys
|
||||
from setuptools import setup, find_packages
|
||||
|
||||
NAME = "openapi_server"
|
||||
VERSION = "1.0.0"
|
||||
|
||||
# To install the library, run the following
|
||||
#
|
||||
# python setup.py install
|
||||
#
|
||||
# prerequisite: setuptools
|
||||
# http://pypi.python.org/pypi/setuptools
|
||||
|
||||
REQUIRES = [
|
||||
"connexion>=2.0.2",
|
||||
"swagger-ui-bundle>=0.0.2",
|
||||
"python_dateutil>=2.6.0",
|
||||
"typing>=3.5.2.2"
|
||||
]
|
||||
|
||||
setup(
|
||||
name=NAME,
|
||||
version=VERSION,
|
||||
description="OpenAPI Petstore",
|
||||
author_email="",
|
||||
url="",
|
||||
keywords=["OpenAPI", "OpenAPI Petstore"],
|
||||
install_requires=REQUIRES,
|
||||
packages=find_packages(),
|
||||
package_data={'': ['openapi/openapi.yaml']},
|
||||
include_package_data=True,
|
||||
entry_points={
|
||||
'console_scripts': ['openapi_server=openapi_server.__main__:main']},
|
||||
long_description="""\
|
||||
This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
|
||||
"""
|
||||
)
|
||||
|
@ -1,4 +0,0 @@
|
||||
pytest~=4.6.7 # needed for python 2.7+3.4
|
||||
pytest-cov>=2.8.1
|
||||
pytest-randomly==1.2.3 # needed for python 2.7+3.4
|
||||
Flask-Testing==0.8.0
|
@ -1,31 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
REQUIREMENTS_FILE=dev-requirements.txt
|
||||
REQUIREMENTS_OUT=dev-requirements.txt.log
|
||||
SETUP_OUT=*.egg-info
|
||||
VENV=.venv
|
||||
DEACTIVE=false
|
||||
|
||||
export LC_ALL=en_US.UTF-8
|
||||
export LANG=en_US.UTF-8
|
||||
|
||||
### set virtualenv
|
||||
if [ -z "$VIRTUAL_ENV" ]; then
|
||||
virtualenv $VENV --no-site-packages --always-copy --python python
|
||||
source $VENV/bin/activate
|
||||
DEACTIVE=true
|
||||
fi
|
||||
|
||||
### install dependencies
|
||||
pip install -r $REQUIREMENTS_FILE | tee -a $REQUIREMENTS_OUT
|
||||
|
||||
### run tests
|
||||
tox -e py27 || exit 1
|
||||
|
||||
### static analysis of code
|
||||
#flake8 --show-source openapi_server/
|
||||
|
||||
### deactivate virtualenv
|
||||
# if [ $DEACTIVE == true ]; then
|
||||
# deactivate
|
||||
# fi
|
@ -1,11 +0,0 @@
|
||||
[tox]
|
||||
envlist = py27, py3
|
||||
skipsdist=True
|
||||
|
||||
[testenv]
|
||||
deps=-r{toxinidir}/requirements.txt
|
||||
-r{toxinidir}/test-requirements.txt
|
||||
{toxinidir}
|
||||
|
||||
commands=
|
||||
pytest --cov=openapi_server
|
Loading…
x
Reference in New Issue
Block a user