diff --git a/bin/configs/python-flask-python2.yaml b/bin/configs/python-flask-python2.yaml deleted file mode 100644 index 156caf9c466a..000000000000 --- a/bin/configs/python-flask-python2.yaml +++ /dev/null @@ -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 diff --git a/docs/generators/python-aiohttp.md b/docs/generators/python-aiohttp.md index 5487f2a943b6..238ce936f407 100644 --- a/docs/generators/python-aiohttp.md +++ b/docs/generators/python-aiohttp.md @@ -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 diff --git a/docs/generators/python-blueplanet.md b/docs/generators/python-blueplanet.md index fb583552bd6b..d5110862f94a 100644 --- a/docs/generators/python-blueplanet.md +++ b/docs/generators/python-blueplanet.md @@ -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 diff --git a/docs/generators/python-flask.md b/docs/generators/python-flask.md index e76692bd2894..0a4004c0aa7d 100644 --- a/docs/generators/python-flask.md +++ b/docs/generators/python-flask.md @@ -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 diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonAbstractConnexionServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonAbstractConnexionServerCodegen.java index 6105a43bf9ad..e94279d5ac4b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonAbstractConnexionServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonAbstractConnexionServerCodegen.java @@ -161,7 +161,7 @@ public PythonAbstractConnexionServerCodegen(String templateDirectory, boolean fi 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")); diff --git a/pom.xml b/pom.xml index 9da7c127f698..18eca9b433ff 100644 --- a/pom.xml +++ b/pom.xml @@ -1180,7 +1180,6 @@ samples/server/petstore/python-aiohttp samples/server/petstore/python-aiohttp-srclayout samples/server/petstore/python-flask - samples/server/petstore/python-flask-python2 samples/server/petstore/php-slim4 samples/server/petstore/php-laravel samples/server/petstore/rust-server diff --git a/samples/server/petstore/python-flask-python2/.dockerignore b/samples/server/petstore/python-flask-python2/.dockerignore deleted file mode 100644 index f9619601908b..000000000000 --- a/samples/server/petstore/python-flask-python2/.dockerignore +++ /dev/null @@ -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 diff --git a/samples/server/petstore/python-flask-python2/.gitignore b/samples/server/petstore/python-flask-python2/.gitignore deleted file mode 100644 index 43995bd42fa2..000000000000 --- a/samples/server/petstore/python-flask-python2/.gitignore +++ /dev/null @@ -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 diff --git a/samples/server/petstore/python-flask-python2/.openapi-generator-ignore b/samples/server/petstore/python-flask-python2/.openapi-generator-ignore deleted file mode 100644 index 7484ee590a38..000000000000 --- a/samples/server/petstore/python-flask-python2/.openapi-generator-ignore +++ /dev/null @@ -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 diff --git a/samples/server/petstore/python-flask-python2/.openapi-generator/FILES b/samples/server/petstore/python-flask-python2/.openapi-generator/FILES deleted file mode 100644 index 2d71840efc01..000000000000 --- a/samples/server/petstore/python-flask-python2/.openapi-generator/FILES +++ /dev/null @@ -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 diff --git a/samples/server/petstore/python-flask-python2/.openapi-generator/VERSION b/samples/server/petstore/python-flask-python2/.openapi-generator/VERSION deleted file mode 100644 index d99e7162d01f..000000000000 --- a/samples/server/petstore/python-flask-python2/.openapi-generator/VERSION +++ /dev/null @@ -1 +0,0 @@ -5.0.0-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/python-flask-python2/.travis.yml b/samples/server/petstore/python-flask-python2/.travis.yml deleted file mode 100644 index 388de83128fe..000000000000 --- a/samples/server/petstore/python-flask-python2/.travis.yml +++ /dev/null @@ -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 diff --git a/samples/server/petstore/python-flask-python2/Dockerfile b/samples/server/petstore/python-flask-python2/Dockerfile deleted file mode 100644 index d51d2b7a8568..000000000000 --- a/samples/server/petstore/python-flask-python2/Dockerfile +++ /dev/null @@ -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"] \ No newline at end of file diff --git a/samples/server/petstore/python-flask-python2/Makefile b/samples/server/petstore/python-flask-python2/Makefile deleted file mode 100644 index 02f8acd53b4d..000000000000 --- a/samples/server/petstore/python-flask-python2/Makefile +++ /dev/null @@ -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 diff --git a/samples/server/petstore/python-flask-python2/README.md b/samples/server/petstore/python-flask-python2/README.md deleted file mode 100644 index ceebd18c340b..000000000000 --- a/samples/server/petstore/python-flask-python2/README.md +++ /dev/null @@ -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 -``` \ No newline at end of file diff --git a/samples/server/petstore/python-flask-python2/dev-requirements.txt b/samples/server/petstore/python-flask-python2/dev-requirements.txt deleted file mode 100644 index ccdfca629494..000000000000 --- a/samples/server/petstore/python-flask-python2/dev-requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -tox -flake8 diff --git a/samples/server/petstore/python-flask-python2/git_push.sh b/samples/server/petstore/python-flask-python2/git_push.sh deleted file mode 100644 index ced3be2b0c7b..000000000000 --- a/samples/server/petstore/python-flask-python2/git_push.sh +++ /dev/null @@ -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' - diff --git a/samples/server/petstore/python-flask-python2/openapi_server/__init__.py b/samples/server/petstore/python-flask-python2/openapi_server/__init__.py deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/samples/server/petstore/python-flask-python2/openapi_server/__main__.py b/samples/server/petstore/python-flask-python2/openapi_server/__main__.py deleted file mode 100644 index a6fa13105b89..000000000000 --- a/samples/server/petstore/python-flask-python2/openapi_server/__main__.py +++ /dev/null @@ -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() diff --git a/samples/server/petstore/python-flask-python2/openapi_server/controllers/__init__.py b/samples/server/petstore/python-flask-python2/openapi_server/controllers/__init__.py deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/samples/server/petstore/python-flask-python2/openapi_server/controllers/pet_controller.py b/samples/server/petstore/python-flask-python2/openapi_server/controllers/pet_controller.py deleted file mode 100644 index 17699957ddd3..000000000000 --- a/samples/server/petstore/python-flask-python2/openapi_server/controllers/pet_controller.py +++ /dev/null @@ -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!' diff --git a/samples/server/petstore/python-flask-python2/openapi_server/controllers/security_controller_.py b/samples/server/petstore/python-flask-python2/openapi_server/controllers/security_controller_.py deleted file mode 100644 index 1db7a68f4665..000000000000 --- a/samples/server/petstore/python-flask-python2/openapi_server/controllers/security_controller_.py +++ /dev/null @@ -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)) - - diff --git a/samples/server/petstore/python-flask-python2/openapi_server/controllers/store_controller.py b/samples/server/petstore/python-flask-python2/openapi_server/controllers/store_controller.py deleted file mode 100644 index 7bb43a970f5b..000000000000 --- a/samples/server/petstore/python-flask-python2/openapi_server/controllers/store_controller.py +++ /dev/null @@ -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!' diff --git a/samples/server/petstore/python-flask-python2/openapi_server/controllers/user_controller.py b/samples/server/petstore/python-flask-python2/openapi_server/controllers/user_controller.py deleted file mode 100644 index 18173c5fe316..000000000000 --- a/samples/server/petstore/python-flask-python2/openapi_server/controllers/user_controller.py +++ /dev/null @@ -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!' diff --git a/samples/server/petstore/python-flask-python2/openapi_server/encoder.py b/samples/server/petstore/python-flask-python2/openapi_server/encoder.py deleted file mode 100644 index 3bbef854f3b8..000000000000 --- a/samples/server/petstore/python-flask-python2/openapi_server/encoder.py +++ /dev/null @@ -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) diff --git a/samples/server/petstore/python-flask-python2/openapi_server/models/__init__.py b/samples/server/petstore/python-flask-python2/openapi_server/models/__init__.py deleted file mode 100644 index 962f6f34936d..000000000000 --- a/samples/server/petstore/python-flask-python2/openapi_server/models/__init__.py +++ /dev/null @@ -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 diff --git a/samples/server/petstore/python-flask-python2/openapi_server/models/api_response.py b/samples/server/petstore/python-flask-python2/openapi_server/models/api_response.py deleted file mode 100644 index f4f26e834a27..000000000000 --- a/samples/server/petstore/python-flask-python2/openapi_server/models/api_response.py +++ /dev/null @@ -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 diff --git a/samples/server/petstore/python-flask-python2/openapi_server/models/base_model_.py b/samples/server/petstore/python-flask-python2/openapi_server/models/base_model_.py deleted file mode 100644 index 2f7f96c14e47..000000000000 --- a/samples/server/petstore/python-flask-python2/openapi_server/models/base_model_.py +++ /dev/null @@ -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 diff --git a/samples/server/petstore/python-flask-python2/openapi_server/models/category.py b/samples/server/petstore/python-flask-python2/openapi_server/models/category.py deleted file mode 100644 index fc2b224078a3..000000000000 --- a/samples/server/petstore/python-flask-python2/openapi_server/models/category.py +++ /dev/null @@ -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 diff --git a/samples/server/petstore/python-flask-python2/openapi_server/models/order.py b/samples/server/petstore/python-flask-python2/openapi_server/models/order.py deleted file mode 100644 index 02ea8c4fd728..000000000000 --- a/samples/server/petstore/python-flask-python2/openapi_server/models/order.py +++ /dev/null @@ -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 diff --git a/samples/server/petstore/python-flask-python2/openapi_server/models/pet.py b/samples/server/petstore/python-flask-python2/openapi_server/models/pet.py deleted file mode 100644 index a9c5e52330fc..000000000000 --- a/samples/server/petstore/python-flask-python2/openapi_server/models/pet.py +++ /dev/null @@ -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 diff --git a/samples/server/petstore/python-flask-python2/openapi_server/models/tag.py b/samples/server/petstore/python-flask-python2/openapi_server/models/tag.py deleted file mode 100644 index 24a262951ed9..000000000000 --- a/samples/server/petstore/python-flask-python2/openapi_server/models/tag.py +++ /dev/null @@ -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 diff --git a/samples/server/petstore/python-flask-python2/openapi_server/models/user.py b/samples/server/petstore/python-flask-python2/openapi_server/models/user.py deleted file mode 100644 index 3807bfe99782..000000000000 --- a/samples/server/petstore/python-flask-python2/openapi_server/models/user.py +++ /dev/null @@ -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 diff --git a/samples/server/petstore/python-flask-python2/openapi_server/openapi/openapi.yaml b/samples/server/petstore/python-flask-python2/openapi_server/openapi/openapi.yaml deleted file mode 100644 index 69c15a8f11a3..000000000000 --- a/samples/server/petstore/python-flask-python2/openapi_server/openapi/openapi.yaml +++ /dev/null @@ -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 diff --git a/samples/server/petstore/python-flask-python2/openapi_server/test/__init__.py b/samples/server/petstore/python-flask-python2/openapi_server/test/__init__.py deleted file mode 100644 index 364aba9fbf88..000000000000 --- a/samples/server/petstore/python-flask-python2/openapi_server/test/__init__.py +++ /dev/null @@ -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 diff --git a/samples/server/petstore/python-flask-python2/openapi_server/test/test_pet_controller.py b/samples/server/petstore/python-flask-python2/openapi_server/test/test_pet_controller.py deleted file mode 100644 index 3100b498b35f..000000000000 --- a/samples/server/petstore/python-flask-python2/openapi_server/test/test_pet_controller.py +++ /dev/null @@ -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() diff --git a/samples/server/petstore/python-flask-python2/openapi_server/test/test_store_controller.py b/samples/server/petstore/python-flask-python2/openapi_server/test/test_store_controller.py deleted file mode 100644 index e2d0c7ddd372..000000000000 --- a/samples/server/petstore/python-flask-python2/openapi_server/test/test_store_controller.py +++ /dev/null @@ -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() diff --git a/samples/server/petstore/python-flask-python2/openapi_server/test/test_user_controller.py b/samples/server/petstore/python-flask-python2/openapi_server/test/test_user_controller.py deleted file mode 100644 index 172ff22d13d0..000000000000 --- a/samples/server/petstore/python-flask-python2/openapi_server/test/test_user_controller.py +++ /dev/null @@ -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() diff --git a/samples/server/petstore/python-flask-python2/openapi_server/typing_utils.py b/samples/server/petstore/python-flask-python2/openapi_server/typing_utils.py deleted file mode 100644 index 0563f81fd534..000000000000 --- a/samples/server/petstore/python-flask-python2/openapi_server/typing_utils.py +++ /dev/null @@ -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 diff --git a/samples/server/petstore/python-flask-python2/openapi_server/util.py b/samples/server/petstore/python-flask-python2/openapi_server/util.py deleted file mode 100644 index e1185a713ec9..000000000000 --- a/samples/server/petstore/python-flask-python2/openapi_server/util.py +++ /dev/null @@ -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)} diff --git a/samples/server/petstore/python-flask-python2/pom.xml b/samples/server/petstore/python-flask-python2/pom.xml deleted file mode 100644 index 430bddf2ed3f..000000000000 --- a/samples/server/petstore/python-flask-python2/pom.xml +++ /dev/null @@ -1,46 +0,0 @@ - - 4.0.0 - org.openapitools - PythonFlaskConnexionTestsPython2 - pom - 1.0-SNAPSHOT - Python Flask Server python 2 - - - - maven-dependency-plugin - - - package - - copy-dependencies - - - ${project.build.directory} - - - - - - org.codehaus.mojo - exec-maven-plugin - 1.2.1 - - - test - integration-test - - exec - - - make - - test-all - - - - - - - - diff --git a/samples/server/petstore/python-flask-python2/requirements.txt b/samples/server/petstore/python-flask-python2/requirements.txt deleted file mode 100644 index 55ef66307fc4..000000000000 --- a/samples/server/petstore/python-flask-python2/requirements.txt +++ /dev/null @@ -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 diff --git a/samples/server/petstore/python-flask-python2/setup.py b/samples/server/petstore/python-flask-python2/setup.py deleted file mode 100644 index 322e14e654a7..000000000000 --- a/samples/server/petstore/python-flask-python2/setup.py +++ /dev/null @@ -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. - """ -) - diff --git a/samples/server/petstore/python-flask-python2/test-requirements.txt b/samples/server/petstore/python-flask-python2/test-requirements.txt deleted file mode 100644 index 0970f28c7c5a..000000000000 --- a/samples/server/petstore/python-flask-python2/test-requirements.txt +++ /dev/null @@ -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 diff --git a/samples/server/petstore/python-flask-python2/test_python2.sh b/samples/server/petstore/python-flask-python2/test_python2.sh deleted file mode 100755 index 25da371537e5..000000000000 --- a/samples/server/petstore/python-flask-python2/test_python2.sh +++ /dev/null @@ -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 diff --git a/samples/server/petstore/python-flask-python2/tox.ini b/samples/server/petstore/python-flask-python2/tox.ini deleted file mode 100644 index d63c4ac5aac0..000000000000 --- a/samples/server/petstore/python-flask-python2/tox.ini +++ /dev/null @@ -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