diff --git a/connexion/__init__.py b/connexion/__init__.py index fbdc47eac..7b3d7d891 100755 --- a/connexion/__init__.py +++ b/connexion/__init__.py @@ -1,15 +1,16 @@ +import sys + import werkzeug.exceptions as exceptions # NOQA -from .apps import AbstractApp # NOQA + from .apis import AbstractAPI # NOQA +from .apps import AbstractApp # NOQA +from .decorators.produces import NoContent # NOQA from .exceptions import ProblemException # NOQA +# add operation for backwards compatability +from .operations import compat from .problem import problem # NOQA -from .decorators.produces import NoContent # NOQA from .resolver import Resolution, Resolver, RestyResolver # NOQA -import sys - -# add operation for backwards compatability -from .operations import compat full_name = '{}.operation'.format(__package__) sys.modules[full_name] = sys.modules[compat.__name__] diff --git a/connexion/apis/aiohttp_api.py b/connexion/apis/aiohttp_api.py index e968f253a..607991e91 100644 --- a/connexion/apis/aiohttp_api.py +++ b/connexion/apis/aiohttp_api.py @@ -3,11 +3,11 @@ import re from urllib.parse import parse_qs -import jinja2 - import aiohttp_jinja2 +import jinja2 from aiohttp import web from aiohttp.web_exceptions import HTTPNotFound + from connexion.apis.abstract import AbstractAPI from connexion.exceptions import OAuthProblem, OAuthScopeProblem from connexion.handlers import AuthErrorHandler diff --git a/connexion/operations/__init__.py b/connexion/operations/__init__.py index bd1392d07..4c44b9f38 100644 --- a/connexion/operations/__init__.py +++ b/connexion/operations/__init__.py @@ -1,7 +1,7 @@ from .abstract import AbstractOperation # noqa from .openapi import OpenAPIOperation # noqa -from .swagger2 import Swagger2Operation # noqa from .secure import SecureOperation # noqa +from .swagger2 import Swagger2Operation # noqa def make_operation(spec, *args, **kwargs): diff --git a/examples/openapi3/jwt/app.py b/examples/openapi3/jwt/app.py index 46a243f71..935f7dbcb 100755 --- a/examples/openapi3/jwt/app.py +++ b/examples/openapi3/jwt/app.py @@ -5,10 +5,10 @@ import time -import connexion import six from werkzeug.exceptions import Unauthorized +import connexion from jose import JWTError, jwt JWT_ISSUER = 'com.zalando.connexion' diff --git a/examples/openapi3/methodresolver/api/petsview.py b/examples/openapi3/methodresolver/api/petsview.py index 7cb2afd7c..b710bd0fe 100644 --- a/examples/openapi3/methodresolver/api/petsview.py +++ b/examples/openapi3/methodresolver/api/petsview.py @@ -1,9 +1,10 @@ import datetime -from connexion import NoContent from flask import request from flask.views import MethodView +from connexion import NoContent + class PetsView(MethodView): """ Create Pets service diff --git a/examples/openapi3/sqlalchemy/app.py b/examples/openapi3/sqlalchemy/app.py index 1ba4d461b..0123ba181 100755 --- a/examples/openapi3/sqlalchemy/app.py +++ b/examples/openapi3/sqlalchemy/app.py @@ -3,9 +3,8 @@ import logging import connexion -from connexion import NoContent - import orm +from connexion import NoContent db_session = None diff --git a/examples/swagger2/enforcedefaults/enforcedefaults.py b/examples/swagger2/enforcedefaults/enforcedefaults.py index 657290db2..439b009c2 100755 --- a/examples/swagger2/enforcedefaults/enforcedefaults.py +++ b/examples/swagger2/enforcedefaults/enforcedefaults.py @@ -1,8 +1,9 @@ #!/usr/bin/env python3 -import connexion import jsonschema import six + +import connexion from connexion.decorators.validation import RequestBodyValidator from connexion.json_schema import Draft4RequestValidator diff --git a/examples/swagger2/sqlalchemy/app.py b/examples/swagger2/sqlalchemy/app.py index 398d1b324..bc70573e3 100755 --- a/examples/swagger2/sqlalchemy/app.py +++ b/examples/swagger2/sqlalchemy/app.py @@ -3,9 +3,8 @@ import logging import connexion -from connexion import NoContent - import orm +from connexion import NoContent db_session = None diff --git a/tests/aiohttp/test_aiohttp_api_secure.py b/tests/aiohttp/test_aiohttp_api_secure.py index 86377d189..bb1f5e52c 100644 --- a/tests/aiohttp/test_aiohttp_api_secure.py +++ b/tests/aiohttp/test_aiohttp_api_secure.py @@ -2,6 +2,7 @@ import base64 import ujson + from conftest import TEST_FOLDER from connexion import AioHttpApp diff --git a/tests/aiohttp/test_aiohttp_app.py b/tests/aiohttp/test_aiohttp_app.py index f1c477558..8871e04ca 100644 --- a/tests/aiohttp/test_aiohttp_app.py +++ b/tests/aiohttp/test_aiohttp_app.py @@ -2,6 +2,7 @@ from unittest import mock import pytest + from conftest import TEST_FOLDER from connexion import AioHttpApp from connexion.exceptions import ConnexionException diff --git a/tests/aiohttp/test_aiohttp_simple_api.py b/tests/aiohttp/test_aiohttp_simple_api.py index 045d3e700..6f1e8d613 100644 --- a/tests/aiohttp/test_aiohttp_simple_api.py +++ b/tests/aiohttp/test_aiohttp_simple_api.py @@ -1,10 +1,10 @@ import asyncio import sys -import yaml - import aiohttp.web import pytest +import yaml + from conftest import TEST_FOLDER from connexion import AioHttpApp diff --git a/tests/api/test_bootstrap.py b/tests/api/test_bootstrap.py index b6eecbc56..da23a3d71 100644 --- a/tests/api/test_bootstrap.py +++ b/tests/api/test_bootstrap.py @@ -1,11 +1,11 @@ import json import jinja2 +import mock +import pytest import yaml from openapi_spec_validator.loaders import ExtendedSafeLoader -import mock -import pytest from conftest import TEST_FOLDER, build_app_from_fixture from connexion import App from connexion.exceptions import InvalidSpecification diff --git a/tests/conftest.py b/tests/conftest.py index c45cb1573..78499ff81 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -4,6 +4,7 @@ import sys import pytest + from connexion import App logging.basicConfig(level=logging.DEBUG) diff --git a/tests/decorators/test_parameter.py b/tests/decorators/test_parameter.py index e66ab4e4e..8d014b45c 100644 --- a/tests/decorators/test_parameter.py +++ b/tests/decorators/test_parameter.py @@ -1,7 +1,8 @@ -from connexion.decorators.parameter import parameter_to_arg # we are using "mock" module here for Py 2.7 support from mock import MagicMock +from connexion.decorators.parameter import parameter_to_arg + def test_injection(): request = MagicMock(name='request', path_params={'p1': '123'}) diff --git a/tests/decorators/test_security.py b/tests/decorators/test_security.py index 3679648ed..f5323869d 100644 --- a/tests/decorators/test_security.py +++ b/tests/decorators/test_security.py @@ -1,15 +1,15 @@ import json +import pytest import requests +from mock import MagicMock -import pytest from connexion.decorators.security import (get_tokeninfo_func, get_tokeninfo_remote, validate_scope, verify_apikey, verify_basic, verify_oauth) from connexion.exceptions import (OAuthProblem, OAuthResponseProblem, OAuthScopeProblem) -from mock import MagicMock def test_get_tokeninfo_url(monkeypatch): diff --git a/tests/decorators/test_uri_parsing.py b/tests/decorators/test_uri_parsing.py index 27b7f3203..e14420925 100644 --- a/tests/decorators/test_uri_parsing.py +++ b/tests/decorators/test_uri_parsing.py @@ -1,6 +1,6 @@ +import pytest from werkzeug.datastructures import MultiDict -import pytest from connexion.decorators.uri_parsing import (AlwaysMultiURIParser, FirstValueURIParser, Swagger2URIParser) diff --git a/tests/decorators/test_validation.py b/tests/decorators/test_validation.py index 3576c5dd7..bd51c2d20 100644 --- a/tests/decorators/test_validation.py +++ b/tests/decorators/test_validation.py @@ -1,10 +1,10 @@ +import pytest from jsonschema import ValidationError +from mock import MagicMock -import pytest from connexion.decorators.validation import ParameterValidator from connexion.json_schema import (Draft4RequestValidator, Draft4ResponseValidator) -from mock import MagicMock def test_get_valid_parameter(): diff --git a/tests/fakeapi/__init__.py b/tests/fakeapi/__init__.py index d38cde042..28bc1e50b 100644 --- a/tests/fakeapi/__init__.py +++ b/tests/fakeapi/__init__.py @@ -1,4 +1,5 @@ from .example_method_view import Example_methodView + def get(): return '' diff --git a/tests/fakeapi/aiohttp_handlers.py b/tests/fakeapi/aiohttp_handlers.py index ae72d68e4..6f1040aa8 100755 --- a/tests/fakeapi/aiohttp_handlers.py +++ b/tests/fakeapi/aiohttp_handlers.py @@ -4,6 +4,7 @@ import aiohttp from aiohttp.web import Request from aiohttp.web import Response as AioHttpResponse + from connexion.lifecycle import ConnexionResponse diff --git a/tests/test_api.py b/tests/test_api.py index 96852f91b..ed1ea90a6 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -3,13 +3,13 @@ import pathlib import tempfile +import pytest +from mock import MagicMock from yaml import YAMLError -import pytest from connexion import FlaskApi from connexion.exceptions import InvalidSpecification, ResolverError from connexion.spec import canonical_base_path -from mock import MagicMock TEST_FOLDER = pathlib.Path(__file__).parent diff --git a/tests/test_cli.py b/tests/test_cli.py index a30ecb3b8..cd7624f53 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -1,14 +1,14 @@ import logging +import pytest from click.testing import CliRunner +from mock import MagicMock +from mock import call as mock_call import connexion -import pytest from conftest import FIXTURES_FOLDER from connexion.cli import main from connexion.exceptions import ResolverError -from mock import MagicMock -from mock import call as mock_call @pytest.fixture() diff --git a/tests/test_json_validation.py b/tests/test_json_validation.py index 18b26149f..0ef01f489 100644 --- a/tests/test_json_validation.py +++ b/tests/test_json_validation.py @@ -1,8 +1,8 @@ import json +import pytest from jsonschema.validators import _utils, extend -import pytest from conftest import build_app_from_fixture from connexion import App from connexion.decorators.validation import RequestBodyValidator diff --git a/tests/test_metrics.py b/tests/test_metrics.py index 7b753efc2..932243d2b 100644 --- a/tests/test_metrics.py +++ b/tests/test_metrics.py @@ -1,10 +1,10 @@ import json import flask +from mock import MagicMock import connexion from connexion.decorators.metrics import UWSGIMetricsCollector -from mock import MagicMock def test_timer(monkeypatch): diff --git a/tests/test_operation2.py b/tests/test_operation2.py index 0e5291c93..983e2ab63 100644 --- a/tests/test_operation2.py +++ b/tests/test_operation2.py @@ -5,6 +5,7 @@ import mock import pytest + from connexion.apis.flask_api import Jsonifier from connexion.decorators.security import (get_tokeninfo_remote, validate_scope, verify_security) diff --git a/tests/test_references.py b/tests/test_references.py index 9e979b6d7..f3bc5388d 100644 --- a/tests/test_references.py +++ b/tests/test_references.py @@ -1,5 +1,6 @@ import mock import pytest + from connexion.apis.flask_api import Jsonifier from connexion.json_schema import RefResolutionError, resolve_refs diff --git a/tests/test_resolver.py b/tests/test_resolver.py index 5b17eed8e..fb42b74c3 100644 --- a/tests/test_resolver.py +++ b/tests/test_resolver.py @@ -1,5 +1,6 @@ -import connexion.apps import pytest + +import connexion.apps from connexion.exceptions import ResolverError from connexion.operations import Swagger2Operation from connexion.resolver import Resolver, RestyResolver diff --git a/tests/test_utils.py b/tests/test_utils.py index 864c56f8b..a8702ebd7 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -1,10 +1,11 @@ import math -import connexion.apps import pytest -from connexion import utils from mock import MagicMock +import connexion.apps +from connexion import utils + def test_get_function_from_name(): function = utils.get_function_from_name('math.ceil') diff --git a/tests/test_validation.py b/tests/test_validation.py index 5531a2334..6eded82ec 100644 --- a/tests/test_validation.py +++ b/tests/test_validation.py @@ -1,11 +1,11 @@ import json import flask +# we are using "mock" module here for Py 2.7 support +from mock import MagicMock from connexion.apis.flask_api import FlaskApi from connexion.decorators.validation import ParameterValidator -# we are using "mock" module here for Py 2.7 support -from mock import MagicMock def test_parameter_validator(monkeypatch): diff --git a/tox.ini b/tox.ini index 4c6affc3d..1697134c1 100644 --- a/tox.ini +++ b/tox.ini @@ -43,18 +43,18 @@ commands=python setup.py flake8 [testenv:isort-check] basepython=python3 -deps=isort +deps=isort==4.3.15 changedir={toxinidir}/connexion commands=isort -ns __init__.py -rc -c -df . [testenv:isort-check-examples] basepython=python3 -deps=isort +deps=isort==4.3.15 changedir={toxinidir}/examples commands=isort -ns __init__.py -o connexion -rc -c -df . [testenv:isort-check-tests] basepython=python3 -deps=isort +deps=isort==4.3.15 changedir={toxinidir}/tests commands=isort -ns __init__.py -p connexion -rc -c -df .