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