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..aa2c4fb34 100644 --- a/connexion/apis/aiohttp_api.py +++ b/connexion/apis/aiohttp_api.py @@ -3,9 +3,8 @@ 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 diff --git a/connexion/apis/flask_api.py b/connexion/apis/flask_api.py index 83f929f90..dca8b8960 100644 --- a/connexion/apis/flask_api.py +++ b/connexion/apis/flask_api.py @@ -3,14 +3,13 @@ import flask import six import werkzeug.exceptions -from werkzeug.local import LocalProxy - from connexion.apis import flask_utils from connexion.apis.abstract import AbstractAPI from connexion.decorators.produces import NoContent from connexion.handlers import AuthErrorHandler from connexion.lifecycle import ConnexionRequest, ConnexionResponse from connexion.utils import Jsonifier, is_json_mimetype, yamldumper +from werkzeug.local import LocalProxy logger = logging.getLogger('connexion.apis.flask_api') diff --git a/connexion/cli.py b/connexion/cli.py index 74318c534..5394f7efd 100644 --- a/connexion/cli.py +++ b/connexion/cli.py @@ -3,9 +3,8 @@ from os import path import click -from clickclick import AliasedGroup, fatal_error - import connexion +from clickclick import AliasedGroup, fatal_error from connexion.mock import MockResolver logger = logging.getLogger('connexion.cli') diff --git a/connexion/decorators/security.py b/connexion/decorators/security.py index 7920fdc54..5ce399ebf 100644 --- a/connexion/decorators/security.py +++ b/connexion/decorators/security.py @@ -6,9 +6,8 @@ import textwrap import requests -from six.moves import http_cookies - from connexion.utils import get_function_from_name +from six.moves import http_cookies from ..exceptions import (ConnexionException, OAuthProblem, OAuthResponseProblem, OAuthScopeProblem) 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/connexion/operations/abstract.py b/connexion/operations/abstract.py index 3643df52a..7774407fd 100644 --- a/connexion/operations/abstract.py +++ b/connexion/operations/abstract.py @@ -2,7 +2,6 @@ import logging import six - from connexion.operations.secure import SecureOperation from ..decorators.metrics import UWSGIMetricsCollector 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..8c51b7b50 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 pytest import yaml import aiohttp.web -import pytest 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/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 .