From e7165a7cf57a31d1b5d5d7d9c9e9788cc299133c Mon Sep 17 00:00:00 2001 From: Anton Ruhlov Date: Fri, 10 Apr 2020 14:49:55 +0300 Subject: Added isort configuration --- setup.cfg | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/setup.cfg b/setup.cfg index ed8a958..af09495 100644 --- a/setup.cfg +++ b/setup.cfg @@ -3,3 +3,13 @@ universal = 1 [metadata] license_file = LICENSE + +[isort] +combine_as_imports = true +default_section = THIRDPARTY +include_trailing_comma = true +known_first_party = oauthlib +known_tests = tests +sections = FUTURE,STDLIB,THIRDPARTY,FIRSTPARTY,TESTS,LOCALFOLDER +line_length = 79 +multi_line_output = 5 \ No newline at end of file -- cgit v1.2.1 From 8ae0ecb598f26ce77c6ae8d3da283e9c65899852 Mon Sep 17 00:00:00 2001 From: Anton Ruhlov Date: Fri, 10 Apr 2020 14:50:16 +0300 Subject: Added isort to tox envlist --- tox.ini | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index abb72ca..1429eb8 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py35,py36,py37,pypy,pypy3,docs,readme,bandit +envlist = py35,py36,py37,pypy,pypy3,docs,readme,bandit,isort [testenv] deps= @@ -34,3 +34,10 @@ skipsdist=True deps=bandit commands=bandit -b bandit.json -r oauthlib/ whitelist_externals=bandit + +[testenv:isort] +basepython = python3.7 +usedevelop = false +deps = isort +changedir = {toxinidir} +commands = isort --recursive --check-only --diff oauthlib tests \ No newline at end of file -- cgit v1.2.1 From aee9bffc796f279c4fcec7cbce2c8c9940b920a6 Mon Sep 17 00:00:00 2001 From: Anton Ruhlov Date: Fri, 10 Apr 2020 14:51:20 +0300 Subject: Added Makefile format command with isort support --- Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile b/Makefile index 64fdc8e..aff928b 100644 --- a/Makefile +++ b/Makefile @@ -34,6 +34,9 @@ clean-build: @rm -fr dist/ @rm -fr *.egg-info +format fmt: + isort --recursive oauthlib tests + test: tox -- cgit v1.2.1 From b6eafeebc11c4729a0b7f7de4d9cb0186b21b509 Mon Sep 17 00:00:00 2001 From: Anton Ruhlov Date: Fri, 10 Apr 2020 14:52:07 +0300 Subject: Sorted tests import per isort 4.3.21 --- .../oauth1/rfc5849/endpoints/test_access_token.py | 2 +- tests/oauth1/rfc5849/endpoints/test_base.py | 15 +- .../oauth1/rfc5849/endpoints/test_request_token.py | 2 +- tests/oauth1/rfc5849/endpoints/test_resource.py | 2 +- .../rfc5849/endpoints/test_signature_only.py | 2 +- tests/oauth1/rfc5849/test_client.py | 9 +- tests/oauth1/rfc5849/test_parameters.py | 10 +- tests/oauth1/rfc5849/test_request_validator.py | 2 +- tests/oauth1/rfc5849/test_signatures.py | 18 +- tests/oauth1/rfc5849/test_utils.py | 2 +- .../rfc6749/clients/test_backend_application.py | 3 +- tests/oauth2/rfc6749/clients/test_base.py | 2 +- .../rfc6749/clients/test_legacy_application.py | 6 +- .../rfc6749/clients/test_mobile_application.py | 3 +- .../rfc6749/clients/test_service_application.py | 4 +- .../oauth2/rfc6749/clients/test_web_application.py | 13 +- .../oauth2/rfc6749/endpoints/test_base_endpoint.py | 12 +- .../endpoints/test_client_authentication.py | 11 +- .../endpoints/test_credentials_preservation.py | 9 +- .../rfc6749/endpoints/test_error_responses.py | 11 +- .../rfc6749/endpoints/test_extra_credentials.py | 9 +- .../rfc6749/endpoints/test_introspect_endpoint.py | 5 +- tests/oauth2/rfc6749/endpoints/test_metadata.py | 6 +- .../endpoints/test_resource_owner_association.py | 11 +- .../rfc6749/endpoints/test_revocation_endpoint.py | 3 +- .../rfc6749/endpoints/test_scope_handling.py | 11 +- .../rfc6749/grant_types/test_authorization_code.py | 8 +- .../rfc6749/grant_types/test_client_credentials.py | 3 +- tests/oauth2/rfc6749/grant_types/test_implicit.py | 2 +- .../rfc6749/grant_types/test_refresh_token.py | 3 +- .../grant_types/test_resource_owner_password.py | 8 +- tests/oauth2/rfc6749/test_parameters.py | 2 +- tests/oauth2/rfc6749/test_request_validator.py | 2 +- tests/oauth2/rfc6749/test_server.py | 15 +- tests/oauth2/rfc6749/test_tokens.py | 9 +- tests/oauth2/rfc6749/test_utils.py | 9 +- .../connect/core/endpoints/test_claims_handling.py | 2 +- .../test_openid_connect_params_handling.py | 7 +- .../core/endpoints/test_userinfo_endpoint.py | 5 +- .../core/grant_types/test_authorization_code.py | 11 +- tests/openid/connect/core/grant_types/test_base.py | 2 +- .../connect/core/grant_types/test_dispatchers.py | 16 +- .../openid/connect/core/grant_types/test_hybrid.py | 7 +- .../connect/core/grant_types/test_implicit.py | 2 + tests/openid/connect/core/test_server.py | 12 +- tests/test_common.py | 182 ++++++++++----------- tests/unittest/__init__.py | 2 +- 47 files changed, 242 insertions(+), 250 deletions(-) diff --git a/tests/oauth1/rfc5849/endpoints/test_access_token.py b/tests/oauth1/rfc5849/endpoints/test_access_token.py index 05d62fc..57d8117 100644 --- a/tests/oauth1/rfc5849/endpoints/test_access_token.py +++ b/tests/oauth1/rfc5849/endpoints/test_access_token.py @@ -4,7 +4,7 @@ from oauthlib.oauth1 import RequestValidator from oauthlib.oauth1.rfc5849 import Client from oauthlib.oauth1.rfc5849.endpoints import AccessTokenEndpoint -from ....unittest import TestCase +from tests.unittest import TestCase class AccessTokenEndpointTest(TestCase): diff --git a/tests/oauth1/rfc5849/endpoints/test_base.py b/tests/oauth1/rfc5849/endpoints/test_base.py index 6fc991a..e87f359 100644 --- a/tests/oauth1/rfc5849/endpoints/test_base.py +++ b/tests/oauth1/rfc5849/endpoints/test_base.py @@ -1,15 +1,16 @@ from re import sub - from unittest.mock import MagicMock from oauthlib.common import CaseInsensitiveDict, safe_string_equals from oauthlib.oauth1 import Client, RequestValidator -from oauthlib.oauth1.rfc5849 import (SIGNATURE_HMAC, SIGNATURE_PLAINTEXT, - SIGNATURE_RSA, errors) -from oauthlib.oauth1.rfc5849.endpoints import (BaseEndpoint, - RequestTokenEndpoint) - -from ....unittest import TestCase +from oauthlib.oauth1.rfc5849 import ( + SIGNATURE_HMAC, SIGNATURE_PLAINTEXT, SIGNATURE_RSA, errors, +) +from oauthlib.oauth1.rfc5849.endpoints import ( + BaseEndpoint, RequestTokenEndpoint, +) + +from tests.unittest import TestCase URLENCODED = {"Content-Type": "application/x-www-form-urlencoded"} diff --git a/tests/oauth1/rfc5849/endpoints/test_request_token.py b/tests/oauth1/rfc5849/endpoints/test_request_token.py index e16ea7b..879cad2 100644 --- a/tests/oauth1/rfc5849/endpoints/test_request_token.py +++ b/tests/oauth1/rfc5849/endpoints/test_request_token.py @@ -4,7 +4,7 @@ from oauthlib.oauth1 import RequestValidator from oauthlib.oauth1.rfc5849 import Client from oauthlib.oauth1.rfc5849.endpoints import RequestTokenEndpoint -from ....unittest import TestCase +from tests.unittest import TestCase class RequestTokenEndpointTest(TestCase): diff --git a/tests/oauth1/rfc5849/endpoints/test_resource.py b/tests/oauth1/rfc5849/endpoints/test_resource.py index 2aeb1c8..416216f 100644 --- a/tests/oauth1/rfc5849/endpoints/test_resource.py +++ b/tests/oauth1/rfc5849/endpoints/test_resource.py @@ -4,7 +4,7 @@ from oauthlib.oauth1 import RequestValidator from oauthlib.oauth1.rfc5849 import Client from oauthlib.oauth1.rfc5849.endpoints import ResourceEndpoint -from ....unittest import TestCase +from tests.unittest import TestCase class ResourceEndpointTest(TestCase): diff --git a/tests/oauth1/rfc5849/endpoints/test_signature_only.py b/tests/oauth1/rfc5849/endpoints/test_signature_only.py index 2ff1073..16585bd 100644 --- a/tests/oauth1/rfc5849/endpoints/test_signature_only.py +++ b/tests/oauth1/rfc5849/endpoints/test_signature_only.py @@ -4,7 +4,7 @@ from oauthlib.oauth1 import RequestValidator from oauthlib.oauth1.rfc5849 import Client from oauthlib.oauth1.rfc5849.endpoints import SignatureOnlyEndpoint -from ....unittest import TestCase +from tests.unittest import TestCase class SignatureOnlyEndpointTest(TestCase): diff --git a/tests/oauth1/rfc5849/test_client.py b/tests/oauth1/rfc5849/test_client.py index 5c805a1..f7c997f 100644 --- a/tests/oauth1/rfc5849/test_client.py +++ b/tests/oauth1/rfc5849/test_client.py @@ -1,11 +1,12 @@ # -*- coding: utf-8 -*- from oauthlib.common import Request -from oauthlib.oauth1 import (SIGNATURE_PLAINTEXT, SIGNATURE_HMAC_SHA1, - SIGNATURE_HMAC_SHA256, SIGNATURE_RSA, - SIGNATURE_TYPE_BODY, SIGNATURE_TYPE_QUERY) +from oauthlib.oauth1 import ( + SIGNATURE_HMAC_SHA1, SIGNATURE_HMAC_SHA256, SIGNATURE_PLAINTEXT, + SIGNATURE_RSA, SIGNATURE_TYPE_BODY, SIGNATURE_TYPE_QUERY, +) from oauthlib.oauth1.rfc5849 import Client -from ...unittest import TestCase +from tests.unittest import TestCase class ClientRealmTests(TestCase): diff --git a/tests/oauth1/rfc5849/test_parameters.py b/tests/oauth1/rfc5849/test_parameters.py index 3afbb3a..92b95c1 100644 --- a/tests/oauth1/rfc5849/test_parameters.py +++ b/tests/oauth1/rfc5849/test_parameters.py @@ -1,11 +1,11 @@ # -*- coding: utf-8 -*- from oauthlib.common import urlencode -from oauthlib.oauth1.rfc5849.parameters import (_append_params, - prepare_form_encoded_body, - prepare_headers, - prepare_request_uri_query) +from oauthlib.oauth1.rfc5849.parameters import ( + _append_params, prepare_form_encoded_body, prepare_headers, + prepare_request_uri_query, +) -from ...unittest import TestCase +from tests.unittest import TestCase class ParameterTests(TestCase): diff --git a/tests/oauth1/rfc5849/test_request_validator.py b/tests/oauth1/rfc5849/test_request_validator.py index a3fe58f..8d34415 100644 --- a/tests/oauth1/rfc5849/test_request_validator.py +++ b/tests/oauth1/rfc5849/test_request_validator.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- from oauthlib.oauth1 import RequestValidator -from ...unittest import TestCase +from tests.unittest import TestCase class RequestValidatorTests(TestCase): diff --git a/tests/oauth1/rfc5849/test_signatures.py b/tests/oauth1/rfc5849/test_signatures.py index 89219f7..2de4e8a 100644 --- a/tests/oauth1/rfc5849/test_signatures.py +++ b/tests/oauth1/rfc5849/test_signatures.py @@ -1,19 +1,13 @@ # -*- coding: utf-8 -*- -from oauthlib.oauth1.rfc5849.signature import (collect_parameters, - signature_base_string, - base_string_uri, - normalize_parameters, - sign_hmac_sha1, - sign_hmac_sha1_with_client, - sign_plaintext, - sign_plaintext_with_client, - sign_rsa_sha1, - sign_rsa_sha1_with_client) from urllib.parse import quote -from ...unittest import TestCase - +from oauthlib.oauth1.rfc5849.signature import ( + base_string_uri, collect_parameters, normalize_parameters, sign_hmac_sha1, + sign_hmac_sha1_with_client, sign_plaintext, sign_plaintext_with_client, + sign_rsa_sha1, sign_rsa_sha1_with_client, signature_base_string, +) +from tests.unittest import TestCase class SignatureTests(TestCase): diff --git a/tests/oauth1/rfc5849/test_utils.py b/tests/oauth1/rfc5849/test_utils.py index ba8ed0e..013c71a 100644 --- a/tests/oauth1/rfc5849/test_utils.py +++ b/tests/oauth1/rfc5849/test_utils.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- from oauthlib.oauth1.rfc5849.utils import * -from ...unittest import TestCase +from tests.unittest import TestCase class UtilsTests(TestCase): diff --git a/tests/oauth2/rfc6749/clients/test_backend_application.py b/tests/oauth2/rfc6749/clients/test_backend_application.py index b05786a..c1489ac 100644 --- a/tests/oauth2/rfc6749/clients/test_backend_application.py +++ b/tests/oauth2/rfc6749/clients/test_backend_application.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- import os - from unittest.mock import patch from oauthlib import signals from oauthlib.oauth2 import BackendApplicationClient -from ....unittest import TestCase +from tests.unittest import TestCase @patch('time.time', new=lambda: 1000) diff --git a/tests/oauth2/rfc6749/clients/test_base.py b/tests/oauth2/rfc6749/clients/test_base.py index c545c25..c77cfed 100644 --- a/tests/oauth2/rfc6749/clients/test_base.py +++ b/tests/oauth2/rfc6749/clients/test_base.py @@ -6,7 +6,7 @@ from oauthlib.oauth2 import Client, InsecureTransportError, TokenExpiredError from oauthlib.oauth2.rfc6749 import utils from oauthlib.oauth2.rfc6749.clients import AUTH_HEADER, BODY, URI_QUERY -from ....unittest import TestCase +from tests.unittest import TestCase class ClientTest(TestCase): diff --git a/tests/oauth2/rfc6749/clients/test_legacy_application.py b/tests/oauth2/rfc6749/clients/test_legacy_application.py index 1daf2a3..b5a1819 100644 --- a/tests/oauth2/rfc6749/clients/test_legacy_application.py +++ b/tests/oauth2/rfc6749/clients/test_legacy_application.py @@ -1,14 +1,12 @@ # -*- coding: utf-8 -*- import os - +import urllib.parse as urlparse from unittest.mock import patch from oauthlib import signals from oauthlib.oauth2 import LegacyApplicationClient -import urllib.parse as urlparse - -from ....unittest import TestCase +from tests.unittest import TestCase @patch('time.time', new=lambda: 1000) diff --git a/tests/oauth2/rfc6749/clients/test_mobile_application.py b/tests/oauth2/rfc6749/clients/test_mobile_application.py index 2fb839e..c40950c 100644 --- a/tests/oauth2/rfc6749/clients/test_mobile_application.py +++ b/tests/oauth2/rfc6749/clients/test_mobile_application.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- import os - from unittest.mock import patch from oauthlib import signals from oauthlib.oauth2 import MobileApplicationClient -from ....unittest import TestCase +from tests.unittest import TestCase @patch('time.time', new=lambda: 1000) diff --git a/tests/oauth2/rfc6749/clients/test_service_application.py b/tests/oauth2/rfc6749/clients/test_service_application.py index 6f48e23..b97d855 100644 --- a/tests/oauth2/rfc6749/clients/test_service_application.py +++ b/tests/oauth2/rfc6749/clients/test_service_application.py @@ -1,14 +1,14 @@ # -*- coding: utf-8 -*- import os from time import time +from unittest.mock import patch import jwt -from unittest.mock import patch from oauthlib.common import Request from oauthlib.oauth2 import ServiceApplicationClient -from ....unittest import TestCase +from tests.unittest import TestCase class ServiceApplicationClientTest(TestCase): diff --git a/tests/oauth2/rfc6749/clients/test_web_application.py b/tests/oauth2/rfc6749/clients/test_web_application.py index 719a07d..1f711f4 100644 --- a/tests/oauth2/rfc6749/clients/test_web_application.py +++ b/tests/oauth2/rfc6749/clients/test_web_application.py @@ -1,19 +1,18 @@ # -*- coding: utf-8 -*- import os +import urllib.parse as urlparse import warnings - from unittest.mock import patch from oauthlib import common, signals -from oauthlib.oauth2 import (BackendApplicationClient, Client, - LegacyApplicationClient, MobileApplicationClient, - WebApplicationClient) +from oauthlib.oauth2 import ( + BackendApplicationClient, Client, LegacyApplicationClient, + MobileApplicationClient, WebApplicationClient, +) from oauthlib.oauth2.rfc6749 import errors, utils from oauthlib.oauth2.rfc6749.clients import AUTH_HEADER, BODY, URI_QUERY -import urllib.parse as urlparse - -from ....unittest import TestCase +from tests.unittest import TestCase @patch('time.time', new=lambda: 1000) diff --git a/tests/oauth2/rfc6749/endpoints/test_base_endpoint.py b/tests/oauth2/rfc6749/endpoints/test_base_endpoint.py index 2289b58..b1af6c3 100644 --- a/tests/oauth2/rfc6749/endpoints/test_base_endpoint.py +++ b/tests/oauth2/rfc6749/endpoints/test_base_endpoint.py @@ -1,10 +1,12 @@ # -*- coding: utf-8 -*- -from oauthlib.oauth2 import (FatalClientError, OAuth2Error, RequestValidator, - Server) -from oauthlib.oauth2.rfc6749 import (BaseEndpoint, - catch_errors_and_unavailability) +from oauthlib.oauth2 import ( + FatalClientError, OAuth2Error, RequestValidator, Server, +) +from oauthlib.oauth2.rfc6749 import ( + BaseEndpoint, catch_errors_and_unavailability, +) -from ....unittest import TestCase +from tests.unittest import TestCase class BaseEndpointTest(TestCase): diff --git a/tests/oauth2/rfc6749/endpoints/test_client_authentication.py b/tests/oauth2/rfc6749/endpoints/test_client_authentication.py index 69cb7ee..0659ee0 100644 --- a/tests/oauth2/rfc6749/endpoints/test_client_authentication.py +++ b/tests/oauth2/rfc6749/endpoints/test_client_authentication.py @@ -10,14 +10,15 @@ on the request object with a client_id parameter. The client_id attribute prevents this check from being circumvented with a client form parameter. """ import json - from unittest import mock -from oauthlib.oauth2 import (BackendApplicationServer, LegacyApplicationServer, - MobileApplicationServer, RequestValidator, - WebApplicationServer) +from oauthlib.oauth2 import ( + BackendApplicationServer, LegacyApplicationServer, MobileApplicationServer, + RequestValidator, WebApplicationServer, +) + +from tests.unittest import TestCase -from ....unittest import TestCase from .test_utils import get_fragment_credentials diff --git a/tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py b/tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py index 9a76da9..32c770c 100644 --- a/tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py +++ b/tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py @@ -4,14 +4,15 @@ The Authorization Code Grant will need to preserve state as well as redirect uri and the Implicit Grant will need to preserve state. """ import json - from unittest import mock -from oauthlib.oauth2 import (MobileApplicationServer, RequestValidator, - WebApplicationServer) +from oauthlib.oauth2 import ( + MobileApplicationServer, RequestValidator, WebApplicationServer, +) from oauthlib.oauth2.rfc6749 import errors -from ....unittest import TestCase +from tests.unittest import TestCase + from .test_utils import get_fragment_credentials, get_query_credentials diff --git a/tests/oauth2/rfc6749/endpoints/test_error_responses.py b/tests/oauth2/rfc6749/endpoints/test_error_responses.py index aac66df..3f53c71 100644 --- a/tests/oauth2/rfc6749/endpoints/test_error_responses.py +++ b/tests/oauth2/rfc6749/endpoints/test_error_responses.py @@ -1,15 +1,16 @@ """Ensure the correct error responses are returned for all defined error types. """ import json - from unittest import mock from oauthlib.common import urlencode -from oauthlib.oauth2 import (BackendApplicationServer, LegacyApplicationServer, - MobileApplicationServer, RequestValidator, - WebApplicationServer) +from oauthlib.oauth2 import ( + BackendApplicationServer, LegacyApplicationServer, MobileApplicationServer, + RequestValidator, WebApplicationServer, +) from oauthlib.oauth2.rfc6749 import errors -from ....unittest import TestCase + +from tests.unittest import TestCase class ErrorResponseTest(TestCase): diff --git a/tests/oauth2/rfc6749/endpoints/test_extra_credentials.py b/tests/oauth2/rfc6749/endpoints/test_extra_credentials.py index 936a129..97aaf86 100644 --- a/tests/oauth2/rfc6749/endpoints/test_extra_credentials.py +++ b/tests/oauth2/rfc6749/endpoints/test_extra_credentials.py @@ -2,11 +2,12 @@ """ from unittest import mock -from oauthlib.oauth2 import (BackendApplicationServer, LegacyApplicationServer, - MobileApplicationServer, RequestValidator, - WebApplicationServer) +from oauthlib.oauth2 import ( + BackendApplicationServer, LegacyApplicationServer, MobileApplicationServer, + RequestValidator, WebApplicationServer, +) -from ....unittest import TestCase +from tests.unittest import TestCase class ExtraCredentialsTest(TestCase): diff --git a/tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py b/tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py index 3c67673..04df6a2 100644 --- a/tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py +++ b/tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- from json import loads - from unittest.mock import MagicMock from oauthlib.common import urlencode -from oauthlib.oauth2 import RequestValidator, IntrospectEndpoint +from oauthlib.oauth2 import IntrospectEndpoint, RequestValidator -from ....unittest import TestCase +from tests.unittest import TestCase class IntrospectEndpointTest(TestCase): diff --git a/tests/oauth2/rfc6749/endpoints/test_metadata.py b/tests/oauth2/rfc6749/endpoints/test_metadata.py index a01500f..681119a 100644 --- a/tests/oauth2/rfc6749/endpoints/test_metadata.py +++ b/tests/oauth2/rfc6749/endpoints/test_metadata.py @@ -1,9 +1,7 @@ # -*- coding: utf-8 -*- -from oauthlib.oauth2 import MetadataEndpoint -from oauthlib.oauth2 import TokenEndpoint -from oauthlib.oauth2 import Server +from oauthlib.oauth2 import MetadataEndpoint, Server, TokenEndpoint -from ....unittest import TestCase +from tests.unittest import TestCase class MetadataEndpointTest(TestCase): diff --git a/tests/oauth2/rfc6749/endpoints/test_resource_owner_association.py b/tests/oauth2/rfc6749/endpoints/test_resource_owner_association.py index 6280cac..0453388 100644 --- a/tests/oauth2/rfc6749/endpoints/test_resource_owner_association.py +++ b/tests/oauth2/rfc6749/endpoints/test_resource_owner_association.py @@ -1,14 +1,15 @@ """Ensure all tokens are associated with a resource owner. """ import json - from unittest import mock -from oauthlib.oauth2 import (BackendApplicationServer, LegacyApplicationServer, - MobileApplicationServer, RequestValidator, - WebApplicationServer) +from oauthlib.oauth2 import ( + BackendApplicationServer, LegacyApplicationServer, MobileApplicationServer, + RequestValidator, WebApplicationServer, +) + +from tests.unittest import TestCase -from ....unittest import TestCase from .test_utils import get_fragment_credentials, get_query_credentials diff --git a/tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py b/tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py index 6bfba9a..a4182eb 100644 --- a/tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py +++ b/tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- from json import loads - from unittest.mock import MagicMock from oauthlib.common import urlencode from oauthlib.oauth2 import RequestValidator, RevocationEndpoint -from ....unittest import TestCase +from tests.unittest import TestCase class RevocationEndpointTest(TestCase): diff --git a/tests/oauth2/rfc6749/endpoints/test_scope_handling.py b/tests/oauth2/rfc6749/endpoints/test_scope_handling.py index 0bf760b..4c87d9c 100644 --- a/tests/oauth2/rfc6749/endpoints/test_scope_handling.py +++ b/tests/oauth2/rfc6749/endpoints/test_scope_handling.py @@ -4,14 +4,15 @@ Fairly trivial in all grants except the Authorization Code Grant where scope need to be persisted temporarily in an authorization code. """ import json - from unittest import mock -from oauthlib.oauth2 import (BackendApplicationServer, LegacyApplicationServer, - MobileApplicationServer, RequestValidator, Server, - WebApplicationServer) +from oauthlib.oauth2 import ( + BackendApplicationServer, LegacyApplicationServer, MobileApplicationServer, + RequestValidator, Server, WebApplicationServer, +) + +from tests.unittest import TestCase -from ....unittest import TestCase from .test_utils import get_fragment_credentials, get_query_credentials diff --git a/tests/oauth2/rfc6749/grant_types/test_authorization_code.py b/tests/oauth2/rfc6749/grant_types/test_authorization_code.py index a9e384f..20a2416 100644 --- a/tests/oauth2/rfc6749/grant_types/test_authorization_code.py +++ b/tests/oauth2/rfc6749/grant_types/test_authorization_code.py @@ -1,15 +1,15 @@ # -*- coding: utf-8 -*- import json - from unittest import mock from oauthlib.common import Request from oauthlib.oauth2.rfc6749 import errors -from oauthlib.oauth2.rfc6749.grant_types import AuthorizationCodeGrant -from oauthlib.oauth2.rfc6749.grant_types import authorization_code +from oauthlib.oauth2.rfc6749.grant_types import ( + AuthorizationCodeGrant, authorization_code, +) from oauthlib.oauth2.rfc6749.tokens import BearerToken -from ....unittest import TestCase +from tests.unittest import TestCase class AuthorizationCodeGrantTest(TestCase): diff --git a/tests/oauth2/rfc6749/grant_types/test_client_credentials.py b/tests/oauth2/rfc6749/grant_types/test_client_credentials.py index 0a45ef6..e9559c7 100644 --- a/tests/oauth2/rfc6749/grant_types/test_client_credentials.py +++ b/tests/oauth2/rfc6749/grant_types/test_client_credentials.py @@ -1,13 +1,12 @@ # -*- coding: utf-8 -*- import json - from unittest import mock from oauthlib.common import Request from oauthlib.oauth2.rfc6749.grant_types import ClientCredentialsGrant from oauthlib.oauth2.rfc6749.tokens import BearerToken -from ....unittest import TestCase +from tests.unittest import TestCase class ClientCredentialsGrantTest(TestCase): diff --git a/tests/oauth2/rfc6749/grant_types/test_implicit.py b/tests/oauth2/rfc6749/grant_types/test_implicit.py index 4a0313d..1fb71a1 100644 --- a/tests/oauth2/rfc6749/grant_types/test_implicit.py +++ b/tests/oauth2/rfc6749/grant_types/test_implicit.py @@ -5,7 +5,7 @@ from oauthlib.common import Request from oauthlib.oauth2.rfc6749.grant_types import ImplicitGrant from oauthlib.oauth2.rfc6749.tokens import BearerToken -from ....unittest import TestCase +from tests.unittest import TestCase class ImplicitGrantTest(TestCase): diff --git a/tests/oauth2/rfc6749/grant_types/test_refresh_token.py b/tests/oauth2/rfc6749/grant_types/test_refresh_token.py index 0d0fd37..1d3e77a 100644 --- a/tests/oauth2/rfc6749/grant_types/test_refresh_token.py +++ b/tests/oauth2/rfc6749/grant_types/test_refresh_token.py @@ -1,6 +1,5 @@ # -*- coding: utf-8 -*- import json - from unittest import mock from oauthlib.common import Request @@ -8,7 +7,7 @@ from oauthlib.oauth2.rfc6749 import errors from oauthlib.oauth2.rfc6749.grant_types import RefreshTokenGrant from oauthlib.oauth2.rfc6749.tokens import BearerToken -from ....unittest import TestCase +from tests.unittest import TestCase class RefreshTokenGrantTest(TestCase): diff --git a/tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py b/tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py index 42f0aa6..294e27b 100644 --- a/tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py +++ b/tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py @@ -1,15 +1,15 @@ # -*- coding: utf-8 -*- import json - from unittest import mock from oauthlib.common import Request from oauthlib.oauth2.rfc6749 import errors -from oauthlib.oauth2.rfc6749.grant_types import \ - ResourceOwnerPasswordCredentialsGrant +from oauthlib.oauth2.rfc6749.grant_types import ( + ResourceOwnerPasswordCredentialsGrant, +) from oauthlib.oauth2.rfc6749.tokens import BearerToken -from ....unittest import TestCase +from tests.unittest import TestCase class ResourceOwnerPasswordCredentialsGrantTest(TestCase): diff --git a/tests/oauth2/rfc6749/test_parameters.py b/tests/oauth2/rfc6749/test_parameters.py index 4380447..f9245ec 100644 --- a/tests/oauth2/rfc6749/test_parameters.py +++ b/tests/oauth2/rfc6749/test_parameters.py @@ -4,7 +4,7 @@ from oauthlib import signals from oauthlib.oauth2.rfc6749.errors import * from oauthlib.oauth2.rfc6749.parameters import * -from ...unittest import TestCase +from tests.unittest import TestCase @patch('time.time', new=lambda: 1000) diff --git a/tests/oauth2/rfc6749/test_request_validator.py b/tests/oauth2/rfc6749/test_request_validator.py index 257280c..9688b5a 100644 --- a/tests/oauth2/rfc6749/test_request_validator.py +++ b/tests/oauth2/rfc6749/test_request_validator.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- from oauthlib.oauth2 import RequestValidator -from ...unittest import TestCase +from tests.unittest import TestCase class RequestValidatorTest(TestCase): diff --git a/tests/oauth2/rfc6749/test_server.py b/tests/oauth2/rfc6749/test_server.py index e6ad5cd..94af37e 100644 --- a/tests/oauth2/rfc6749/test_server.py +++ b/tests/oauth2/rfc6749/test_server.py @@ -1,20 +1,21 @@ # -*- coding: utf-8 -*- import json - from unittest import mock from oauthlib import common from oauthlib.oauth2.rfc6749 import errors, tokens from oauthlib.oauth2.rfc6749.endpoints import Server -from oauthlib.oauth2.rfc6749.endpoints.authorization import AuthorizationEndpoint +from oauthlib.oauth2.rfc6749.endpoints.authorization import ( + AuthorizationEndpoint, +) from oauthlib.oauth2.rfc6749.endpoints.resource import ResourceEndpoint from oauthlib.oauth2.rfc6749.endpoints.token import TokenEndpoint -from oauthlib.oauth2.rfc6749.grant_types import (AuthorizationCodeGrant, - ClientCredentialsGrant, - ImplicitGrant, - ResourceOwnerPasswordCredentialsGrant) +from oauthlib.oauth2.rfc6749.grant_types import ( + AuthorizationCodeGrant, ClientCredentialsGrant, ImplicitGrant, + ResourceOwnerPasswordCredentialsGrant, +) -from ...unittest import TestCase +from tests.unittest import TestCase class AuthorizationEndpointTest(TestCase): diff --git a/tests/oauth2/rfc6749/test_tokens.py b/tests/oauth2/rfc6749/test_tokens.py index 8402133..fa6b1c0 100644 --- a/tests/oauth2/rfc6749/test_tokens.py +++ b/tests/oauth2/rfc6749/test_tokens.py @@ -2,14 +2,11 @@ from unittest import mock from oauthlib.common import Request from oauthlib.oauth2.rfc6749.tokens import ( - BearerToken, - prepare_bearer_body, - prepare_bearer_headers, - prepare_bearer_uri, - prepare_mac_header, + BearerToken, prepare_bearer_body, prepare_bearer_headers, + prepare_bearer_uri, prepare_mac_header, ) -from ...unittest import TestCase +from tests.unittest import TestCase class TokenTest(TestCase): diff --git a/tests/oauth2/rfc6749/test_utils.py b/tests/oauth2/rfc6749/test_utils.py index cfc6c2c..3299591 100644 --- a/tests/oauth2/rfc6749/test_utils.py +++ b/tests/oauth2/rfc6749/test_utils.py @@ -1,11 +1,12 @@ import datetime import os -from oauthlib.oauth2.rfc6749.utils import (escape, generate_age, host_from_uri, - is_secure_transport, list_to_scope, - params_from_uri, scope_to_list) +from oauthlib.oauth2.rfc6749.utils import ( + escape, generate_age, host_from_uri, is_secure_transport, list_to_scope, + params_from_uri, scope_to_list, +) -from ...unittest import TestCase +from tests.unittest import TestCase class ScopeObject: diff --git a/tests/openid/connect/core/endpoints/test_claims_handling.py b/tests/openid/connect/core/endpoints/test_claims_handling.py index 1fe86ef..bc70269 100644 --- a/tests/openid/connect/core/endpoints/test_claims_handling.py +++ b/tests/openid/connect/core/endpoints/test_claims_handling.py @@ -11,8 +11,8 @@ from unittest import mock from oauthlib.openid import RequestValidator from oauthlib.openid.connect.core.endpoints.pre_configured import Server -from tests.unittest import TestCase from tests.oauth2.rfc6749.endpoints.test_utils import get_query_credentials +from tests.unittest import TestCase class TestClaimsHandling(TestCase): diff --git a/tests/openid/connect/core/endpoints/test_openid_connect_params_handling.py b/tests/openid/connect/core/endpoints/test_openid_connect_params_handling.py index 98482e2..c55136f 100644 --- a/tests/openid/connect/core/endpoints/test_openid_connect_params_handling.py +++ b/tests/openid/connect/core/endpoints/test_openid_connect_params_handling.py @@ -1,11 +1,12 @@ from unittest import mock +from urllib.parse import urlencode from oauthlib.oauth2 import InvalidRequestError -from oauthlib.oauth2.rfc6749.endpoints.authorization import \ - AuthorizationEndpoint +from oauthlib.oauth2.rfc6749.endpoints.authorization import ( + AuthorizationEndpoint, +) from oauthlib.oauth2.rfc6749.tokens import BearerToken from oauthlib.openid.connect.core.grant_types import AuthorizationCodeGrant -from urllib.parse import urlencode from tests.unittest import TestCase diff --git a/tests/openid/connect/core/endpoints/test_userinfo_endpoint.py b/tests/openid/connect/core/endpoints/test_userinfo_endpoint.py index dd48bdd..4833485 100644 --- a/tests/openid/connect/core/endpoints/test_userinfo_endpoint.py +++ b/tests/openid/connect/core/endpoints/test_userinfo_endpoint.py @@ -1,10 +1,9 @@ # -*- coding: utf-8 -*- -from unittest import mock import json +from unittest import mock -from oauthlib.openid import RequestValidator -from oauthlib.openid import UserInfoEndpoint from oauthlib.oauth2.rfc6749 import errors +from oauthlib.openid import RequestValidator, UserInfoEndpoint from tests.unittest import TestCase diff --git a/tests/openid/connect/core/grant_types/test_authorization_code.py b/tests/openid/connect/core/grant_types/test_authorization_code.py index 829af92..91e24b3 100644 --- a/tests/openid/connect/core/grant_types/test_authorization_code.py +++ b/tests/openid/connect/core/grant_types/test_authorization_code.py @@ -1,17 +1,18 @@ # -*- coding: utf-8 -*- import json - from unittest import mock from oauthlib.common import Request from oauthlib.oauth2.rfc6749.tokens import BearerToken - -from oauthlib.openid.connect.core.grant_types.authorization_code import AuthorizationCodeGrant +from oauthlib.openid.connect.core.grant_types.authorization_code import ( + AuthorizationCodeGrant, +) from oauthlib.openid.connect.core.grant_types.exceptions import OIDCNoPrompt +from tests.oauth2.rfc6749.grant_types.test_authorization_code import ( + AuthorizationCodeGrantTest, +) from tests.unittest import TestCase -from tests.oauth2.rfc6749.grant_types.test_authorization_code import \ - AuthorizationCodeGrantTest def get_id_token_mock(token, token_handler, request): diff --git a/tests/openid/connect/core/grant_types/test_base.py b/tests/openid/connect/core/grant_types/test_base.py index 786b24b..a88834b 100644 --- a/tests/openid/connect/core/grant_types/test_base.py +++ b/tests/openid/connect/core/grant_types/test_base.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from unittest import mock import time +from unittest import mock from oauthlib.common import Request from oauthlib.openid.connect.core.grant_types.base import GrantTypeBase diff --git a/tests/openid/connect/core/grant_types/test_dispatchers.py b/tests/openid/connect/core/grant_types/test_dispatchers.py index d423915..ccbada4 100644 --- a/tests/openid/connect/core/grant_types/test_dispatchers.py +++ b/tests/openid/connect/core/grant_types/test_dispatchers.py @@ -2,19 +2,17 @@ from unittest import mock from oauthlib.common import Request - -from oauthlib.openid.connect.core.grant_types.authorization_code import AuthorizationCodeGrant -from oauthlib.openid.connect.core.grant_types.implicit import ImplicitGrant -from oauthlib.openid.connect.core.grant_types.dispatchers import ( - ImplicitTokenGrantDispatcher, - AuthorizationTokenGrantDispatcher -) - from oauthlib.oauth2.rfc6749.grant_types import ( AuthorizationCodeGrant as OAuth2AuthorizationCodeGrant, ImplicitGrant as OAuth2ImplicitGrant, ) - +from oauthlib.openid.connect.core.grant_types.authorization_code import ( + AuthorizationCodeGrant, +) +from oauthlib.openid.connect.core.grant_types.dispatchers import ( + AuthorizationTokenGrantDispatcher, ImplicitTokenGrantDispatcher, +) +from oauthlib.openid.connect.core.grant_types.implicit import ImplicitGrant from tests.unittest import TestCase diff --git a/tests/openid/connect/core/grant_types/test_hybrid.py b/tests/openid/connect/core/grant_types/test_hybrid.py index 53175df..fb61b04 100644 --- a/tests/openid/connect/core/grant_types/test_hybrid.py +++ b/tests/openid/connect/core/grant_types/test_hybrid.py @@ -4,8 +4,11 @@ from unittest import mock from oauthlib.oauth2.rfc6749 import errors from oauthlib.oauth2.rfc6749.tokens import BearerToken from oauthlib.openid.connect.core.grant_types.hybrid import HybridGrant -from tests.oauth2.rfc6749.grant_types.test_authorization_code import \ - AuthorizationCodeGrantTest + +from tests.oauth2.rfc6749.grant_types.test_authorization_code import ( + AuthorizationCodeGrantTest, +) + from .test_authorization_code import OpenIDAuthCodeTest diff --git a/tests/openid/connect/core/grant_types/test_implicit.py b/tests/openid/connect/core/grant_types/test_implicit.py index b914eb6..80069ac 100644 --- a/tests/openid/connect/core/grant_types/test_implicit.py +++ b/tests/openid/connect/core/grant_types/test_implicit.py @@ -6,8 +6,10 @@ from oauthlib.oauth2.rfc6749 import errors from oauthlib.oauth2.rfc6749.tokens import BearerToken from oauthlib.openid.connect.core.grant_types.exceptions import OIDCNoPrompt from oauthlib.openid.connect.core.grant_types.implicit import ImplicitGrant + from tests.oauth2.rfc6749.grant_types.test_implicit import ImplicitGrantTest from tests.unittest import TestCase + from .test_authorization_code import get_id_token_mock diff --git a/tests/openid/connect/core/test_server.py b/tests/openid/connect/core/test_server.py index bb3cc3c..47f0ecc 100644 --- a/tests/openid/connect/core/test_server.py +++ b/tests/openid/connect/core/test_server.py @@ -1,16 +1,18 @@ # -*- coding: utf-8 -*- import json - from unittest import mock from oauthlib.oauth2.rfc6749 import errors -from oauthlib.oauth2.rfc6749.endpoints.authorization import AuthorizationEndpoint +from oauthlib.oauth2.rfc6749.endpoints.authorization import ( + AuthorizationEndpoint, +) from oauthlib.oauth2.rfc6749.endpoints.token import TokenEndpoint from oauthlib.oauth2.rfc6749.tokens import BearerToken - -from oauthlib.openid.connect.core.grant_types.authorization_code import AuthorizationCodeGrant -from oauthlib.openid.connect.core.grant_types.implicit import ImplicitGrant +from oauthlib.openid.connect.core.grant_types.authorization_code import ( + AuthorizationCodeGrant, +) from oauthlib.openid.connect.core.grant_types.hybrid import HybridGrant +from oauthlib.openid.connect.core.grant_types.implicit import ImplicitGrant from tests.unittest import TestCase diff --git a/tests/test_common.py b/tests/test_common.py index b0fb4b0..5cf54bf 100644 --- a/tests/test_common.py +++ b/tests/test_common.py @@ -1,50 +1,46 @@ # -*- coding: utf-8 -*- -import os -import sys import oauthlib -from oauthlib.common import (CaseInsensitiveDict, Request, add_params_to_uri, - extract_params, generate_client_id, - generate_nonce, generate_timestamp, - generate_token, urldecode) +from oauthlib.common import ( + CaseInsensitiveDict, Request, add_params_to_uri, extract_params, + generate_client_id, generate_nonce, generate_timestamp, generate_token, + urldecode, +) from .unittest import TestCase -PARAMS_DICT = {'foo': 'bar', 'baz': '123', } -PARAMS_TWOTUPLE = [('foo', 'bar'), ('baz', '123')] -PARAMS_FORMENCODED = 'foo=bar&baz=123' -URI = 'http://www.someuri.com' +PARAMS_DICT = {"foo": "bar", "baz": "123"} +PARAMS_TWOTUPLE = [("foo", "bar"), ("baz", "123")] +PARAMS_FORMENCODED = "foo=bar&baz=123" +URI = "http://www.someuri.com" class EncodingTest(TestCase): - def test_urldecode(self): - self.assertCountEqual(urldecode(''), []) - self.assertCountEqual(urldecode('='), [('', '')]) - self.assertCountEqual(urldecode('%20'), [(' ', '')]) - self.assertCountEqual(urldecode('+'), [(' ', '')]) - self.assertCountEqual(urldecode('c2'), [('c2', '')]) - self.assertCountEqual(urldecode('c2='), [('c2', '')]) - self.assertCountEqual(urldecode('foo=bar'), [('foo', 'bar')]) - self.assertCountEqual(urldecode('foo_%20~=.bar-'), - [('foo_ ~', '.bar-')]) - self.assertCountEqual(urldecode('foo=1,2,3'), [('foo', '1,2,3')]) - self.assertCountEqual(urldecode('foo=(1,2,3)'), [('foo', '(1,2,3)')]) - self.assertCountEqual(urldecode('foo=bar.*'), [('foo', 'bar.*')]) - self.assertCountEqual(urldecode('foo=bar@spam'), [('foo', 'bar@spam')]) - self.assertCountEqual(urldecode('foo=bar/baz'), [('foo', 'bar/baz')]) - self.assertCountEqual(urldecode('foo=bar?baz'), [('foo', 'bar?baz')]) - self.assertCountEqual(urldecode('foo=bar\'s'), [('foo', 'bar\'s')]) - self.assertCountEqual(urldecode('foo=$'), [('foo', '$')]) - self.assertRaises(ValueError, urldecode, 'foo bar') - self.assertRaises(ValueError, urldecode, '%R') - self.assertRaises(ValueError, urldecode, '%RA') - self.assertRaises(ValueError, urldecode, '%AR') - self.assertRaises(ValueError, urldecode, '%RR') + self.assertCountEqual(urldecode(""), []) + self.assertCountEqual(urldecode("="), [("", "")]) + self.assertCountEqual(urldecode("%20"), [(" ", "")]) + self.assertCountEqual(urldecode("+"), [(" ", "")]) + self.assertCountEqual(urldecode("c2"), [("c2", "")]) + self.assertCountEqual(urldecode("c2="), [("c2", "")]) + self.assertCountEqual(urldecode("foo=bar"), [("foo", "bar")]) + self.assertCountEqual(urldecode("foo_%20~=.bar-"), [("foo_ ~", ".bar-")]) + self.assertCountEqual(urldecode("foo=1,2,3"), [("foo", "1,2,3")]) + self.assertCountEqual(urldecode("foo=(1,2,3)"), [("foo", "(1,2,3)")]) + self.assertCountEqual(urldecode("foo=bar.*"), [("foo", "bar.*")]) + self.assertCountEqual(urldecode("foo=bar@spam"), [("foo", "bar@spam")]) + self.assertCountEqual(urldecode("foo=bar/baz"), [("foo", "bar/baz")]) + self.assertCountEqual(urldecode("foo=bar?baz"), [("foo", "bar?baz")]) + self.assertCountEqual(urldecode("foo=bar's"), [("foo", "bar's")]) + self.assertCountEqual(urldecode("foo=$"), [("foo", "$")]) + self.assertRaises(ValueError, urldecode, "foo bar") + self.assertRaises(ValueError, urldecode, "%R") + self.assertRaises(ValueError, urldecode, "%RA") + self.assertRaises(ValueError, urldecode, "%AR") + self.assertRaises(ValueError, urldecode, "%RR") class ParameterTest(TestCase): - def test_extract_params_dict(self): self.assertCountEqual(extract_params(PARAMS_DICT), PARAMS_TWOTUPLE) @@ -52,30 +48,28 @@ class ParameterTest(TestCase): self.assertCountEqual(extract_params(PARAMS_TWOTUPLE), PARAMS_TWOTUPLE) def test_extract_params_formencoded(self): - self.assertCountEqual(extract_params(PARAMS_FORMENCODED), - PARAMS_TWOTUPLE) + self.assertCountEqual(extract_params(PARAMS_FORMENCODED), PARAMS_TWOTUPLE) def test_extract_params_blank_string(self): - self.assertCountEqual(extract_params(''), []) + self.assertCountEqual(extract_params(""), []) def test_extract_params_empty_list(self): self.assertCountEqual(extract_params([]), []) def test_extract_non_formencoded_string(self): - self.assertIsNone(extract_params('not a formencoded string')) + self.assertIsNone(extract_params("not a formencoded string")) def test_extract_invalid(self): self.assertIsNone(extract_params(object())) - self.assertIsNone(extract_params([('')])) + self.assertIsNone(extract_params([("")])) def test_add_params_to_uri(self): - correct = '{}?{}'.format(URI, PARAMS_FORMENCODED) + correct = "{}?{}".format(URI, PARAMS_FORMENCODED) self.assertURLEqual(add_params_to_uri(URI, PARAMS_DICT), correct) self.assertURLEqual(add_params_to_uri(URI, PARAMS_TWOTUPLE), correct) class GeneratorTest(TestCase): - def test_generate_timestamp(self): timestamp = generate_timestamp() self.assertIsInstance(timestamp, str) @@ -114,21 +108,18 @@ class GeneratorTest(TestCase): class RequestTest(TestCase): - def test_non_unicode_params(self): r = Request( - b'http://a.b/path?query', - http_method=b'GET', - body=b'you=shall+pass', - headers={ - b'a': b'b', - } + b"http://a.b/path?query", + http_method=b"GET", + body=b"you=shall+pass", + headers={b"a": b"b"}, ) - self.assertEqual(r.uri, 'http://a.b/path?query') - self.assertEqual(r.http_method, 'GET') - self.assertEqual(r.body, 'you=shall+pass') - self.assertEqual(r.decoded_body, [('you', 'shall pass')]) - self.assertEqual(r.headers, {'a': 'b'}) + self.assertEqual(r.uri, "http://a.b/path?query") + self.assertEqual(r.http_method, "GET") + self.assertEqual(r.body, "you=shall+pass") + self.assertEqual(r.decoded_body, [("you", "shall pass")]) + self.assertEqual(r.headers, {"a": "b"}) def test_none_body(self): r = Request(URI) @@ -143,11 +134,11 @@ class RequestTest(TestCase): self.assertEqual(r.decoded_body, []) def test_empty_string_body(self): - r = Request(URI, body='') + r = Request(URI, body="") self.assertEqual(r.decoded_body, []) def test_non_formencoded_string_body(self): - body = 'foo bar' + body = "foo bar" r = Request(URI, body=body) self.assertIsNone(r.decoded_body) @@ -165,54 +156,58 @@ class RequestTest(TestCase): self.assertCountEqual(r.decoded_body, PARAMS_TWOTUPLE) def test_getattr_existing_attribute(self): - r = Request(URI, body='foo bar') - self.assertEqual('foo bar', getattr(r, 'body')) + r = Request(URI, body="foo bar") + self.assertEqual("foo bar", getattr(r, "body")) def test_getattr_return_default(self): - r = Request(URI, body='') - actual_value = getattr(r, 'does_not_exist', 'foo bar') - self.assertEqual('foo bar', actual_value) + r = Request(URI, body="") + actual_value = getattr(r, "does_not_exist", "foo bar") + self.assertEqual("foo bar", actual_value) def test_getattr_raise_attribute_error(self): - r = Request(URI, body='foo bar') + r = Request(URI, body="foo bar") with self.assertRaises(AttributeError): - getattr(r, 'does_not_exist') + getattr(r, "does_not_exist") def test_sanitizing_authorization_header(self): - r = Request(URI, headers={'Accept': 'application/json', - 'Authorization': 'Basic Zm9vOmJhcg=='} - ) - self.assertNotIn('Zm9vOmJhcg==', repr(r)) - self.assertIn('', repr(r)) + r = Request( + URI, + headers={ + "Accept": "application/json", + "Authorization": "Basic Zm9vOmJhcg==", + }, + ) + self.assertNotIn("Zm9vOmJhcg==", repr(r)) + self.assertIn("", repr(r)) # Double-check we didn't modify the underlying object: - self.assertEqual(r.headers['Authorization'], 'Basic Zm9vOmJhcg==') + self.assertEqual(r.headers["Authorization"], "Basic Zm9vOmJhcg==") def test_token_body(self): - payload = 'client_id=foo&refresh_token=bar' + payload = "client_id=foo&refresh_token=bar" r = Request(URI, body=payload) - self.assertNotIn('bar', repr(r)) - self.assertIn('', repr(r)) + self.assertNotIn("bar", repr(r)) + self.assertIn("", repr(r)) - payload = 'refresh_token=bar&client_id=foo' + payload = "refresh_token=bar&client_id=foo" r = Request(URI, body=payload) - self.assertNotIn('bar', repr(r)) - self.assertIn('', repr(r)) + self.assertNotIn("bar", repr(r)) + self.assertIn("", repr(r)) def test_password_body(self): - payload = 'username=foo&password=bar' + payload = "username=foo&password=bar" r = Request(URI, body=payload) - self.assertNotIn('bar', repr(r)) - self.assertIn('', repr(r)) + self.assertNotIn("bar", repr(r)) + self.assertIn("", repr(r)) - payload = 'password=bar&username=foo' + payload = "password=bar&username=foo" r = Request(URI, body=payload) - self.assertNotIn('bar', repr(r)) - self.assertIn('', repr(r)) + self.assertNotIn("bar", repr(r)) + self.assertIn("", repr(r)) def test_headers_params(self): - r = Request(URI, headers={'token': 'foobar'}, body='token=banana') - self.assertEqual(r.headers['token'], 'foobar') - self.assertEqual(r.token, 'banana') + r = Request(URI, headers={"token": "foobar"}, body="token=banana") + self.assertEqual(r.headers["token"], "foobar") + self.assertEqual(r.token, "banana") def test_sanitized_request_non_debug_mode(self): """make sure requests are sanitized when in non debug mode. @@ -221,25 +216,24 @@ class RequestTest(TestCase): """ try: oauthlib.set_debug(False) - r = Request(URI, headers={'token': 'foobar'}, body='token=banana') - self.assertNotIn('token', repr(r)) - self.assertIn('SANITIZED', repr(r)) + r = Request(URI, headers={"token": "foobar"}, body="token=banana") + self.assertNotIn("token", repr(r)) + self.assertIn("SANITIZED", repr(r)) finally: # set flag back for other tests oauthlib.set_debug(True) class CaseInsensitiveDictTest(TestCase): - def test_basic(self): cid = CaseInsensitiveDict({}) - cid['a'] = 'b' - cid['c'] = 'd' - del cid['c'] - self.assertEqual(cid['A'], 'b') - self.assertEqual(cid['a'], 'b') + cid["a"] = "b" + cid["c"] = "d" + del cid["c"] + self.assertEqual(cid["A"], "b") + self.assertEqual(cid["a"], "b") def test_update(self): cid = CaseInsensitiveDict({}) - cid.update({'KeY': 'value'}) - self.assertEqual(cid['kEy'], 'value') + cid.update({"KeY": "value"}) + self.assertEqual(cid["kEy"], "value") diff --git a/tests/unittest/__init__.py b/tests/unittest/__init__.py index 13ad92f..f94f35c 100644 --- a/tests/unittest/__init__.py +++ b/tests/unittest/__init__.py @@ -1,5 +1,5 @@ -from unittest import TestCase import urllib.parse as urlparse +from unittest import TestCase # URL comparison where query param order is insignificant -- cgit v1.2.1 From a1057f9a82dd77e46aebaa217816af2c5759bab3 Mon Sep 17 00:00:00 2001 From: Anton Ruhlov Date: Fri, 10 Apr 2020 15:01:28 +0300 Subject: Sorted tests import per isort 4.3.21 --- tests/oauth1/rfc5849/endpoints/test_access_token.py | 2 +- tests/oauth1/rfc5849/endpoints/test_base.py | 15 ++++++++------- tests/oauth1/rfc5849/endpoints/test_request_token.py | 2 +- tests/oauth1/rfc5849/endpoints/test_resource.py | 2 +- tests/oauth1/rfc5849/endpoints/test_signature_only.py | 2 +- tests/oauth1/rfc5849/test_client.py | 9 +++++---- tests/oauth1/rfc5849/test_parameters.py | 10 +++++----- tests/oauth1/rfc5849/test_request_validator.py | 2 +- tests/oauth1/rfc5849/test_signatures.py | 18 ++++++------------ tests/oauth1/rfc5849/test_utils.py | 2 +- .../oauth2/rfc6749/clients/test_backend_application.py | 3 +-- tests/oauth2/rfc6749/clients/test_base.py | 2 +- .../oauth2/rfc6749/clients/test_legacy_application.py | 6 ++---- .../oauth2/rfc6749/clients/test_mobile_application.py | 3 +-- .../oauth2/rfc6749/clients/test_service_application.py | 4 ++-- tests/oauth2/rfc6749/clients/test_web_application.py | 13 ++++++------- tests/oauth2/rfc6749/endpoints/test_base_endpoint.py | 12 +++++++----- .../rfc6749/endpoints/test_client_authentication.py | 11 ++++++----- .../rfc6749/endpoints/test_credentials_preservation.py | 9 +++++---- tests/oauth2/rfc6749/endpoints/test_error_responses.py | 11 ++++++----- .../oauth2/rfc6749/endpoints/test_extra_credentials.py | 9 +++++---- .../rfc6749/endpoints/test_introspect_endpoint.py | 5 ++--- tests/oauth2/rfc6749/endpoints/test_metadata.py | 6 ++---- .../endpoints/test_resource_owner_association.py | 11 ++++++----- .../rfc6749/endpoints/test_revocation_endpoint.py | 3 +-- tests/oauth2/rfc6749/endpoints/test_scope_handling.py | 11 ++++++----- .../rfc6749/grant_types/test_authorization_code.py | 8 ++++---- .../rfc6749/grant_types/test_client_credentials.py | 3 +-- tests/oauth2/rfc6749/grant_types/test_implicit.py | 2 +- tests/oauth2/rfc6749/grant_types/test_refresh_token.py | 3 +-- .../grant_types/test_resource_owner_password.py | 8 ++++---- tests/oauth2/rfc6749/test_parameters.py | 2 +- tests/oauth2/rfc6749/test_request_validator.py | 2 +- tests/oauth2/rfc6749/test_server.py | 15 ++++++++------- tests/oauth2/rfc6749/test_tokens.py | 9 +++------ tests/oauth2/rfc6749/test_utils.py | 9 +++++---- .../connect/core/endpoints/test_claims_handling.py | 2 +- .../endpoints/test_openid_connect_params_handling.py | 7 ++++--- .../connect/core/endpoints/test_userinfo_endpoint.py | 5 ++--- .../core/grant_types/test_authorization_code.py | 11 ++++++----- tests/openid/connect/core/grant_types/test_base.py | 2 +- .../connect/core/grant_types/test_dispatchers.py | 16 +++++++--------- tests/openid/connect/core/grant_types/test_hybrid.py | 7 +++++-- tests/openid/connect/core/grant_types/test_implicit.py | 2 ++ tests/openid/connect/core/test_server.py | 12 +++++++----- tests/test_common.py | 14 ++++++-------- tests/unittest/__init__.py | 2 +- 47 files changed, 160 insertions(+), 164 deletions(-) diff --git a/tests/oauth1/rfc5849/endpoints/test_access_token.py b/tests/oauth1/rfc5849/endpoints/test_access_token.py index 05d62fc..57d8117 100644 --- a/tests/oauth1/rfc5849/endpoints/test_access_token.py +++ b/tests/oauth1/rfc5849/endpoints/test_access_token.py @@ -4,7 +4,7 @@ from oauthlib.oauth1 import RequestValidator from oauthlib.oauth1.rfc5849 import Client from oauthlib.oauth1.rfc5849.endpoints import AccessTokenEndpoint -from ....unittest import TestCase +from tests.unittest import TestCase class AccessTokenEndpointTest(TestCase): diff --git a/tests/oauth1/rfc5849/endpoints/test_base.py b/tests/oauth1/rfc5849/endpoints/test_base.py index 6fc991a..e87f359 100644 --- a/tests/oauth1/rfc5849/endpoints/test_base.py +++ b/tests/oauth1/rfc5849/endpoints/test_base.py @@ -1,15 +1,16 @@ from re import sub - from unittest.mock import MagicMock from oauthlib.common import CaseInsensitiveDict, safe_string_equals from oauthlib.oauth1 import Client, RequestValidator -from oauthlib.oauth1.rfc5849 import (SIGNATURE_HMAC, SIGNATURE_PLAINTEXT, - SIGNATURE_RSA, errors) -from oauthlib.oauth1.rfc5849.endpoints import (BaseEndpoint, - RequestTokenEndpoint) - -from ....unittest import TestCase +from oauthlib.oauth1.rfc5849 import ( + SIGNATURE_HMAC, SIGNATURE_PLAINTEXT, SIGNATURE_RSA, errors, +) +from oauthlib.oauth1.rfc5849.endpoints import ( + BaseEndpoint, RequestTokenEndpoint, +) + +from tests.unittest import TestCase URLENCODED = {"Content-Type": "application/x-www-form-urlencoded"} diff --git a/tests/oauth1/rfc5849/endpoints/test_request_token.py b/tests/oauth1/rfc5849/endpoints/test_request_token.py index e16ea7b..879cad2 100644 --- a/tests/oauth1/rfc5849/endpoints/test_request_token.py +++ b/tests/oauth1/rfc5849/endpoints/test_request_token.py @@ -4,7 +4,7 @@ from oauthlib.oauth1 import RequestValidator from oauthlib.oauth1.rfc5849 import Client from oauthlib.oauth1.rfc5849.endpoints import RequestTokenEndpoint -from ....unittest import TestCase +from tests.unittest import TestCase class RequestTokenEndpointTest(TestCase): diff --git a/tests/oauth1/rfc5849/endpoints/test_resource.py b/tests/oauth1/rfc5849/endpoints/test_resource.py index 2aeb1c8..416216f 100644 --- a/tests/oauth1/rfc5849/endpoints/test_resource.py +++ b/tests/oauth1/rfc5849/endpoints/test_resource.py @@ -4,7 +4,7 @@ from oauthlib.oauth1 import RequestValidator from oauthlib.oauth1.rfc5849 import Client from oauthlib.oauth1.rfc5849.endpoints import ResourceEndpoint -from ....unittest import TestCase +from tests.unittest import TestCase class ResourceEndpointTest(TestCase): diff --git a/tests/oauth1/rfc5849/endpoints/test_signature_only.py b/tests/oauth1/rfc5849/endpoints/test_signature_only.py index 2ff1073..16585bd 100644 --- a/tests/oauth1/rfc5849/endpoints/test_signature_only.py +++ b/tests/oauth1/rfc5849/endpoints/test_signature_only.py @@ -4,7 +4,7 @@ from oauthlib.oauth1 import RequestValidator from oauthlib.oauth1.rfc5849 import Client from oauthlib.oauth1.rfc5849.endpoints import SignatureOnlyEndpoint -from ....unittest import TestCase +from tests.unittest import TestCase class SignatureOnlyEndpointTest(TestCase): diff --git a/tests/oauth1/rfc5849/test_client.py b/tests/oauth1/rfc5849/test_client.py index 5c805a1..f7c997f 100644 --- a/tests/oauth1/rfc5849/test_client.py +++ b/tests/oauth1/rfc5849/test_client.py @@ -1,11 +1,12 @@ # -*- coding: utf-8 -*- from oauthlib.common import Request -from oauthlib.oauth1 import (SIGNATURE_PLAINTEXT, SIGNATURE_HMAC_SHA1, - SIGNATURE_HMAC_SHA256, SIGNATURE_RSA, - SIGNATURE_TYPE_BODY, SIGNATURE_TYPE_QUERY) +from oauthlib.oauth1 import ( + SIGNATURE_HMAC_SHA1, SIGNATURE_HMAC_SHA256, SIGNATURE_PLAINTEXT, + SIGNATURE_RSA, SIGNATURE_TYPE_BODY, SIGNATURE_TYPE_QUERY, +) from oauthlib.oauth1.rfc5849 import Client -from ...unittest import TestCase +from tests.unittest import TestCase class ClientRealmTests(TestCase): diff --git a/tests/oauth1/rfc5849/test_parameters.py b/tests/oauth1/rfc5849/test_parameters.py index 3afbb3a..92b95c1 100644 --- a/tests/oauth1/rfc5849/test_parameters.py +++ b/tests/oauth1/rfc5849/test_parameters.py @@ -1,11 +1,11 @@ # -*- coding: utf-8 -*- from oauthlib.common import urlencode -from oauthlib.oauth1.rfc5849.parameters import (_append_params, - prepare_form_encoded_body, - prepare_headers, - prepare_request_uri_query) +from oauthlib.oauth1.rfc5849.parameters import ( + _append_params, prepare_form_encoded_body, prepare_headers, + prepare_request_uri_query, +) -from ...unittest import TestCase +from tests.unittest import TestCase class ParameterTests(TestCase): diff --git a/tests/oauth1/rfc5849/test_request_validator.py b/tests/oauth1/rfc5849/test_request_validator.py index a3fe58f..8d34415 100644 --- a/tests/oauth1/rfc5849/test_request_validator.py +++ b/tests/oauth1/rfc5849/test_request_validator.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- from oauthlib.oauth1 import RequestValidator -from ...unittest import TestCase +from tests.unittest import TestCase class RequestValidatorTests(TestCase): diff --git a/tests/oauth1/rfc5849/test_signatures.py b/tests/oauth1/rfc5849/test_signatures.py index 89219f7..2de4e8a 100644 --- a/tests/oauth1/rfc5849/test_signatures.py +++ b/tests/oauth1/rfc5849/test_signatures.py @@ -1,19 +1,13 @@ # -*- coding: utf-8 -*- -from oauthlib.oauth1.rfc5849.signature import (collect_parameters, - signature_base_string, - base_string_uri, - normalize_parameters, - sign_hmac_sha1, - sign_hmac_sha1_with_client, - sign_plaintext, - sign_plaintext_with_client, - sign_rsa_sha1, - sign_rsa_sha1_with_client) from urllib.parse import quote -from ...unittest import TestCase - +from oauthlib.oauth1.rfc5849.signature import ( + base_string_uri, collect_parameters, normalize_parameters, sign_hmac_sha1, + sign_hmac_sha1_with_client, sign_plaintext, sign_plaintext_with_client, + sign_rsa_sha1, sign_rsa_sha1_with_client, signature_base_string, +) +from tests.unittest import TestCase class SignatureTests(TestCase): diff --git a/tests/oauth1/rfc5849/test_utils.py b/tests/oauth1/rfc5849/test_utils.py index ba8ed0e..013c71a 100644 --- a/tests/oauth1/rfc5849/test_utils.py +++ b/tests/oauth1/rfc5849/test_utils.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- from oauthlib.oauth1.rfc5849.utils import * -from ...unittest import TestCase +from tests.unittest import TestCase class UtilsTests(TestCase): diff --git a/tests/oauth2/rfc6749/clients/test_backend_application.py b/tests/oauth2/rfc6749/clients/test_backend_application.py index b05786a..c1489ac 100644 --- a/tests/oauth2/rfc6749/clients/test_backend_application.py +++ b/tests/oauth2/rfc6749/clients/test_backend_application.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- import os - from unittest.mock import patch from oauthlib import signals from oauthlib.oauth2 import BackendApplicationClient -from ....unittest import TestCase +from tests.unittest import TestCase @patch('time.time', new=lambda: 1000) diff --git a/tests/oauth2/rfc6749/clients/test_base.py b/tests/oauth2/rfc6749/clients/test_base.py index c545c25..c77cfed 100644 --- a/tests/oauth2/rfc6749/clients/test_base.py +++ b/tests/oauth2/rfc6749/clients/test_base.py @@ -6,7 +6,7 @@ from oauthlib.oauth2 import Client, InsecureTransportError, TokenExpiredError from oauthlib.oauth2.rfc6749 import utils from oauthlib.oauth2.rfc6749.clients import AUTH_HEADER, BODY, URI_QUERY -from ....unittest import TestCase +from tests.unittest import TestCase class ClientTest(TestCase): diff --git a/tests/oauth2/rfc6749/clients/test_legacy_application.py b/tests/oauth2/rfc6749/clients/test_legacy_application.py index 1daf2a3..b5a1819 100644 --- a/tests/oauth2/rfc6749/clients/test_legacy_application.py +++ b/tests/oauth2/rfc6749/clients/test_legacy_application.py @@ -1,14 +1,12 @@ # -*- coding: utf-8 -*- import os - +import urllib.parse as urlparse from unittest.mock import patch from oauthlib import signals from oauthlib.oauth2 import LegacyApplicationClient -import urllib.parse as urlparse - -from ....unittest import TestCase +from tests.unittest import TestCase @patch('time.time', new=lambda: 1000) diff --git a/tests/oauth2/rfc6749/clients/test_mobile_application.py b/tests/oauth2/rfc6749/clients/test_mobile_application.py index 2fb839e..c40950c 100644 --- a/tests/oauth2/rfc6749/clients/test_mobile_application.py +++ b/tests/oauth2/rfc6749/clients/test_mobile_application.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- import os - from unittest.mock import patch from oauthlib import signals from oauthlib.oauth2 import MobileApplicationClient -from ....unittest import TestCase +from tests.unittest import TestCase @patch('time.time', new=lambda: 1000) diff --git a/tests/oauth2/rfc6749/clients/test_service_application.py b/tests/oauth2/rfc6749/clients/test_service_application.py index 6f48e23..b97d855 100644 --- a/tests/oauth2/rfc6749/clients/test_service_application.py +++ b/tests/oauth2/rfc6749/clients/test_service_application.py @@ -1,14 +1,14 @@ # -*- coding: utf-8 -*- import os from time import time +from unittest.mock import patch import jwt -from unittest.mock import patch from oauthlib.common import Request from oauthlib.oauth2 import ServiceApplicationClient -from ....unittest import TestCase +from tests.unittest import TestCase class ServiceApplicationClientTest(TestCase): diff --git a/tests/oauth2/rfc6749/clients/test_web_application.py b/tests/oauth2/rfc6749/clients/test_web_application.py index 719a07d..1f711f4 100644 --- a/tests/oauth2/rfc6749/clients/test_web_application.py +++ b/tests/oauth2/rfc6749/clients/test_web_application.py @@ -1,19 +1,18 @@ # -*- coding: utf-8 -*- import os +import urllib.parse as urlparse import warnings - from unittest.mock import patch from oauthlib import common, signals -from oauthlib.oauth2 import (BackendApplicationClient, Client, - LegacyApplicationClient, MobileApplicationClient, - WebApplicationClient) +from oauthlib.oauth2 import ( + BackendApplicationClient, Client, LegacyApplicationClient, + MobileApplicationClient, WebApplicationClient, +) from oauthlib.oauth2.rfc6749 import errors, utils from oauthlib.oauth2.rfc6749.clients import AUTH_HEADER, BODY, URI_QUERY -import urllib.parse as urlparse - -from ....unittest import TestCase +from tests.unittest import TestCase @patch('time.time', new=lambda: 1000) diff --git a/tests/oauth2/rfc6749/endpoints/test_base_endpoint.py b/tests/oauth2/rfc6749/endpoints/test_base_endpoint.py index 2289b58..b1af6c3 100644 --- a/tests/oauth2/rfc6749/endpoints/test_base_endpoint.py +++ b/tests/oauth2/rfc6749/endpoints/test_base_endpoint.py @@ -1,10 +1,12 @@ # -*- coding: utf-8 -*- -from oauthlib.oauth2 import (FatalClientError, OAuth2Error, RequestValidator, - Server) -from oauthlib.oauth2.rfc6749 import (BaseEndpoint, - catch_errors_and_unavailability) +from oauthlib.oauth2 import ( + FatalClientError, OAuth2Error, RequestValidator, Server, +) +from oauthlib.oauth2.rfc6749 import ( + BaseEndpoint, catch_errors_and_unavailability, +) -from ....unittest import TestCase +from tests.unittest import TestCase class BaseEndpointTest(TestCase): diff --git a/tests/oauth2/rfc6749/endpoints/test_client_authentication.py b/tests/oauth2/rfc6749/endpoints/test_client_authentication.py index 69cb7ee..0659ee0 100644 --- a/tests/oauth2/rfc6749/endpoints/test_client_authentication.py +++ b/tests/oauth2/rfc6749/endpoints/test_client_authentication.py @@ -10,14 +10,15 @@ on the request object with a client_id parameter. The client_id attribute prevents this check from being circumvented with a client form parameter. """ import json - from unittest import mock -from oauthlib.oauth2 import (BackendApplicationServer, LegacyApplicationServer, - MobileApplicationServer, RequestValidator, - WebApplicationServer) +from oauthlib.oauth2 import ( + BackendApplicationServer, LegacyApplicationServer, MobileApplicationServer, + RequestValidator, WebApplicationServer, +) + +from tests.unittest import TestCase -from ....unittest import TestCase from .test_utils import get_fragment_credentials diff --git a/tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py b/tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py index 9a76da9..32c770c 100644 --- a/tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py +++ b/tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py @@ -4,14 +4,15 @@ The Authorization Code Grant will need to preserve state as well as redirect uri and the Implicit Grant will need to preserve state. """ import json - from unittest import mock -from oauthlib.oauth2 import (MobileApplicationServer, RequestValidator, - WebApplicationServer) +from oauthlib.oauth2 import ( + MobileApplicationServer, RequestValidator, WebApplicationServer, +) from oauthlib.oauth2.rfc6749 import errors -from ....unittest import TestCase +from tests.unittest import TestCase + from .test_utils import get_fragment_credentials, get_query_credentials diff --git a/tests/oauth2/rfc6749/endpoints/test_error_responses.py b/tests/oauth2/rfc6749/endpoints/test_error_responses.py index aac66df..3f53c71 100644 --- a/tests/oauth2/rfc6749/endpoints/test_error_responses.py +++ b/tests/oauth2/rfc6749/endpoints/test_error_responses.py @@ -1,15 +1,16 @@ """Ensure the correct error responses are returned for all defined error types. """ import json - from unittest import mock from oauthlib.common import urlencode -from oauthlib.oauth2 import (BackendApplicationServer, LegacyApplicationServer, - MobileApplicationServer, RequestValidator, - WebApplicationServer) +from oauthlib.oauth2 import ( + BackendApplicationServer, LegacyApplicationServer, MobileApplicationServer, + RequestValidator, WebApplicationServer, +) from oauthlib.oauth2.rfc6749 import errors -from ....unittest import TestCase + +from tests.unittest import TestCase class ErrorResponseTest(TestCase): diff --git a/tests/oauth2/rfc6749/endpoints/test_extra_credentials.py b/tests/oauth2/rfc6749/endpoints/test_extra_credentials.py index 936a129..97aaf86 100644 --- a/tests/oauth2/rfc6749/endpoints/test_extra_credentials.py +++ b/tests/oauth2/rfc6749/endpoints/test_extra_credentials.py @@ -2,11 +2,12 @@ """ from unittest import mock -from oauthlib.oauth2 import (BackendApplicationServer, LegacyApplicationServer, - MobileApplicationServer, RequestValidator, - WebApplicationServer) +from oauthlib.oauth2 import ( + BackendApplicationServer, LegacyApplicationServer, MobileApplicationServer, + RequestValidator, WebApplicationServer, +) -from ....unittest import TestCase +from tests.unittest import TestCase class ExtraCredentialsTest(TestCase): diff --git a/tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py b/tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py index 3c67673..04df6a2 100644 --- a/tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py +++ b/tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- from json import loads - from unittest.mock import MagicMock from oauthlib.common import urlencode -from oauthlib.oauth2 import RequestValidator, IntrospectEndpoint +from oauthlib.oauth2 import IntrospectEndpoint, RequestValidator -from ....unittest import TestCase +from tests.unittest import TestCase class IntrospectEndpointTest(TestCase): diff --git a/tests/oauth2/rfc6749/endpoints/test_metadata.py b/tests/oauth2/rfc6749/endpoints/test_metadata.py index a01500f..681119a 100644 --- a/tests/oauth2/rfc6749/endpoints/test_metadata.py +++ b/tests/oauth2/rfc6749/endpoints/test_metadata.py @@ -1,9 +1,7 @@ # -*- coding: utf-8 -*- -from oauthlib.oauth2 import MetadataEndpoint -from oauthlib.oauth2 import TokenEndpoint -from oauthlib.oauth2 import Server +from oauthlib.oauth2 import MetadataEndpoint, Server, TokenEndpoint -from ....unittest import TestCase +from tests.unittest import TestCase class MetadataEndpointTest(TestCase): diff --git a/tests/oauth2/rfc6749/endpoints/test_resource_owner_association.py b/tests/oauth2/rfc6749/endpoints/test_resource_owner_association.py index 6280cac..0453388 100644 --- a/tests/oauth2/rfc6749/endpoints/test_resource_owner_association.py +++ b/tests/oauth2/rfc6749/endpoints/test_resource_owner_association.py @@ -1,14 +1,15 @@ """Ensure all tokens are associated with a resource owner. """ import json - from unittest import mock -from oauthlib.oauth2 import (BackendApplicationServer, LegacyApplicationServer, - MobileApplicationServer, RequestValidator, - WebApplicationServer) +from oauthlib.oauth2 import ( + BackendApplicationServer, LegacyApplicationServer, MobileApplicationServer, + RequestValidator, WebApplicationServer, +) + +from tests.unittest import TestCase -from ....unittest import TestCase from .test_utils import get_fragment_credentials, get_query_credentials diff --git a/tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py b/tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py index 6bfba9a..a4182eb 100644 --- a/tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py +++ b/tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- from json import loads - from unittest.mock import MagicMock from oauthlib.common import urlencode from oauthlib.oauth2 import RequestValidator, RevocationEndpoint -from ....unittest import TestCase +from tests.unittest import TestCase class RevocationEndpointTest(TestCase): diff --git a/tests/oauth2/rfc6749/endpoints/test_scope_handling.py b/tests/oauth2/rfc6749/endpoints/test_scope_handling.py index 0bf760b..4c87d9c 100644 --- a/tests/oauth2/rfc6749/endpoints/test_scope_handling.py +++ b/tests/oauth2/rfc6749/endpoints/test_scope_handling.py @@ -4,14 +4,15 @@ Fairly trivial in all grants except the Authorization Code Grant where scope need to be persisted temporarily in an authorization code. """ import json - from unittest import mock -from oauthlib.oauth2 import (BackendApplicationServer, LegacyApplicationServer, - MobileApplicationServer, RequestValidator, Server, - WebApplicationServer) +from oauthlib.oauth2 import ( + BackendApplicationServer, LegacyApplicationServer, MobileApplicationServer, + RequestValidator, Server, WebApplicationServer, +) + +from tests.unittest import TestCase -from ....unittest import TestCase from .test_utils import get_fragment_credentials, get_query_credentials diff --git a/tests/oauth2/rfc6749/grant_types/test_authorization_code.py b/tests/oauth2/rfc6749/grant_types/test_authorization_code.py index a9e384f..20a2416 100644 --- a/tests/oauth2/rfc6749/grant_types/test_authorization_code.py +++ b/tests/oauth2/rfc6749/grant_types/test_authorization_code.py @@ -1,15 +1,15 @@ # -*- coding: utf-8 -*- import json - from unittest import mock from oauthlib.common import Request from oauthlib.oauth2.rfc6749 import errors -from oauthlib.oauth2.rfc6749.grant_types import AuthorizationCodeGrant -from oauthlib.oauth2.rfc6749.grant_types import authorization_code +from oauthlib.oauth2.rfc6749.grant_types import ( + AuthorizationCodeGrant, authorization_code, +) from oauthlib.oauth2.rfc6749.tokens import BearerToken -from ....unittest import TestCase +from tests.unittest import TestCase class AuthorizationCodeGrantTest(TestCase): diff --git a/tests/oauth2/rfc6749/grant_types/test_client_credentials.py b/tests/oauth2/rfc6749/grant_types/test_client_credentials.py index 0a45ef6..e9559c7 100644 --- a/tests/oauth2/rfc6749/grant_types/test_client_credentials.py +++ b/tests/oauth2/rfc6749/grant_types/test_client_credentials.py @@ -1,13 +1,12 @@ # -*- coding: utf-8 -*- import json - from unittest import mock from oauthlib.common import Request from oauthlib.oauth2.rfc6749.grant_types import ClientCredentialsGrant from oauthlib.oauth2.rfc6749.tokens import BearerToken -from ....unittest import TestCase +from tests.unittest import TestCase class ClientCredentialsGrantTest(TestCase): diff --git a/tests/oauth2/rfc6749/grant_types/test_implicit.py b/tests/oauth2/rfc6749/grant_types/test_implicit.py index 4a0313d..1fb71a1 100644 --- a/tests/oauth2/rfc6749/grant_types/test_implicit.py +++ b/tests/oauth2/rfc6749/grant_types/test_implicit.py @@ -5,7 +5,7 @@ from oauthlib.common import Request from oauthlib.oauth2.rfc6749.grant_types import ImplicitGrant from oauthlib.oauth2.rfc6749.tokens import BearerToken -from ....unittest import TestCase +from tests.unittest import TestCase class ImplicitGrantTest(TestCase): diff --git a/tests/oauth2/rfc6749/grant_types/test_refresh_token.py b/tests/oauth2/rfc6749/grant_types/test_refresh_token.py index 0d0fd37..1d3e77a 100644 --- a/tests/oauth2/rfc6749/grant_types/test_refresh_token.py +++ b/tests/oauth2/rfc6749/grant_types/test_refresh_token.py @@ -1,6 +1,5 @@ # -*- coding: utf-8 -*- import json - from unittest import mock from oauthlib.common import Request @@ -8,7 +7,7 @@ from oauthlib.oauth2.rfc6749 import errors from oauthlib.oauth2.rfc6749.grant_types import RefreshTokenGrant from oauthlib.oauth2.rfc6749.tokens import BearerToken -from ....unittest import TestCase +from tests.unittest import TestCase class RefreshTokenGrantTest(TestCase): diff --git a/tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py b/tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py index 42f0aa6..294e27b 100644 --- a/tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py +++ b/tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py @@ -1,15 +1,15 @@ # -*- coding: utf-8 -*- import json - from unittest import mock from oauthlib.common import Request from oauthlib.oauth2.rfc6749 import errors -from oauthlib.oauth2.rfc6749.grant_types import \ - ResourceOwnerPasswordCredentialsGrant +from oauthlib.oauth2.rfc6749.grant_types import ( + ResourceOwnerPasswordCredentialsGrant, +) from oauthlib.oauth2.rfc6749.tokens import BearerToken -from ....unittest import TestCase +from tests.unittest import TestCase class ResourceOwnerPasswordCredentialsGrantTest(TestCase): diff --git a/tests/oauth2/rfc6749/test_parameters.py b/tests/oauth2/rfc6749/test_parameters.py index 4380447..f9245ec 100644 --- a/tests/oauth2/rfc6749/test_parameters.py +++ b/tests/oauth2/rfc6749/test_parameters.py @@ -4,7 +4,7 @@ from oauthlib import signals from oauthlib.oauth2.rfc6749.errors import * from oauthlib.oauth2.rfc6749.parameters import * -from ...unittest import TestCase +from tests.unittest import TestCase @patch('time.time', new=lambda: 1000) diff --git a/tests/oauth2/rfc6749/test_request_validator.py b/tests/oauth2/rfc6749/test_request_validator.py index 257280c..9688b5a 100644 --- a/tests/oauth2/rfc6749/test_request_validator.py +++ b/tests/oauth2/rfc6749/test_request_validator.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- from oauthlib.oauth2 import RequestValidator -from ...unittest import TestCase +from tests.unittest import TestCase class RequestValidatorTest(TestCase): diff --git a/tests/oauth2/rfc6749/test_server.py b/tests/oauth2/rfc6749/test_server.py index e6ad5cd..94af37e 100644 --- a/tests/oauth2/rfc6749/test_server.py +++ b/tests/oauth2/rfc6749/test_server.py @@ -1,20 +1,21 @@ # -*- coding: utf-8 -*- import json - from unittest import mock from oauthlib import common from oauthlib.oauth2.rfc6749 import errors, tokens from oauthlib.oauth2.rfc6749.endpoints import Server -from oauthlib.oauth2.rfc6749.endpoints.authorization import AuthorizationEndpoint +from oauthlib.oauth2.rfc6749.endpoints.authorization import ( + AuthorizationEndpoint, +) from oauthlib.oauth2.rfc6749.endpoints.resource import ResourceEndpoint from oauthlib.oauth2.rfc6749.endpoints.token import TokenEndpoint -from oauthlib.oauth2.rfc6749.grant_types import (AuthorizationCodeGrant, - ClientCredentialsGrant, - ImplicitGrant, - ResourceOwnerPasswordCredentialsGrant) +from oauthlib.oauth2.rfc6749.grant_types import ( + AuthorizationCodeGrant, ClientCredentialsGrant, ImplicitGrant, + ResourceOwnerPasswordCredentialsGrant, +) -from ...unittest import TestCase +from tests.unittest import TestCase class AuthorizationEndpointTest(TestCase): diff --git a/tests/oauth2/rfc6749/test_tokens.py b/tests/oauth2/rfc6749/test_tokens.py index 8402133..fa6b1c0 100644 --- a/tests/oauth2/rfc6749/test_tokens.py +++ b/tests/oauth2/rfc6749/test_tokens.py @@ -2,14 +2,11 @@ from unittest import mock from oauthlib.common import Request from oauthlib.oauth2.rfc6749.tokens import ( - BearerToken, - prepare_bearer_body, - prepare_bearer_headers, - prepare_bearer_uri, - prepare_mac_header, + BearerToken, prepare_bearer_body, prepare_bearer_headers, + prepare_bearer_uri, prepare_mac_header, ) -from ...unittest import TestCase +from tests.unittest import TestCase class TokenTest(TestCase): diff --git a/tests/oauth2/rfc6749/test_utils.py b/tests/oauth2/rfc6749/test_utils.py index cfc6c2c..3299591 100644 --- a/tests/oauth2/rfc6749/test_utils.py +++ b/tests/oauth2/rfc6749/test_utils.py @@ -1,11 +1,12 @@ import datetime import os -from oauthlib.oauth2.rfc6749.utils import (escape, generate_age, host_from_uri, - is_secure_transport, list_to_scope, - params_from_uri, scope_to_list) +from oauthlib.oauth2.rfc6749.utils import ( + escape, generate_age, host_from_uri, is_secure_transport, list_to_scope, + params_from_uri, scope_to_list, +) -from ...unittest import TestCase +from tests.unittest import TestCase class ScopeObject: diff --git a/tests/openid/connect/core/endpoints/test_claims_handling.py b/tests/openid/connect/core/endpoints/test_claims_handling.py index 1fe86ef..bc70269 100644 --- a/tests/openid/connect/core/endpoints/test_claims_handling.py +++ b/tests/openid/connect/core/endpoints/test_claims_handling.py @@ -11,8 +11,8 @@ from unittest import mock from oauthlib.openid import RequestValidator from oauthlib.openid.connect.core.endpoints.pre_configured import Server -from tests.unittest import TestCase from tests.oauth2.rfc6749.endpoints.test_utils import get_query_credentials +from tests.unittest import TestCase class TestClaimsHandling(TestCase): diff --git a/tests/openid/connect/core/endpoints/test_openid_connect_params_handling.py b/tests/openid/connect/core/endpoints/test_openid_connect_params_handling.py index 98482e2..c55136f 100644 --- a/tests/openid/connect/core/endpoints/test_openid_connect_params_handling.py +++ b/tests/openid/connect/core/endpoints/test_openid_connect_params_handling.py @@ -1,11 +1,12 @@ from unittest import mock +from urllib.parse import urlencode from oauthlib.oauth2 import InvalidRequestError -from oauthlib.oauth2.rfc6749.endpoints.authorization import \ - AuthorizationEndpoint +from oauthlib.oauth2.rfc6749.endpoints.authorization import ( + AuthorizationEndpoint, +) from oauthlib.oauth2.rfc6749.tokens import BearerToken from oauthlib.openid.connect.core.grant_types import AuthorizationCodeGrant -from urllib.parse import urlencode from tests.unittest import TestCase diff --git a/tests/openid/connect/core/endpoints/test_userinfo_endpoint.py b/tests/openid/connect/core/endpoints/test_userinfo_endpoint.py index dd48bdd..4833485 100644 --- a/tests/openid/connect/core/endpoints/test_userinfo_endpoint.py +++ b/tests/openid/connect/core/endpoints/test_userinfo_endpoint.py @@ -1,10 +1,9 @@ # -*- coding: utf-8 -*- -from unittest import mock import json +from unittest import mock -from oauthlib.openid import RequestValidator -from oauthlib.openid import UserInfoEndpoint from oauthlib.oauth2.rfc6749 import errors +from oauthlib.openid import RequestValidator, UserInfoEndpoint from tests.unittest import TestCase diff --git a/tests/openid/connect/core/grant_types/test_authorization_code.py b/tests/openid/connect/core/grant_types/test_authorization_code.py index 829af92..91e24b3 100644 --- a/tests/openid/connect/core/grant_types/test_authorization_code.py +++ b/tests/openid/connect/core/grant_types/test_authorization_code.py @@ -1,17 +1,18 @@ # -*- coding: utf-8 -*- import json - from unittest import mock from oauthlib.common import Request from oauthlib.oauth2.rfc6749.tokens import BearerToken - -from oauthlib.openid.connect.core.grant_types.authorization_code import AuthorizationCodeGrant +from oauthlib.openid.connect.core.grant_types.authorization_code import ( + AuthorizationCodeGrant, +) from oauthlib.openid.connect.core.grant_types.exceptions import OIDCNoPrompt +from tests.oauth2.rfc6749.grant_types.test_authorization_code import ( + AuthorizationCodeGrantTest, +) from tests.unittest import TestCase -from tests.oauth2.rfc6749.grant_types.test_authorization_code import \ - AuthorizationCodeGrantTest def get_id_token_mock(token, token_handler, request): diff --git a/tests/openid/connect/core/grant_types/test_base.py b/tests/openid/connect/core/grant_types/test_base.py index 786b24b..a88834b 100644 --- a/tests/openid/connect/core/grant_types/test_base.py +++ b/tests/openid/connect/core/grant_types/test_base.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from unittest import mock import time +from unittest import mock from oauthlib.common import Request from oauthlib.openid.connect.core.grant_types.base import GrantTypeBase diff --git a/tests/openid/connect/core/grant_types/test_dispatchers.py b/tests/openid/connect/core/grant_types/test_dispatchers.py index d423915..ccbada4 100644 --- a/tests/openid/connect/core/grant_types/test_dispatchers.py +++ b/tests/openid/connect/core/grant_types/test_dispatchers.py @@ -2,19 +2,17 @@ from unittest import mock from oauthlib.common import Request - -from oauthlib.openid.connect.core.grant_types.authorization_code import AuthorizationCodeGrant -from oauthlib.openid.connect.core.grant_types.implicit import ImplicitGrant -from oauthlib.openid.connect.core.grant_types.dispatchers import ( - ImplicitTokenGrantDispatcher, - AuthorizationTokenGrantDispatcher -) - from oauthlib.oauth2.rfc6749.grant_types import ( AuthorizationCodeGrant as OAuth2AuthorizationCodeGrant, ImplicitGrant as OAuth2ImplicitGrant, ) - +from oauthlib.openid.connect.core.grant_types.authorization_code import ( + AuthorizationCodeGrant, +) +from oauthlib.openid.connect.core.grant_types.dispatchers import ( + AuthorizationTokenGrantDispatcher, ImplicitTokenGrantDispatcher, +) +from oauthlib.openid.connect.core.grant_types.implicit import ImplicitGrant from tests.unittest import TestCase diff --git a/tests/openid/connect/core/grant_types/test_hybrid.py b/tests/openid/connect/core/grant_types/test_hybrid.py index 53175df..fb61b04 100644 --- a/tests/openid/connect/core/grant_types/test_hybrid.py +++ b/tests/openid/connect/core/grant_types/test_hybrid.py @@ -4,8 +4,11 @@ from unittest import mock from oauthlib.oauth2.rfc6749 import errors from oauthlib.oauth2.rfc6749.tokens import BearerToken from oauthlib.openid.connect.core.grant_types.hybrid import HybridGrant -from tests.oauth2.rfc6749.grant_types.test_authorization_code import \ - AuthorizationCodeGrantTest + +from tests.oauth2.rfc6749.grant_types.test_authorization_code import ( + AuthorizationCodeGrantTest, +) + from .test_authorization_code import OpenIDAuthCodeTest diff --git a/tests/openid/connect/core/grant_types/test_implicit.py b/tests/openid/connect/core/grant_types/test_implicit.py index b914eb6..80069ac 100644 --- a/tests/openid/connect/core/grant_types/test_implicit.py +++ b/tests/openid/connect/core/grant_types/test_implicit.py @@ -6,8 +6,10 @@ from oauthlib.oauth2.rfc6749 import errors from oauthlib.oauth2.rfc6749.tokens import BearerToken from oauthlib.openid.connect.core.grant_types.exceptions import OIDCNoPrompt from oauthlib.openid.connect.core.grant_types.implicit import ImplicitGrant + from tests.oauth2.rfc6749.grant_types.test_implicit import ImplicitGrantTest from tests.unittest import TestCase + from .test_authorization_code import get_id_token_mock diff --git a/tests/openid/connect/core/test_server.py b/tests/openid/connect/core/test_server.py index bb3cc3c..47f0ecc 100644 --- a/tests/openid/connect/core/test_server.py +++ b/tests/openid/connect/core/test_server.py @@ -1,16 +1,18 @@ # -*- coding: utf-8 -*- import json - from unittest import mock from oauthlib.oauth2.rfc6749 import errors -from oauthlib.oauth2.rfc6749.endpoints.authorization import AuthorizationEndpoint +from oauthlib.oauth2.rfc6749.endpoints.authorization import ( + AuthorizationEndpoint, +) from oauthlib.oauth2.rfc6749.endpoints.token import TokenEndpoint from oauthlib.oauth2.rfc6749.tokens import BearerToken - -from oauthlib.openid.connect.core.grant_types.authorization_code import AuthorizationCodeGrant -from oauthlib.openid.connect.core.grant_types.implicit import ImplicitGrant +from oauthlib.openid.connect.core.grant_types.authorization_code import ( + AuthorizationCodeGrant, +) from oauthlib.openid.connect.core.grant_types.hybrid import HybridGrant +from oauthlib.openid.connect.core.grant_types.implicit import ImplicitGrant from tests.unittest import TestCase diff --git a/tests/test_common.py b/tests/test_common.py index b0fb4b0..7f0e35b 100644 --- a/tests/test_common.py +++ b/tests/test_common.py @@ -1,14 +1,12 @@ # -*- coding: utf-8 -*- -import os -import sys - import oauthlib -from oauthlib.common import (CaseInsensitiveDict, Request, add_params_to_uri, - extract_params, generate_client_id, - generate_nonce, generate_timestamp, - generate_token, urldecode) +from oauthlib.common import ( + CaseInsensitiveDict, Request, add_params_to_uri, extract_params, + generate_client_id, generate_nonce, generate_timestamp, generate_token, + urldecode, +) -from .unittest import TestCase +from tests.unittest import TestCase PARAMS_DICT = {'foo': 'bar', 'baz': '123', } PARAMS_TWOTUPLE = [('foo', 'bar'), ('baz', '123')] diff --git a/tests/unittest/__init__.py b/tests/unittest/__init__.py index 13ad92f..f94f35c 100644 --- a/tests/unittest/__init__.py +++ b/tests/unittest/__init__.py @@ -1,5 +1,5 @@ -from unittest import TestCase import urllib.parse as urlparse +from unittest import TestCase # URL comparison where query param order is insignificant -- cgit v1.2.1 From 1a1df2280f000b1f2f05b5304150ef7826cc9d24 Mon Sep 17 00:00:00 2001 From: Anton Ruhlov Date: Fri, 10 Apr 2020 15:12:40 +0300 Subject: Sorted oauthlib imports per isort 4.3.21 --- Makefile | 3 ++ oauthlib/common.py | 7 ++-- oauthlib/oauth1/__init__.py | 21 ++++++---- oauthlib/oauth1/rfc5849/__init__.py | 12 ++++-- oauthlib/oauth1/rfc5849/endpoints/__init__.py | 6 +-- oauthlib/oauth1/rfc5849/endpoints/authorization.py | 3 +- oauthlib/oauth1/rfc5849/endpoints/base.py | 8 ++-- .../oauth1/rfc5849/endpoints/pre_configured.py | 6 ++- oauthlib/oauth1/rfc5849/parameters.py | 4 +- oauthlib/oauth1/rfc5849/request_validator.py | 2 - oauthlib/oauth1/rfc5849/signature.py | 3 +- oauthlib/oauth1/rfc5849/utils.py | 3 +- oauthlib/oauth2/__init__.py | 48 +++++++++++----------- oauthlib/oauth2/rfc6749/__init__.py | 9 ++-- oauthlib/oauth2/rfc6749/clients/__init__.py | 8 ++-- .../oauth2/rfc6749/clients/backend_application.py | 2 +- oauthlib/oauth2/rfc6749/clients/base.py | 12 +++--- .../oauth2/rfc6749/clients/legacy_application.py | 2 +- .../oauth2/rfc6749/clients/service_application.py | 2 +- oauthlib/oauth2/rfc6749/clients/web_application.py | 7 ++-- oauthlib/oauth2/rfc6749/endpoints/__init__.py | 11 +++-- oauthlib/oauth2/rfc6749/endpoints/base.py | 9 ++-- oauthlib/oauth2/rfc6749/endpoints/introspect.py | 2 +- oauthlib/oauth2/rfc6749/endpoints/metadata.py | 7 ++-- .../oauth2/rfc6749/endpoints/pre_configured.py | 9 ++-- oauthlib/oauth2/rfc6749/endpoints/revocation.py | 2 +- oauthlib/oauth2/rfc6749/grant_types/__init__.py | 6 ++- oauthlib/oauth2/rfc6749/grant_types/base.py | 2 +- .../rfc6749/grant_types/client_credentials.py | 1 - .../oauth2/rfc6749/grant_types/refresh_token.py | 1 - .../resource_owner_password_credentials.py | 1 - oauthlib/oauth2/rfc6749/parameters.py | 9 ++-- oauthlib/oauth2/rfc6749/tokens.py | 5 +-- oauthlib/oauth2/rfc6749/utils.py | 3 +- oauthlib/openid/__init__.py | 3 +- .../connect/core/endpoints/pre_configured.py | 23 ++++------- oauthlib/openid/connect/core/endpoints/userinfo.py | 8 ++-- .../openid/connect/core/grant_types/__init__.py | 9 ++-- .../connect/core/grant_types/authorization_code.py | 4 +- oauthlib/openid/connect/core/grant_types/base.py | 8 ++-- .../openid/connect/core/grant_types/dispatchers.py | 1 + oauthlib/openid/connect/core/grant_types/hybrid.py | 6 ++- .../openid/connect/core/grant_types/implicit.py | 8 ++-- oauthlib/openid/connect/core/request_validator.py | 4 +- 44 files changed, 161 insertions(+), 149 deletions(-) diff --git a/Makefile b/Makefile index aff928b..b1fbb39 100644 --- a/Makefile +++ b/Makefile @@ -37,6 +37,9 @@ clean-build: format fmt: isort --recursive oauthlib tests +lint: + isort --recursive --check-only --diff oauthlib tests + test: tox diff --git a/oauthlib/common.py b/oauthlib/common.py index e7131df..e8ac1ae 100644 --- a/oauthlib/common.py +++ b/oauthlib/common.py @@ -12,10 +12,11 @@ import logging import re import time import urllib.parse as urlparse +from urllib.parse import ( + quote as _quote, unquote as _unquote, urlencode as _urlencode, +) + from . import get_debug -from urllib.parse import quote as _quote -from urllib.parse import unquote as _unquote -from urllib.parse import urlencode as _urlencode try: from secrets import randbits diff --git a/oauthlib/oauth1/__init__.py b/oauthlib/oauth1/__init__.py index e6d8a80..f011c2c 100644 --- a/oauthlib/oauth1/__init__.py +++ b/oauthlib/oauth1/__init__.py @@ -6,12 +6,17 @@ oauthlib.oauth1 This module is a wrapper for the most recent implementation of OAuth 1.0 Client and Server classes. """ -from .rfc5849 import Client -from .rfc5849 import SIGNATURE_HMAC, SIGNATURE_HMAC_SHA1, SIGNATURE_HMAC_SHA256, SIGNATURE_RSA, SIGNATURE_PLAINTEXT -from .rfc5849 import SIGNATURE_TYPE_AUTH_HEADER, SIGNATURE_TYPE_QUERY -from .rfc5849 import SIGNATURE_TYPE_BODY +from .rfc5849 import ( + SIGNATURE_HMAC, SIGNATURE_HMAC_SHA1, SIGNATURE_HMAC_SHA256, + SIGNATURE_PLAINTEXT, SIGNATURE_RSA, SIGNATURE_TYPE_AUTH_HEADER, + SIGNATURE_TYPE_BODY, SIGNATURE_TYPE_QUERY, Client, +) +from .rfc5849.endpoints import ( + AccessTokenEndpoint, AuthorizationEndpoint, RequestTokenEndpoint, + ResourceEndpoint, SignatureOnlyEndpoint, WebApplicationServer, +) +from .rfc5849.errors import ( + InsecureTransportError, InvalidClientError, InvalidRequestError, + InvalidSignatureMethodError, OAuth1Error, +) from .rfc5849.request_validator import RequestValidator -from .rfc5849.endpoints import RequestTokenEndpoint, AuthorizationEndpoint -from .rfc5849.endpoints import AccessTokenEndpoint, ResourceEndpoint -from .rfc5849.endpoints import SignatureOnlyEndpoint, WebApplicationServer -from .rfc5849.errors import InsecureTransportError, InvalidClientError, InvalidRequestError, InvalidSignatureMethodError, OAuth1Error diff --git a/oauthlib/oauth1/rfc5849/__init__.py b/oauthlib/oauth1/rfc5849/__init__.py index b629fc1..c639667 100644 --- a/oauthlib/oauth1/rfc5849/__init__.py +++ b/oauthlib/oauth1/rfc5849/__init__.py @@ -9,14 +9,18 @@ for signing and checking OAuth 1.0 RFC 5849 requests. import base64 import hashlib import logging -log = logging.getLogger(__name__) - import urllib.parse as urlparse -from oauthlib.common import Request, urlencode, generate_nonce -from oauthlib.common import generate_timestamp, to_unicode +from oauthlib.common import ( + Request, generate_nonce, generate_timestamp, to_unicode, urlencode, +) + from . import parameters, signature +log = logging.getLogger(__name__) + + + SIGNATURE_HMAC_SHA1 = "HMAC-SHA1" SIGNATURE_HMAC_SHA256 = "HMAC-SHA256" SIGNATURE_HMAC = SIGNATURE_HMAC_SHA1 diff --git a/oauthlib/oauth1/rfc5849/endpoints/__init__.py b/oauthlib/oauth1/rfc5849/endpoints/__init__.py index 78ade72..a3a7eb3 100644 --- a/oauthlib/oauth1/rfc5849/endpoints/__init__.py +++ b/oauthlib/oauth1/rfc5849/endpoints/__init__.py @@ -1,7 +1,7 @@ +from .access_token import AccessTokenEndpoint +from .authorization import AuthorizationEndpoint from .base import BaseEndpoint +from .pre_configured import WebApplicationServer from .request_token import RequestTokenEndpoint -from .authorization import AuthorizationEndpoint -from .access_token import AccessTokenEndpoint from .resource import ResourceEndpoint from .signature_only import SignatureOnlyEndpoint -from .pre_configured import WebApplicationServer diff --git a/oauthlib/oauth1/rfc5849/endpoints/authorization.py b/oauthlib/oauth1/rfc5849/endpoints/authorization.py index 7d0353b..80a3902 100644 --- a/oauthlib/oauth1/rfc5849/endpoints/authorization.py +++ b/oauthlib/oauth1/rfc5849/endpoints/authorization.py @@ -6,11 +6,12 @@ oauthlib.oauth1.rfc5849.endpoints.authorization This module is an implementation of various logic needed for signing and checking OAuth 1.0 RFC 5849 requests. """ +from urllib.parse import urlencode + from oauthlib.common import Request, add_params_to_uri from .. import errors from .base import BaseEndpoint -from urllib.parse import urlencode class AuthorizationEndpoint(BaseEndpoint): diff --git a/oauthlib/oauth1/rfc5849/endpoints/base.py b/oauthlib/oauth1/rfc5849/endpoints/base.py index f9a8f57..8103606 100644 --- a/oauthlib/oauth1/rfc5849/endpoints/base.py +++ b/oauthlib/oauth1/rfc5849/endpoints/base.py @@ -10,9 +10,11 @@ import time from oauthlib.common import CaseInsensitiveDict, Request, generate_token -from .. import (CONTENT_TYPE_FORM_URLENCODED, SIGNATURE_HMAC_SHA1, SIGNATURE_HMAC_SHA256, SIGNATURE_RSA, - SIGNATURE_TYPE_AUTH_HEADER, SIGNATURE_TYPE_BODY, - SIGNATURE_TYPE_QUERY, errors, signature, utils) +from .. import ( + CONTENT_TYPE_FORM_URLENCODED, SIGNATURE_HMAC_SHA1, SIGNATURE_HMAC_SHA256, + SIGNATURE_RSA, SIGNATURE_TYPE_AUTH_HEADER, SIGNATURE_TYPE_BODY, + SIGNATURE_TYPE_QUERY, errors, signature, utils, +) class BaseEndpoint: diff --git a/oauthlib/oauth1/rfc5849/endpoints/pre_configured.py b/oauthlib/oauth1/rfc5849/endpoints/pre_configured.py index b14a6d8..23e3cfc 100644 --- a/oauthlib/oauth1/rfc5849/endpoints/pre_configured.py +++ b/oauthlib/oauth1/rfc5849/endpoints/pre_configured.py @@ -1,5 +1,7 @@ -from . import (AccessTokenEndpoint, AuthorizationEndpoint, - RequestTokenEndpoint, ResourceEndpoint) +from . import ( + AccessTokenEndpoint, AuthorizationEndpoint, RequestTokenEndpoint, + ResourceEndpoint, +) class WebApplicationServer(RequestTokenEndpoint, AuthorizationEndpoint, diff --git a/oauthlib/oauth1/rfc5849/parameters.py b/oauthlib/oauth1/rfc5849/parameters.py index 778a46d..a9fe23c 100644 --- a/oauthlib/oauth1/rfc5849/parameters.py +++ b/oauthlib/oauth1/rfc5849/parameters.py @@ -7,12 +7,12 @@ This module contains methods related to `section 3.5`_ of the OAuth 1.0a spec. .. _`section 3.5`: https://tools.ietf.org/html/rfc5849#section-3.5 """ +from urllib.parse import urlparse, urlunparse + from oauthlib.common import extract_params, urlencode from . import utils -from urllib.parse import urlparse, urlunparse - # TODO: do we need filter_params now that oauth_params are handled by Request? # We can easily pass in just oauth protocol params. diff --git a/oauthlib/oauth1/rfc5849/request_validator.py b/oauthlib/oauth1/rfc5849/request_validator.py index 657bfe3..750902f 100644 --- a/oauthlib/oauth1/rfc5849/request_validator.py +++ b/oauthlib/oauth1/rfc5849/request_validator.py @@ -6,8 +6,6 @@ oauthlib.oauth1.rfc5849 This module is an implementation of various logic needed for signing and checking OAuth 1.0 RFC 5849 requests. """ -import sys - from . import SIGNATURE_METHODS, utils diff --git a/oauthlib/oauth1/rfc5849/signature.py b/oauthlib/oauth1/rfc5849/signature.py index fdc359e..b11720e 100644 --- a/oauthlib/oauth1/rfc5849/signature.py +++ b/oauthlib/oauth1/rfc5849/signature.py @@ -25,13 +25,12 @@ import binascii import hashlib import hmac import logging +import urllib.parse as urlparse from oauthlib.common import extract_params, safe_string_equals, urldecode -import urllib.parse as urlparse from . import utils - log = logging.getLogger(__name__) diff --git a/oauthlib/oauth1/rfc5849/utils.py b/oauthlib/oauth1/rfc5849/utils.py index 28e006a..4d22a3e 100644 --- a/oauthlib/oauth1/rfc5849/utils.py +++ b/oauthlib/oauth1/rfc5849/utils.py @@ -6,10 +6,9 @@ oauthlib.utils This module contains utility methods used by various parts of the OAuth spec. """ -from oauthlib.common import quote, unquote - import urllib.request as urllib2 +from oauthlib.common import quote, unquote UNICODE_ASCII_CHARACTER_SET = ('abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' diff --git a/oauthlib/oauth2/__init__.py b/oauthlib/oauth2/__init__.py index 9186800..047d8e0 100644 --- a/oauthlib/oauth2/__init__.py +++ b/oauthlib/oauth2/__init__.py @@ -6,29 +6,31 @@ oauthlib.oauth2 This module is a wrapper for the most recent implementation of OAuth 2.0 Client and Server classes. """ -from .rfc6749.clients import Client -from .rfc6749.clients import WebApplicationClient -from .rfc6749.clients import MobileApplicationClient -from .rfc6749.clients import LegacyApplicationClient -from .rfc6749.clients import BackendApplicationClient -from .rfc6749.clients import ServiceApplicationClient -from .rfc6749.endpoints import AuthorizationEndpoint -from .rfc6749.endpoints import IntrospectEndpoint -from .rfc6749.endpoints import MetadataEndpoint -from .rfc6749.endpoints import TokenEndpoint -from .rfc6749.endpoints import ResourceEndpoint -from .rfc6749.endpoints import RevocationEndpoint -from .rfc6749.endpoints import Server -from .rfc6749.endpoints import WebApplicationServer -from .rfc6749.endpoints import MobileApplicationServer -from .rfc6749.endpoints import LegacyApplicationServer -from .rfc6749.endpoints import BackendApplicationServer -from .rfc6749.errors import AccessDeniedError, OAuth2Error, FatalClientError, InsecureTransportError, InvalidClientError, InvalidClientIdError, InvalidGrantError, InvalidRedirectURIError, InvalidRequestError, InvalidRequestFatalError, InvalidScopeError, MismatchingRedirectURIError, MismatchingStateError, MissingClientIdError, MissingCodeError, MissingRedirectURIError, MissingResponseTypeError, MissingTokenError, MissingTokenTypeError, ServerError, TemporarilyUnavailableError, TokenExpiredError, UnauthorizedClientError, UnsupportedGrantTypeError, UnsupportedResponseTypeError, UnsupportedTokenTypeError -from .rfc6749.grant_types import AuthorizationCodeGrant -from .rfc6749.grant_types import ImplicitGrant -from .rfc6749.grant_types import ResourceOwnerPasswordCredentialsGrant -from .rfc6749.grant_types import ClientCredentialsGrant -from .rfc6749.grant_types import RefreshTokenGrant +from .rfc6749.clients import ( + BackendApplicationClient, Client, LegacyApplicationClient, + MobileApplicationClient, ServiceApplicationClient, WebApplicationClient, +) +from .rfc6749.endpoints import ( + AuthorizationEndpoint, BackendApplicationServer, IntrospectEndpoint, + LegacyApplicationServer, MetadataEndpoint, MobileApplicationServer, + ResourceEndpoint, RevocationEndpoint, Server, TokenEndpoint, + WebApplicationServer, +) +from .rfc6749.errors import ( + AccessDeniedError, FatalClientError, InsecureTransportError, + InvalidClientError, InvalidClientIdError, InvalidGrantError, + InvalidRedirectURIError, InvalidRequestError, InvalidRequestFatalError, + InvalidScopeError, MismatchingRedirectURIError, MismatchingStateError, + MissingClientIdError, MissingCodeError, MissingRedirectURIError, + MissingResponseTypeError, MissingTokenError, MissingTokenTypeError, + OAuth2Error, ServerError, TemporarilyUnavailableError, TokenExpiredError, + UnauthorizedClientError, UnsupportedGrantTypeError, + UnsupportedResponseTypeError, UnsupportedTokenTypeError, +) +from .rfc6749.grant_types import ( + AuthorizationCodeGrant, ClientCredentialsGrant, ImplicitGrant, + RefreshTokenGrant, ResourceOwnerPasswordCredentialsGrant, +) from .rfc6749.request_validator import RequestValidator from .rfc6749.tokens import BearerToken, OAuth2Token from .rfc6749.utils import is_secure_transport diff --git a/oauthlib/oauth2/rfc6749/__init__.py b/oauthlib/oauth2/rfc6749/__init__.py index 1c11234..1823e9e 100644 --- a/oauthlib/oauth2/rfc6749/__init__.py +++ b/oauthlib/oauth2/rfc6749/__init__.py @@ -9,10 +9,9 @@ for consuming and providing OAuth 2.0 RFC6749. import functools import logging -from .endpoints.base import BaseEndpoint -from .endpoints.base import catch_errors_and_unavailability -from .errors import TemporarilyUnavailableError, ServerError -from .errors import FatalClientError, OAuth2Error - +from .endpoints.base import BaseEndpoint, catch_errors_and_unavailability +from .errors import ( + FatalClientError, OAuth2Error, ServerError, TemporarilyUnavailableError, +) log = logging.getLogger(__name__) diff --git a/oauthlib/oauth2/rfc6749/clients/__init__.py b/oauthlib/oauth2/rfc6749/clients/__init__.py index 6fef738..8fc6c95 100644 --- a/oauthlib/oauth2/rfc6749/clients/__init__.py +++ b/oauthlib/oauth2/rfc6749/clients/__init__.py @@ -6,9 +6,9 @@ oauthlib.oauth2.rfc6749 This module is an implementation of various logic needed for consuming OAuth 2.0 RFC6749. """ -from .base import Client, AUTH_HEADER, URI_QUERY, BODY -from .web_application import WebApplicationClient -from .mobile_application import MobileApplicationClient -from .legacy_application import LegacyApplicationClient from .backend_application import BackendApplicationClient +from .base import AUTH_HEADER, BODY, URI_QUERY, Client +from .legacy_application import LegacyApplicationClient +from .mobile_application import MobileApplicationClient from .service_application import ServiceApplicationClient +from .web_application import WebApplicationClient diff --git a/oauthlib/oauth2/rfc6749/clients/backend_application.py b/oauthlib/oauth2/rfc6749/clients/backend_application.py index 5ffe6ae..0e2a829 100644 --- a/oauthlib/oauth2/rfc6749/clients/backend_application.py +++ b/oauthlib/oauth2/rfc6749/clients/backend_application.py @@ -6,7 +6,7 @@ oauthlib.oauth2.rfc6749 This module is an implementation of various logic needed for consuming and providing OAuth 2.0 RFC6749. """ -from ..parameters import parse_token_response, prepare_token_request +from ..parameters import prepare_token_request from .base import Client diff --git a/oauthlib/oauth2/rfc6749/clients/base.py b/oauthlib/oauth2/rfc6749/clients/base.py index 04dabe6..4147140 100644 --- a/oauthlib/oauth2/rfc6749/clients/base.py +++ b/oauthlib/oauth2/rfc6749/clients/base.py @@ -11,11 +11,13 @@ import warnings from oauthlib.common import generate_token from oauthlib.oauth2.rfc6749 import tokens -from oauthlib.oauth2.rfc6749.errors import (InsecureTransportError, - TokenExpiredError) -from oauthlib.oauth2.rfc6749.parameters import (parse_token_response, - prepare_token_request, - prepare_token_revocation_request) +from oauthlib.oauth2.rfc6749.errors import ( + InsecureTransportError, TokenExpiredError, +) +from oauthlib.oauth2.rfc6749.parameters import ( + parse_token_response, prepare_token_request, + prepare_token_revocation_request, +) from oauthlib.oauth2.rfc6749.utils import is_secure_transport AUTH_HEADER = 'auth_header' diff --git a/oauthlib/oauth2/rfc6749/clients/legacy_application.py b/oauthlib/oauth2/rfc6749/clients/legacy_application.py index 1bb0e14..51ba28c 100644 --- a/oauthlib/oauth2/rfc6749/clients/legacy_application.py +++ b/oauthlib/oauth2/rfc6749/clients/legacy_application.py @@ -6,7 +6,7 @@ oauthlib.oauth2.rfc6749 This module is an implementation of various logic needed for consuming and providing OAuth 2.0 RFC6749. """ -from ..parameters import parse_token_response, prepare_token_request +from ..parameters import prepare_token_request from .base import Client diff --git a/oauthlib/oauth2/rfc6749/clients/service_application.py b/oauthlib/oauth2/rfc6749/clients/service_application.py index 09fc7ba..79ac48d 100644 --- a/oauthlib/oauth2/rfc6749/clients/service_application.py +++ b/oauthlib/oauth2/rfc6749/clients/service_application.py @@ -10,7 +10,7 @@ import time from oauthlib.common import to_unicode -from ..parameters import parse_token_response, prepare_token_request +from ..parameters import prepare_token_request from .base import Client diff --git a/oauthlib/oauth2/rfc6749/clients/web_application.py b/oauthlib/oauth2/rfc6749/clients/web_application.py index aedc9d1..14026e3 100644 --- a/oauthlib/oauth2/rfc6749/clients/web_application.py +++ b/oauthlib/oauth2/rfc6749/clients/web_application.py @@ -8,9 +8,10 @@ for consuming and providing OAuth 2.0 RFC6749. """ import warnings -from ..parameters import (parse_authorization_code_response, - parse_token_response, prepare_grant_uri, - prepare_token_request) +from ..parameters import ( + parse_authorization_code_response, prepare_grant_uri, + prepare_token_request, +) from .base import Client diff --git a/oauthlib/oauth2/rfc6749/endpoints/__init__.py b/oauthlib/oauth2/rfc6749/endpoints/__init__.py index 49e7ee9..851853f 100644 --- a/oauthlib/oauth2/rfc6749/endpoints/__init__.py +++ b/oauthlib/oauth2/rfc6749/endpoints/__init__.py @@ -9,11 +9,10 @@ for consuming and providing OAuth 2.0 RFC6749. from .authorization import AuthorizationEndpoint from .introspect import IntrospectEndpoint from .metadata import MetadataEndpoint -from .token import TokenEndpoint +from .pre_configured import ( + BackendApplicationServer, LegacyApplicationServer, MobileApplicationServer, + Server, WebApplicationServer, +) from .resource import ResourceEndpoint from .revocation import RevocationEndpoint -from .pre_configured import Server -from .pre_configured import WebApplicationServer -from .pre_configured import MobileApplicationServer -from .pre_configured import LegacyApplicationServer -from .pre_configured import BackendApplicationServer +from .token import TokenEndpoint diff --git a/oauthlib/oauth2/rfc6749/endpoints/base.py b/oauthlib/oauth2/rfc6749/endpoints/base.py index 5169517..e59d401 100644 --- a/oauthlib/oauth2/rfc6749/endpoints/base.py +++ b/oauthlib/oauth2/rfc6749/endpoints/base.py @@ -9,11 +9,10 @@ for consuming and providing OAuth 2.0 RFC6749. import functools import logging -from ..errors import (FatalClientError, OAuth2Error, ServerError, - TemporarilyUnavailableError, InvalidRequestError, - InvalidClientError, UnsupportedTokenTypeError) - -from oauthlib.common import CaseInsensitiveDict, urldecode +from ..errors import ( + FatalClientError, InvalidClientError, InvalidRequestError, OAuth2Error, + ServerError, TemporarilyUnavailableError, UnsupportedTokenTypeError, +) log = logging.getLogger(__name__) diff --git a/oauthlib/oauth2/rfc6749/endpoints/introspect.py b/oauthlib/oauth2/rfc6749/endpoints/introspect.py index bad8950..1199031 100644 --- a/oauthlib/oauth2/rfc6749/endpoints/introspect.py +++ b/oauthlib/oauth2/rfc6749/endpoints/introspect.py @@ -12,7 +12,7 @@ import logging from oauthlib.common import Request -from ..errors import OAuth2Error, UnsupportedTokenTypeError +from ..errors import OAuth2Error from .base import BaseEndpoint, catch_errors_and_unavailability log = logging.getLogger(__name__) diff --git a/oauthlib/oauth2/rfc6749/endpoints/metadata.py b/oauthlib/oauth2/rfc6749/endpoints/metadata.py index 6bc078d..815f4b0 100644 --- a/oauthlib/oauth2/rfc6749/endpoints/metadata.py +++ b/oauthlib/oauth2/rfc6749/endpoints/metadata.py @@ -11,13 +11,12 @@ import copy import json import logging -from .base import BaseEndpoint, catch_errors_and_unavailability +from .. import grant_types from .authorization import AuthorizationEndpoint +from .base import BaseEndpoint, catch_errors_and_unavailability from .introspect import IntrospectEndpoint -from .token import TokenEndpoint from .revocation import RevocationEndpoint -from .. import grant_types - +from .token import TokenEndpoint log = logging.getLogger(__name__) diff --git a/oauthlib/oauth2/rfc6749/endpoints/pre_configured.py b/oauthlib/oauth2/rfc6749/endpoints/pre_configured.py index 7b17dc4..0130f9e 100644 --- a/oauthlib/oauth2/rfc6749/endpoints/pre_configured.py +++ b/oauthlib/oauth2/rfc6749/endpoints/pre_configured.py @@ -6,11 +6,10 @@ oauthlib.oauth2.rfc6749.endpoints.pre_configured This module is an implementation of various endpoints needed for providing OAuth 2.0 RFC6749 servers. """ -from ..grant_types import (AuthorizationCodeGrant, - ClientCredentialsGrant, - ImplicitGrant, - RefreshTokenGrant, - ResourceOwnerPasswordCredentialsGrant) +from ..grant_types import ( + AuthorizationCodeGrant, ClientCredentialsGrant, ImplicitGrant, + RefreshTokenGrant, ResourceOwnerPasswordCredentialsGrant, +) from ..tokens import BearerToken from .authorization import AuthorizationEndpoint from .introspect import IntrospectEndpoint diff --git a/oauthlib/oauth2/rfc6749/endpoints/revocation.py b/oauthlib/oauth2/rfc6749/endpoints/revocation.py index ed245f3..0eb25d3 100644 --- a/oauthlib/oauth2/rfc6749/endpoints/revocation.py +++ b/oauthlib/oauth2/rfc6749/endpoints/revocation.py @@ -11,7 +11,7 @@ import logging from oauthlib.common import Request -from ..errors import OAuth2Error, UnsupportedTokenTypeError +from ..errors import OAuth2Error from .base import BaseEndpoint, catch_errors_and_unavailability log = logging.getLogger(__name__) diff --git a/oauthlib/oauth2/rfc6749/grant_types/__init__.py b/oauthlib/oauth2/rfc6749/grant_types/__init__.py index 30c90d7..195cd09 100644 --- a/oauthlib/oauth2/rfc6749/grant_types/__init__.py +++ b/oauthlib/oauth2/rfc6749/grant_types/__init__.py @@ -4,7 +4,9 @@ oauthlib.oauth2.rfc6749.grant_types ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ """ from .authorization_code import AuthorizationCodeGrant -from .implicit import ImplicitGrant -from .resource_owner_password_credentials import ResourceOwnerPasswordCredentialsGrant from .client_credentials import ClientCredentialsGrant +from .implicit import ImplicitGrant from .refresh_token import RefreshTokenGrant +from .resource_owner_password_credentials import ( + ResourceOwnerPasswordCredentialsGrant, +) diff --git a/oauthlib/oauth2/rfc6749/grant_types/base.py b/oauthlib/oauth2/rfc6749/grant_types/base.py index 66e1fd1..51ba81b 100644 --- a/oauthlib/oauth2/rfc6749/grant_types/base.py +++ b/oauthlib/oauth2/rfc6749/grant_types/base.py @@ -7,8 +7,8 @@ import logging from itertools import chain from oauthlib.common import add_params_to_uri -from oauthlib.uri_validate import is_absolute_uri from oauthlib.oauth2.rfc6749 import errors, utils +from oauthlib.uri_validate import is_absolute_uri from ..request_validator import RequestValidator diff --git a/oauthlib/oauth2/rfc6749/grant_types/client_credentials.py b/oauthlib/oauth2/rfc6749/grant_types/client_credentials.py index 05f13af..d2c0ea4 100644 --- a/oauthlib/oauth2/rfc6749/grant_types/client_credentials.py +++ b/oauthlib/oauth2/rfc6749/grant_types/client_credentials.py @@ -7,7 +7,6 @@ import json import logging from .. import errors -from ..request_validator import RequestValidator from .base import GrantTypeBase log = logging.getLogger(__name__) diff --git a/oauthlib/oauth2/rfc6749/grant_types/refresh_token.py b/oauthlib/oauth2/rfc6749/grant_types/refresh_token.py index e7405d2..cc0ad0d 100644 --- a/oauthlib/oauth2/rfc6749/grant_types/refresh_token.py +++ b/oauthlib/oauth2/rfc6749/grant_types/refresh_token.py @@ -7,7 +7,6 @@ import json import logging from .. import errors, utils -from ..request_validator import RequestValidator from .base import GrantTypeBase log = logging.getLogger(__name__) diff --git a/oauthlib/oauth2/rfc6749/grant_types/resource_owner_password_credentials.py b/oauthlib/oauth2/rfc6749/grant_types/resource_owner_password_credentials.py index 9c8ee1d..b65b3e7 100644 --- a/oauthlib/oauth2/rfc6749/grant_types/resource_owner_password_credentials.py +++ b/oauthlib/oauth2/rfc6749/grant_types/resource_owner_password_credentials.py @@ -7,7 +7,6 @@ import json import logging from .. import errors -from ..request_validator import RequestValidator from .base import GrantTypeBase log = logging.getLogger(__name__) diff --git a/oauthlib/oauth2/rfc6749/parameters.py b/oauthlib/oauth2/rfc6749/parameters.py index 54c8d24..b5d5f41 100644 --- a/oauthlib/oauth2/rfc6749/parameters.py +++ b/oauthlib/oauth2/rfc6749/parameters.py @@ -10,14 +10,15 @@ This module contains methods related to `Section 4`_ of the OAuth 2 RFC. import json import os import time +import urllib.parse as urlparse from oauthlib.common import add_params_to_qs, add_params_to_uri from oauthlib.signals import scope_changed -import urllib.parse as urlparse -from .errors import (InsecureTransportError, MismatchingStateError, - MissingCodeError, MissingTokenError, - MissingTokenTypeError, raise_from_error) +from .errors import ( + InsecureTransportError, MismatchingStateError, MissingCodeError, + MissingTokenError, MissingTokenTypeError, raise_from_error, +) from .tokens import OAuth2Token from .utils import is_secure_transport, list_to_scope, scope_to_list diff --git a/oauthlib/oauth2/rfc6749/tokens.py b/oauthlib/oauth2/rfc6749/tokens.py index 6f6b1f6..6284248 100644 --- a/oauthlib/oauth2/rfc6749/tokens.py +++ b/oauthlib/oauth2/rfc6749/tokens.py @@ -9,17 +9,16 @@ This module contains methods for adding two types of access tokens to requests. """ import hashlib import hmac -from binascii import b2a_base64 import warnings +from binascii import b2a_base64 +from urllib.parse import urlparse from oauthlib import common from oauthlib.common import add_params_to_qs, add_params_to_uri -from urllib.parse import urlparse from . import utils - class OAuth2Token(dict): def __init__(self, params, old_scope=None): diff --git a/oauthlib/oauth2/rfc6749/utils.py b/oauthlib/oauth2/rfc6749/utils.py index 3117d4b..f7f2ab4 100644 --- a/oauthlib/oauth2/rfc6749/utils.py +++ b/oauthlib/oauth2/rfc6749/utils.py @@ -7,10 +7,9 @@ This module contains utility methods used by various parts of the OAuth 2 spec. """ import datetime import os +from urllib.parse import quote, urlparse from oauthlib.common import urldecode -from urllib.parse import quote -from urllib.parse import urlparse def list_to_scope(scope): diff --git a/oauthlib/openid/__init__.py b/oauthlib/openid/__init__.py index fb1ac8d..8a34e59 100644 --- a/oauthlib/openid/__init__.py +++ b/oauthlib/openid/__init__.py @@ -4,6 +4,5 @@ oauthlib.openid ~~~~~~~~~~~~~~ """ -from .connect.core.endpoints import Server -from .connect.core.endpoints import UserInfoEndpoint +from .connect.core.endpoints import Server, UserInfoEndpoint from .connect.core.request_validator import RequestValidator diff --git a/oauthlib/openid/connect/core/endpoints/pre_configured.py b/oauthlib/openid/connect/core/endpoints/pre_configured.py index ca8199d..03ac8f6 100644 --- a/oauthlib/openid/connect/core/endpoints/pre_configured.py +++ b/oauthlib/openid/connect/core/endpoints/pre_configured.py @@ -7,29 +7,20 @@ This module is an implementation of various endpoints needed for providing OpenID Connect servers. """ from oauthlib.oauth2.rfc6749.endpoints import ( - AuthorizationEndpoint, - IntrospectEndpoint, - ResourceEndpoint, - RevocationEndpoint, - TokenEndpoint + AuthorizationEndpoint, IntrospectEndpoint, ResourceEndpoint, + RevocationEndpoint, TokenEndpoint, ) from oauthlib.oauth2.rfc6749.grant_types import ( AuthorizationCodeGrant as OAuth2AuthorizationCodeGrant, - ImplicitGrant as OAuth2ImplicitGrant, - ClientCredentialsGrant, - RefreshTokenGrant, - ResourceOwnerPasswordCredentialsGrant + ClientCredentialsGrant, ImplicitGrant as OAuth2ImplicitGrant, + RefreshTokenGrant, ResourceOwnerPasswordCredentialsGrant, ) from oauthlib.oauth2.rfc6749.tokens import BearerToken -from ..grant_types import ( - AuthorizationCodeGrant, - ImplicitGrant, - HybridGrant, -) + +from ..grant_types import AuthorizationCodeGrant, HybridGrant, ImplicitGrant from ..grant_types.dispatchers import ( - AuthorizationCodeGrantDispatcher, + AuthorizationCodeGrantDispatcher, AuthorizationTokenGrantDispatcher, ImplicitTokenGrantDispatcher, - AuthorizationTokenGrantDispatcher ) from ..tokens import JWTToken from .userinfo import UserInfoEndpoint diff --git a/oauthlib/openid/connect/core/endpoints/userinfo.py b/oauthlib/openid/connect/core/endpoints/userinfo.py index dc73373..1c29cc5 100644 --- a/oauthlib/openid/connect/core/endpoints/userinfo.py +++ b/oauthlib/openid/connect/core/endpoints/userinfo.py @@ -8,11 +8,11 @@ import json import logging from oauthlib.common import Request -from oauthlib.oauth2.rfc6749.endpoints.base import BaseEndpoint -from oauthlib.oauth2.rfc6749.endpoints.base import catch_errors_and_unavailability -from oauthlib.oauth2.rfc6749.tokens import BearerToken from oauthlib.oauth2.rfc6749 import errors - +from oauthlib.oauth2.rfc6749.endpoints.base import ( + BaseEndpoint, catch_errors_and_unavailability, +) +from oauthlib.oauth2.rfc6749.tokens import BearerToken log = logging.getLogger(__name__) diff --git a/oauthlib/openid/connect/core/grant_types/__init__.py b/oauthlib/openid/connect/core/grant_types/__init__.py index 4e7b474..b126218 100644 --- a/oauthlib/openid/connect/core/grant_types/__init__.py +++ b/oauthlib/openid/connect/core/grant_types/__init__.py @@ -4,12 +4,11 @@ oauthlib.openid.connect.core.grant_types ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ """ from .authorization_code import AuthorizationCodeGrant -from .implicit import ImplicitGrant from .base import GrantTypeBase -from .hybrid import HybridGrant -from .exceptions import OIDCNoPrompt from .dispatchers import ( - AuthorizationCodeGrantDispatcher, + AuthorizationCodeGrantDispatcher, AuthorizationTokenGrantDispatcher, ImplicitTokenGrantDispatcher, - AuthorizationTokenGrantDispatcher ) +from .exceptions import OIDCNoPrompt +from .hybrid import HybridGrant +from .implicit import ImplicitGrant diff --git a/oauthlib/openid/connect/core/grant_types/authorization_code.py b/oauthlib/openid/connect/core/grant_types/authorization_code.py index d07d138..d38b028 100644 --- a/oauthlib/openid/connect/core/grant_types/authorization_code.py +++ b/oauthlib/openid/connect/core/grant_types/authorization_code.py @@ -5,7 +5,9 @@ oauthlib.openid.connect.core.grant_types """ import logging -from oauthlib.oauth2.rfc6749.grant_types.authorization_code import AuthorizationCodeGrant as OAuth2AuthorizationCodeGrant +from oauthlib.oauth2.rfc6749.grant_types.authorization_code import ( + AuthorizationCodeGrant as OAuth2AuthorizationCodeGrant, +) from .base import GrantTypeBase diff --git a/oauthlib/openid/connect/core/grant_types/base.py b/oauthlib/openid/connect/core/grant_types/base.py index cd27237..d0a4812 100644 --- a/oauthlib/openid/connect/core/grant_types/base.py +++ b/oauthlib/openid/connect/core/grant_types/base.py @@ -1,12 +1,14 @@ -from .exceptions import OIDCNoPrompt - import base64 import hashlib import logging import time from json import loads -from oauthlib.oauth2.rfc6749.errors import ConsentRequired, InvalidRequestError, LoginRequired +from oauthlib.oauth2.rfc6749.errors import ( + ConsentRequired, InvalidRequestError, LoginRequired, +) + +from .exceptions import OIDCNoPrompt log = logging.getLogger(__name__) diff --git a/oauthlib/openid/connect/core/grant_types/dispatchers.py b/oauthlib/openid/connect/core/grant_types/dispatchers.py index 6dcc0cb..2734c38 100644 --- a/oauthlib/openid/connect/core/grant_types/dispatchers.py +++ b/oauthlib/openid/connect/core/grant_types/dispatchers.py @@ -1,4 +1,5 @@ import logging + log = logging.getLogger(__name__) diff --git a/oauthlib/openid/connect/core/grant_types/hybrid.py b/oauthlib/openid/connect/core/grant_types/hybrid.py index caf8547..a8dd564 100644 --- a/oauthlib/openid/connect/core/grant_types/hybrid.py +++ b/oauthlib/openid/connect/core/grant_types/hybrid.py @@ -5,11 +5,13 @@ oauthlib.openid.connect.core.grant_types """ import logging -from oauthlib.oauth2.rfc6749.grant_types.authorization_code import AuthorizationCodeGrant as OAuth2AuthorizationCodeGrant from oauthlib.oauth2.rfc6749.errors import InvalidRequestError +from oauthlib.oauth2.rfc6749.grant_types.authorization_code import ( + AuthorizationCodeGrant as OAuth2AuthorizationCodeGrant, +) -from .base import GrantTypeBase from ..request_validator import RequestValidator +from .base import GrantTypeBase log = logging.getLogger(__name__) diff --git a/oauthlib/openid/connect/core/grant_types/implicit.py b/oauthlib/openid/connect/core/grant_types/implicit.py index 62f63f9..3ab7d5d 100644 --- a/oauthlib/openid/connect/core/grant_types/implicit.py +++ b/oauthlib/openid/connect/core/grant_types/implicit.py @@ -5,10 +5,12 @@ oauthlib.openid.connect.core.grant_types """ import logging -from .base import GrantTypeBase - -from oauthlib.oauth2.rfc6749.grant_types.implicit import ImplicitGrant as OAuth2ImplicitGrant from oauthlib.oauth2.rfc6749.errors import InvalidRequestError +from oauthlib.oauth2.rfc6749.grant_types.implicit import ( + ImplicitGrant as OAuth2ImplicitGrant, +) + +from .base import GrantTypeBase log = logging.getLogger(__name__) diff --git a/oauthlib/openid/connect/core/request_validator.py b/oauthlib/openid/connect/core/request_validator.py index ebc07dc..7f44d69 100644 --- a/oauthlib/openid/connect/core/request_validator.py +++ b/oauthlib/openid/connect/core/request_validator.py @@ -5,7 +5,9 @@ oauthlib.openid.connect.core.request_validator """ import logging -from oauthlib.oauth2.rfc6749.request_validator import RequestValidator as OAuth2RequestValidator +from oauthlib.oauth2.rfc6749.request_validator import ( + RequestValidator as OAuth2RequestValidator, +) log = logging.getLogger(__name__) -- cgit v1.2.1 From f9e9f3395715a99e56494ab0a3ee168083d44a7d Mon Sep 17 00:00:00 2001 From: Anton Ruhlov Date: Fri, 10 Apr 2020 15:53:05 +0300 Subject: Fixed sorted import for < py37 --- oauthlib/oauth1/rfc5849/endpoints/__init__.py | 3 ++- oauthlib/oauth1/rfc5849/endpoints/authorization.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/oauthlib/oauth1/rfc5849/endpoints/__init__.py b/oauthlib/oauth1/rfc5849/endpoints/__init__.py index a3a7eb3..9f30389 100644 --- a/oauthlib/oauth1/rfc5849/endpoints/__init__.py +++ b/oauthlib/oauth1/rfc5849/endpoints/__init__.py @@ -1,7 +1,8 @@ from .access_token import AccessTokenEndpoint from .authorization import AuthorizationEndpoint from .base import BaseEndpoint -from .pre_configured import WebApplicationServer from .request_token import RequestTokenEndpoint from .resource import ResourceEndpoint from .signature_only import SignatureOnlyEndpoint + +from .pre_configured import WebApplicationServer # isort:skip diff --git a/oauthlib/oauth1/rfc5849/endpoints/authorization.py b/oauthlib/oauth1/rfc5849/endpoints/authorization.py index 80a3902..00d9576 100644 --- a/oauthlib/oauth1/rfc5849/endpoints/authorization.py +++ b/oauthlib/oauth1/rfc5849/endpoints/authorization.py @@ -8,7 +8,7 @@ for signing and checking OAuth 1.0 RFC 5849 requests. """ from urllib.parse import urlencode -from oauthlib.common import Request, add_params_to_uri +from oauthlib.common import add_params_to_uri from .. import errors from .base import BaseEndpoint -- cgit v1.2.1 From 9334b8665fa7710d412f6f0036f9f466924383a8 Mon Sep 17 00:00:00 2001 From: Anton Ruhlov Date: Fri, 10 Apr 2020 15:56:37 +0300 Subject: Add missing new line in setup.cfg --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index af09495..3128e18 100644 --- a/setup.cfg +++ b/setup.cfg @@ -12,4 +12,4 @@ known_first_party = oauthlib known_tests = tests sections = FUTURE,STDLIB,THIRDPARTY,FIRSTPARTY,TESTS,LOCALFOLDER line_length = 79 -multi_line_output = 5 \ No newline at end of file +multi_line_output = 5 -- cgit v1.2.1 From 404f4c6835d3762ec10cc17d30165df67996e8dc Mon Sep 17 00:00:00 2001 From: Anton Ruhlov Date: Fri, 10 Apr 2020 16:02:25 +0300 Subject: Add missing new line in tox.ini --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 1429eb8..8ff73f2 100644 --- a/tox.ini +++ b/tox.ini @@ -40,4 +40,4 @@ basepython = python3.7 usedevelop = false deps = isort changedir = {toxinidir} -commands = isort --recursive --check-only --diff oauthlib tests \ No newline at end of file +commands = isort --recursive --check-only --diff oauthlib tests -- cgit v1.2.1