summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/oauth1/rfc5849/endpoints/test_access_token.py2
-rw-r--r--tests/oauth1/rfc5849/endpoints/test_authorization.py2
-rw-r--r--tests/oauth1/rfc5849/endpoints/test_base.py2
-rw-r--r--tests/oauth1/rfc5849/endpoints/test_request_token.py2
-rw-r--r--tests/oauth1/rfc5849/endpoints/test_resource.py2
-rw-r--r--tests/oauth1/rfc5849/endpoints/test_signature_only.py2
-rw-r--r--tests/oauth1/rfc5849/test_client.py4
-rw-r--r--tests/oauth1/rfc5849/test_parameters.py2
-rw-r--r--tests/oauth1/rfc5849/test_request_validator.py2
-rw-r--r--tests/oauth1/rfc5849/test_signatures.py10
-rw-r--r--tests/oauth1/rfc5849/test_utils.py11
-rw-r--r--tests/oauth2/rfc6749/clients/test_backend_application.py2
-rw-r--r--tests/oauth2/rfc6749/clients/test_base.py6
-rw-r--r--tests/oauth2/rfc6749/clients/test_legacy_application.py14
-rw-r--r--tests/oauth2/rfc6749/clients/test_mobile_application.py2
-rw-r--r--tests/oauth2/rfc6749/clients/test_service_application.py2
-rw-r--r--tests/oauth2/rfc6749/clients/test_web_application.py11
-rw-r--r--tests/oauth2/rfc6749/endpoints/test_base_endpoint.py2
-rw-r--r--tests/oauth2/rfc6749/endpoints/test_client_authentication.py2
-rw-r--r--tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py2
-rw-r--r--tests/oauth2/rfc6749/endpoints/test_error_responses.py2
-rw-r--r--tests/oauth2/rfc6749/endpoints/test_extra_credentials.py2
-rw-r--r--tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py2
-rw-r--r--tests/oauth2/rfc6749/endpoints/test_metadata.py2
-rw-r--r--tests/oauth2/rfc6749/endpoints/test_resource_owner_association.py2
-rw-r--r--tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py2
-rw-r--r--tests/oauth2/rfc6749/endpoints/test_scope_handling.py8
-rw-r--r--tests/oauth2/rfc6749/endpoints/test_utils.py5
-rw-r--r--tests/oauth2/rfc6749/grant_types/test_authorization_code.py2
-rw-r--r--tests/oauth2/rfc6749/grant_types/test_client_credentials.py2
-rw-r--r--tests/oauth2/rfc6749/grant_types/test_implicit.py2
-rw-r--r--tests/oauth2/rfc6749/grant_types/test_refresh_token.py2
-rw-r--r--tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py2
-rw-r--r--tests/oauth2/rfc6749/test_parameters.py12
-rw-r--r--tests/oauth2/rfc6749/test_request_validator.py2
-rw-r--r--tests/oauth2/rfc6749/test_server.py6
-rw-r--r--tests/oauth2/rfc6749/test_tokens.py2
-rw-r--r--tests/oauth2/rfc6749/test_utils.py11
-rw-r--r--tests/openid/connect/core/endpoints/test_claims_handling.py2
-rw-r--r--tests/openid/connect/core/endpoints/test_openid_connect_params_handling.py10
-rw-r--r--tests/openid/connect/core/endpoints/test_userinfo_endpoint.py2
-rw-r--r--tests/openid/connect/core/grant_types/test_authorization_code.py12
-rw-r--r--tests/openid/connect/core/grant_types/test_dispatchers.py7
-rw-r--r--tests/openid/connect/core/grant_types/test_hybrid.py16
-rw-r--r--tests/openid/connect/core/grant_types/test_implicit.py16
-rw-r--r--tests/openid/connect/core/test_request_validator.py2
-rw-r--r--tests/openid/connect/core/test_server.py6
-rw-r--r--tests/openid/connect/core/test_tokens.py2
-rw-r--r--tests/test_common.py66
-rw-r--r--tests/unittest/__init__.py21
50 files changed, 92 insertions, 222 deletions
diff --git a/tests/oauth1/rfc5849/endpoints/test_access_token.py b/tests/oauth1/rfc5849/endpoints/test_access_token.py
index 3499fdb..9ba8a3e 100644
--- a/tests/oauth1/rfc5849/endpoints/test_access_token.py
+++ b/tests/oauth1/rfc5849/endpoints/test_access_token.py
@@ -1,5 +1,3 @@
-from __future__ import absolute_import, unicode_literals
-
from mock import ANY, MagicMock
from oauthlib.oauth1 import RequestValidator
diff --git a/tests/oauth1/rfc5849/endpoints/test_authorization.py b/tests/oauth1/rfc5849/endpoints/test_authorization.py
index e9d3604..178bddf 100644
--- a/tests/oauth1/rfc5849/endpoints/test_authorization.py
+++ b/tests/oauth1/rfc5849/endpoints/test_authorization.py
@@ -1,5 +1,3 @@
-from __future__ import absolute_import, unicode_literals
-
from mock import MagicMock
from oauthlib.oauth1 import RequestValidator
diff --git a/tests/oauth1/rfc5849/endpoints/test_base.py b/tests/oauth1/rfc5849/endpoints/test_base.py
index 795ddee..de6c1a4 100644
--- a/tests/oauth1/rfc5849/endpoints/test_base.py
+++ b/tests/oauth1/rfc5849/endpoints/test_base.py
@@ -1,5 +1,3 @@
-from __future__ import absolute_import, unicode_literals
-
from re import sub
from mock import MagicMock
diff --git a/tests/oauth1/rfc5849/endpoints/test_request_token.py b/tests/oauth1/rfc5849/endpoints/test_request_token.py
index 5c9ae88..ece36bd 100644
--- a/tests/oauth1/rfc5849/endpoints/test_request_token.py
+++ b/tests/oauth1/rfc5849/endpoints/test_request_token.py
@@ -1,5 +1,3 @@
-from __future__ import absolute_import, unicode_literals
-
from mock import ANY, MagicMock
from oauthlib.oauth1 import RequestValidator
diff --git a/tests/oauth1/rfc5849/endpoints/test_resource.py b/tests/oauth1/rfc5849/endpoints/test_resource.py
index b71412a..41c9aee 100644
--- a/tests/oauth1/rfc5849/endpoints/test_resource.py
+++ b/tests/oauth1/rfc5849/endpoints/test_resource.py
@@ -1,5 +1,3 @@
-from __future__ import absolute_import, unicode_literals
-
from mock import ANY, MagicMock
from oauthlib.oauth1 import RequestValidator
diff --git a/tests/oauth1/rfc5849/endpoints/test_signature_only.py b/tests/oauth1/rfc5849/endpoints/test_signature_only.py
index 1d758b1..9804137 100644
--- a/tests/oauth1/rfc5849/endpoints/test_signature_only.py
+++ b/tests/oauth1/rfc5849/endpoints/test_signature_only.py
@@ -1,5 +1,3 @@
-from __future__ import absolute_import, unicode_literals
-
from mock import ANY, MagicMock
from oauthlib.oauth1 import RequestValidator
diff --git a/tests/oauth1/rfc5849/test_client.py b/tests/oauth1/rfc5849/test_client.py
index e1f83de..5c805a1 100644
--- a/tests/oauth1/rfc5849/test_client.py
+++ b/tests/oauth1/rfc5849/test_client.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
from oauthlib.common import Request
from oauthlib.oauth1 import (SIGNATURE_PLAINTEXT, SIGNATURE_HMAC_SHA1,
SIGNATURE_HMAC_SHA256, SIGNATURE_RSA,
@@ -163,7 +161,7 @@ class SignatureMethodTest(TestCase):
Client.register_signature_method('PIZZA',
lambda base_string, client: 'PIZZA')
- self.assertTrue('PIZZA' in Client.SIGNATURE_METHODS)
+ self.assertIn('PIZZA', Client.SIGNATURE_METHODS)
client = Client('client_key', signature_method='PIZZA',
timestamp='1234567890', nonce='abc')
diff --git a/tests/oauth1/rfc5849/test_parameters.py b/tests/oauth1/rfc5849/test_parameters.py
index ae72fd7..3afbb3a 100644
--- a/tests/oauth1/rfc5849/test_parameters.py
+++ b/tests/oauth1/rfc5849/test_parameters.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
from oauthlib.common import urlencode
from oauthlib.oauth1.rfc5849.parameters import (_append_params,
prepare_form_encoded_body,
diff --git a/tests/oauth1/rfc5849/test_request_validator.py b/tests/oauth1/rfc5849/test_request_validator.py
index 88bbcdc..a3fe58f 100644
--- a/tests/oauth1/rfc5849/test_request_validator.py
+++ b/tests/oauth1/rfc5849/test_request_validator.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
from oauthlib.oauth1 import RequestValidator
from ...unittest import TestCase
diff --git a/tests/oauth1/rfc5849/test_signatures.py b/tests/oauth1/rfc5849/test_signatures.py
index 5ff0989..89219f7 100644
--- a/tests/oauth1/rfc5849/test_signatures.py
+++ b/tests/oauth1/rfc5849/test_signatures.py
@@ -1,7 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
-from oauthlib.common import unicode_type
from oauthlib.oauth1.rfc5849.signature import (collect_parameters,
signature_base_string,
base_string_uri,
@@ -12,13 +9,10 @@ from oauthlib.oauth1.rfc5849.signature import (collect_parameters,
sign_plaintext_with_client,
sign_rsa_sha1,
sign_rsa_sha1_with_client)
+from urllib.parse import quote
from ...unittest import TestCase
-try:
- from urllib import quote
-except ImportError:
- from urllib.parse import quote
@@ -241,7 +235,7 @@ class SignatureTests(TestCase):
normalized = normalize_parameters(parameters)
# Unicode everywhere and always
- self.assertIsInstance(normalized, unicode_type)
+ self.assertIsInstance(normalized, str)
# Lets see if things are in order
# check to see that querystring keys come in alphanumeric order:
diff --git a/tests/oauth1/rfc5849/test_utils.py b/tests/oauth1/rfc5849/test_utils.py
index 5a889e8..ba8ed0e 100644
--- a/tests/oauth1/rfc5849/test_utils.py
+++ b/tests/oauth1/rfc5849/test_utils.py
@@ -1,7 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
-from oauthlib.common import unicode_type
from oauthlib.oauth1.rfc5849.utils import *
from ...unittest import TestCase
@@ -102,12 +99,12 @@ class UtilsTests(TestCase):
def test_escape(self):
self.assertRaises(ValueError, escape, b"I am a string type. Not a unicode type.")
self.assertEqual(escape("I am a unicode type."), "I%20am%20a%20unicode%20type.")
- self.assertIsInstance(escape("I am a unicode type."), unicode_type)
+ self.assertIsInstance(escape("I am a unicode type."), str)
def test_unescape(self):
self.assertRaises(ValueError, unescape, b"I am a string type. Not a unicode type.")
self.assertEqual(unescape("I%20am%20a%20unicode%20type."), 'I am a unicode type.')
- self.assertIsInstance(unescape("I%20am%20a%20unicode%20type."), unicode_type)
+ self.assertIsInstance(unescape("I%20am%20a%20unicode%20type."), str)
def test_parse_authorization_header(self):
# make us some headers
@@ -122,8 +119,8 @@ class UtilsTests(TestCase):
# are the internal components of each tuple unicode?
for k, v in authorization_headers:
- self.assertIsInstance(k, unicode_type)
- self.assertIsInstance(v, unicode_type)
+ self.assertIsInstance(k, str)
+ self.assertIsInstance(v, str)
# let's check the parsed headers created
correct_headers = [
diff --git a/tests/oauth2/rfc6749/clients/test_backend_application.py b/tests/oauth2/rfc6749/clients/test_backend_application.py
index aa2ba2b..8d80b39 100644
--- a/tests/oauth2/rfc6749/clients/test_backend_application.py
+++ b/tests/oauth2/rfc6749/clients/test_backend_application.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
import os
from mock import patch
diff --git a/tests/oauth2/rfc6749/clients/test_base.py b/tests/oauth2/rfc6749/clients/test_base.py
index d48a944..c545c25 100644
--- a/tests/oauth2/rfc6749/clients/test_base.py
+++ b/tests/oauth2/rfc6749/clients/test_base.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
import datetime
from oauthlib import common
@@ -295,11 +293,11 @@ class ClientTest(TestCase):
u, h, b = client.prepare_refresh_token_request(url, token, scope=scope)
self.assertEqual(u, url)
self.assertEqual(h, {'Content-Type': 'application/x-www-form-urlencoded'})
- self.assertFormBodyEqual(b, 'grant_type=refresh_token&scope=%s&refresh_token=%s' % (scope, token))
+ self.assertFormBodyEqual(b, 'grant_type=refresh_token&scope={}&refresh_token={}'.format(scope, token))
# provide scope while init
client = Client(self.client_id, scope=scope)
u, h, b = client.prepare_refresh_token_request(url, token, scope=scope)
self.assertEqual(u, url)
self.assertEqual(h, {'Content-Type': 'application/x-www-form-urlencoded'})
- self.assertFormBodyEqual(b, 'grant_type=refresh_token&scope=%s&refresh_token=%s' % (scope, token))
+ self.assertFormBodyEqual(b, 'grant_type=refresh_token&scope={}&refresh_token={}'.format(scope, token))
diff --git a/tests/oauth2/rfc6749/clients/test_legacy_application.py b/tests/oauth2/rfc6749/clients/test_legacy_application.py
index 21af4a3..34ea108 100644
--- a/tests/oauth2/rfc6749/clients/test_legacy_application.py
+++ b/tests/oauth2/rfc6749/clients/test_legacy_application.py
@@ -1,20 +1,14 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
import os
from mock import patch
from oauthlib import signals
from oauthlib.oauth2 import LegacyApplicationClient
+import urllib.parse as urlparse
from ....unittest import TestCase
-# this is the same import method used in oauthlib/oauth2/rfc6749/parameters.py
-try:
- import urlparse
-except ImportError:
- import urllib.parse as urlparse
@patch('time.time', new=lambda: 1000)
@@ -32,7 +26,7 @@ class LegacyApplicationClientTest(TestCase):
password = "user_password"
body = "not=empty"
- body_up = "not=empty&grant_type=password&username=%s&password=%s" % (username, password)
+ body_up = "not=empty&grant_type=password&username={}&password={}".format(username, password)
body_kwargs = body_up + "&some=providers&require=extra+arguments"
token_json = ('{ "access_token":"2YotnFZFEjr1zCsicMWpAA",'
@@ -105,8 +99,8 @@ class LegacyApplicationClientTest(TestCase):
# scenario 1, default behavior to not include `client_id`
r1 = client.prepare_request_body(username=self.username, password=self.password)
- self.assertIn(r1, ('grant_type=password&username=%s&password=%s' % (self.username, self.password, ),
- 'grant_type=password&password=%s&username=%s' % (self.password, self.username, ),
+ self.assertIn(r1, ('grant_type=password&username={}&password={}'.format(self.username, self.password),
+ 'grant_type=password&password={}&username={}'.format(self.password, self.username),
))
# scenario 2, include `client_id` in the body
diff --git a/tests/oauth2/rfc6749/clients/test_mobile_application.py b/tests/oauth2/rfc6749/clients/test_mobile_application.py
index 622b275..e2bdebe 100644
--- a/tests/oauth2/rfc6749/clients/test_mobile_application.py
+++ b/tests/oauth2/rfc6749/clients/test_mobile_application.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
import os
from mock import patch
diff --git a/tests/oauth2/rfc6749/clients/test_service_application.py b/tests/oauth2/rfc6749/clients/test_service_application.py
index dc337cf..ba9406b 100644
--- a/tests/oauth2/rfc6749/clients/test_service_application.py
+++ b/tests/oauth2/rfc6749/clients/test_service_application.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
import os
from time import time
diff --git a/tests/oauth2/rfc6749/clients/test_web_application.py b/tests/oauth2/rfc6749/clients/test_web_application.py
index 092f93e..e3382c8 100644
--- a/tests/oauth2/rfc6749/clients/test_web_application.py
+++ b/tests/oauth2/rfc6749/clients/test_web_application.py
@@ -1,7 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
-import datetime
import os
import warnings
@@ -13,14 +10,10 @@ from oauthlib.oauth2 import (BackendApplicationClient, Client,
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
-# this is the same import method used in oauthlib/oauth2/rfc6749/parameters.py
-try:
- import urlparse
-except ImportError:
- import urllib.parse as urlparse
@patch('time.time', new=lambda: 1000)
@@ -46,7 +39,7 @@ class WebApplicationClientTest(TestCase):
code = "zzzzaaaa"
body = "not=empty"
- body_code = "not=empty&grant_type=authorization_code&code=%s&client_id=%s" % (code, client_id)
+ body_code = "not=empty&grant_type=authorization_code&code={}&client_id={}".format(code, client_id)
body_redirect = body_code + "&redirect_uri=http%3A%2F%2Fmy.page.com%2Fcallback"
body_kwargs = body_code + "&some=providers&require=extra+arguments"
diff --git a/tests/oauth2/rfc6749/endpoints/test_base_endpoint.py b/tests/oauth2/rfc6749/endpoints/test_base_endpoint.py
index bf04a42..2289b58 100644
--- a/tests/oauth2/rfc6749/endpoints/test_base_endpoint.py
+++ b/tests/oauth2/rfc6749/endpoints/test_base_endpoint.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
from oauthlib.oauth2 import (FatalClientError, OAuth2Error, RequestValidator,
Server)
from oauthlib.oauth2.rfc6749 import (BaseEndpoint,
diff --git a/tests/oauth2/rfc6749/endpoints/test_client_authentication.py b/tests/oauth2/rfc6749/endpoints/test_client_authentication.py
index 133da59..48b5485 100644
--- a/tests/oauth2/rfc6749/endpoints/test_client_authentication.py
+++ b/tests/oauth2/rfc6749/endpoints/test_client_authentication.py
@@ -9,8 +9,6 @@ We make sure authentication is done by requiring a client object to be set
on the request object with a client_id parameter. The client_id attribute
prevents this check from being circumvented with a client form parameter.
"""
-from __future__ import absolute_import, unicode_literals
-
import json
import mock
diff --git a/tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py b/tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py
index e7c66b6..bda71f7 100644
--- a/tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py
+++ b/tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py
@@ -3,8 +3,6 @@
The Authorization Code Grant will need to preserve state as well as redirect
uri and the Implicit Grant will need to preserve state.
"""
-from __future__ import absolute_import, unicode_literals
-
import json
import mock
diff --git a/tests/oauth2/rfc6749/endpoints/test_error_responses.py b/tests/oauth2/rfc6749/endpoints/test_error_responses.py
index 2479836..cdf2b63 100644
--- a/tests/oauth2/rfc6749/endpoints/test_error_responses.py
+++ b/tests/oauth2/rfc6749/endpoints/test_error_responses.py
@@ -1,7 +1,5 @@
"""Ensure the correct error responses are returned for all defined error types.
"""
-from __future__ import absolute_import, unicode_literals
-
import json
import mock
diff --git a/tests/oauth2/rfc6749/endpoints/test_extra_credentials.py b/tests/oauth2/rfc6749/endpoints/test_extra_credentials.py
index a12fcd2..6895dcd 100644
--- a/tests/oauth2/rfc6749/endpoints/test_extra_credentials.py
+++ b/tests/oauth2/rfc6749/endpoints/test_extra_credentials.py
@@ -1,7 +1,5 @@
"""Ensure extra credentials can be supplied for inclusion in tokens.
"""
-from __future__ import absolute_import, unicode_literals
-
import mock
from oauthlib.oauth2 import (BackendApplicationServer, LegacyApplicationServer,
diff --git a/tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py b/tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py
index ae3deae..0942d96 100644
--- a/tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py
+++ b/tests/oauth2/rfc6749/endpoints/test_introspect_endpoint.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
from json import loads
from mock import MagicMock
diff --git a/tests/oauth2/rfc6749/endpoints/test_metadata.py b/tests/oauth2/rfc6749/endpoints/test_metadata.py
index 4813b46..a01500f 100644
--- a/tests/oauth2/rfc6749/endpoints/test_metadata.py
+++ b/tests/oauth2/rfc6749/endpoints/test_metadata.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
from oauthlib.oauth2 import MetadataEndpoint
from oauthlib.oauth2 import TokenEndpoint
from oauthlib.oauth2 import Server
diff --git a/tests/oauth2/rfc6749/endpoints/test_resource_owner_association.py b/tests/oauth2/rfc6749/endpoints/test_resource_owner_association.py
index e823286..9e9d836 100644
--- a/tests/oauth2/rfc6749/endpoints/test_resource_owner_association.py
+++ b/tests/oauth2/rfc6749/endpoints/test_resource_owner_association.py
@@ -1,7 +1,5 @@
"""Ensure all tokens are associated with a resource owner.
"""
-from __future__ import absolute_import, unicode_literals
-
import json
import mock
diff --git a/tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py b/tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py
index 17be3a5..0e3b2e1 100644
--- a/tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py
+++ b/tests/oauth2/rfc6749/endpoints/test_revocation_endpoint.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
from json import loads
from mock import MagicMock
diff --git a/tests/oauth2/rfc6749/endpoints/test_scope_handling.py b/tests/oauth2/rfc6749/endpoints/test_scope_handling.py
index 4f27963..65e0e3c 100644
--- a/tests/oauth2/rfc6749/endpoints/test_scope_handling.py
+++ b/tests/oauth2/rfc6749/endpoints/test_scope_handling.py
@@ -3,8 +3,6 @@
Fairly trivial in all grants except the Authorization Code Grant where scope
need to be persisted temporarily in an authorization code.
"""
-from __future__ import absolute_import, unicode_literals
-
import json
import mock
@@ -65,13 +63,13 @@ class TestScopeHandling(TestCase):
for scope, correct_scopes in scopes:
scopes, _ = self.web.validate_authorization_request(
uri % (scope, 'code'))
- self.assertItemsEqual(scopes, correct_scopes)
+ self.assertCountEqual(scopes, correct_scopes)
scopes, _ = self.mobile.validate_authorization_request(
uri % (scope, 'token'))
- self.assertItemsEqual(scopes, correct_scopes)
+ self.assertCountEqual(scopes, correct_scopes)
scopes, _ = self.server.validate_authorization_request(
uri % (scope, 'code'))
- self.assertItemsEqual(scopes, correct_scopes)
+ self.assertCountEqual(scopes, correct_scopes)
def test_scope_preservation(self):
scope = 'pics+http%3A%2f%2fa.b%2fvideos'
diff --git a/tests/oauth2/rfc6749/endpoints/test_utils.py b/tests/oauth2/rfc6749/endpoints/test_utils.py
index 6b7cff8..5eae195 100644
--- a/tests/oauth2/rfc6749/endpoints/test_utils.py
+++ b/tests/oauth2/rfc6749/endpoints/test_utils.py
@@ -1,7 +1,4 @@
-try:
- import urlparse
-except ImportError:
- import urllib.parse as urlparse
+import urllib.parse as urlparse
def get_query_credentials(uri):
diff --git a/tests/oauth2/rfc6749/grant_types/test_authorization_code.py b/tests/oauth2/rfc6749/grant_types/test_authorization_code.py
index 2c9db3c..4ed9086 100644
--- a/tests/oauth2/rfc6749/grant_types/test_authorization_code.py
+++ b/tests/oauth2/rfc6749/grant_types/test_authorization_code.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
import json
import mock
diff --git a/tests/oauth2/rfc6749/grant_types/test_client_credentials.py b/tests/oauth2/rfc6749/grant_types/test_client_credentials.py
index edc6bfe..d994278 100644
--- a/tests/oauth2/rfc6749/grant_types/test_client_credentials.py
+++ b/tests/oauth2/rfc6749/grant_types/test_client_credentials.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
import json
import mock
diff --git a/tests/oauth2/rfc6749/grant_types/test_implicit.py b/tests/oauth2/rfc6749/grant_types/test_implicit.py
index 0c18cab..ffd766a 100644
--- a/tests/oauth2/rfc6749/grant_types/test_implicit.py
+++ b/tests/oauth2/rfc6749/grant_types/test_implicit.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
import mock
from oauthlib.common import Request
diff --git a/tests/oauth2/rfc6749/grant_types/test_refresh_token.py b/tests/oauth2/rfc6749/grant_types/test_refresh_token.py
index 32a0977..074f359 100644
--- a/tests/oauth2/rfc6749/grant_types/test_refresh_token.py
+++ b/tests/oauth2/rfc6749/grant_types/test_refresh_token.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
import json
import mock
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 82e0524..4e93015 100644
--- a/tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py
+++ b/tests/oauth2/rfc6749/grant_types/test_resource_owner_password.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
import json
import mock
diff --git a/tests/oauth2/rfc6749/test_parameters.py b/tests/oauth2/rfc6749/test_parameters.py
index 48b7eac..e9b3621 100644
--- a/tests/oauth2/rfc6749/test_parameters.py
+++ b/tests/oauth2/rfc6749/test_parameters.py
@@ -1,5 +1,3 @@
-from __future__ import absolute_import, unicode_literals
-
from mock import patch
from oauthlib import signals
@@ -77,9 +75,9 @@ class ParameterTests(TestCase):
error_invalid = 'https://client.example.com/cb?error=invalid_request&state=xyz'
implicit_base = 'https://example.com/cb#access_token=2YotnFZFEjr1zCsicMWpAA&scope=abc&'
- implicit_response = implicit_base + 'state={0}&token_type=example&expires_in=3600'.format(state)
- implicit_notype = implicit_base + 'state={0}&expires_in=3600'.format(state)
- implicit_wrongstate = implicit_base + 'state={0}&token_type=exampleexpires_in=3600'.format('invalid')
+ implicit_response = implicit_base + 'state={}&token_type=example&expires_in=3600'.format(state)
+ implicit_notype = implicit_base + 'state={}&expires_in=3600'.format(state)
+ implicit_wrongstate = implicit_base + 'state={}&token_type=exampleexpires_in=3600'.format('invalid')
implicit_nostate = implicit_base + 'token_type=example&expires_in=3600'
implicit_notoken = 'https://example.com/cb#state=xyz&token_type=example&expires_in=3600'
@@ -244,7 +242,7 @@ class ParameterTests(TestCase):
for scope in new + old:
self.assertIn(scope, message)
self.assertEqual(old, ['aaa'])
- self.assertEqual(set(new), set(['abc', 'def']))
+ self.assertEqual(set(new), {'abc', 'def'})
finally:
signals.scope_changed.disconnect(record_scope_change)
del os.environ['OAUTHLIB_RELAX_TOKEN_SCOPE']
@@ -278,7 +276,7 @@ class ParameterTests(TestCase):
for scope in new + old:
self.assertIn(scope, message)
self.assertEqual(old, ['aaa'])
- self.assertEqual(set(new), set(['abc', 'def']))
+ self.assertEqual(set(new), {'abc', 'def'})
finally:
signals.scope_changed.disconnect(record_scope_change)
del os.environ['OAUTHLIB_RELAX_TOKEN_SCOPE']
diff --git a/tests/oauth2/rfc6749/test_request_validator.py b/tests/oauth2/rfc6749/test_request_validator.py
index 9dde814..257280c 100644
--- a/tests/oauth2/rfc6749/test_request_validator.py
+++ b/tests/oauth2/rfc6749/test_request_validator.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
from oauthlib.oauth2 import RequestValidator
from ...unittest import TestCase
diff --git a/tests/oauth2/rfc6749/test_server.py b/tests/oauth2/rfc6749/test_server.py
index 2c6ecff..9288e49 100644
--- a/tests/oauth2/rfc6749/test_server.py
+++ b/tests/oauth2/rfc6749/test_server.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
import json
import mock
@@ -73,7 +71,7 @@ class AuthorizationEndpointTest(TestCase):
uri, scopes=['all', 'of', 'them'])
self.assertIn('Location', headers)
self.assertURLEqual(headers['Location'], 'http://back.to/me?state=xyz', parse_fragment=True)
- self.assertEqual(body, None)
+ self.assertIsNone(body)
self.assertEqual(status_code, 302)
# and without the state parameter
@@ -83,7 +81,7 @@ class AuthorizationEndpointTest(TestCase):
uri, scopes=['all', 'of', 'them'])
self.assertIn('Location', headers)
self.assertURLEqual(headers['Location'], 'http://back.to/me', parse_fragment=True)
- self.assertEqual(body, None)
+ self.assertIsNone(body)
self.assertEqual(status_code, 302)
def test_missing_type(self):
diff --git a/tests/oauth2/rfc6749/test_tokens.py b/tests/oauth2/rfc6749/test_tokens.py
index e6f49b1..61a23cb 100644
--- a/tests/oauth2/rfc6749/test_tokens.py
+++ b/tests/oauth2/rfc6749/test_tokens.py
@@ -1,5 +1,3 @@
-from __future__ import absolute_import, unicode_literals
-
import mock
from oauthlib.common import Request
diff --git a/tests/oauth2/rfc6749/test_utils.py b/tests/oauth2/rfc6749/test_utils.py
index 609162c..cfc6c2c 100644
--- a/tests/oauth2/rfc6749/test_utils.py
+++ b/tests/oauth2/rfc6749/test_utils.py
@@ -1,9 +1,6 @@
-from __future__ import absolute_import, unicode_literals
-
import datetime
import os
-from oauthlib.common import PY3
from oauthlib.oauth2.rfc6749.utils import (escape, generate_age, host_from_uri,
is_secure_transport, list_to_scope,
params_from_uri, scope_to_list)
@@ -19,12 +16,8 @@ class ScopeObject:
def __init__(self, scope):
self.scope = scope
- if PY3:
- def __str__(self):
- return self.scope
- else:
- def __unicode__(self):
- return self.scope
+ def __str__(self):
+ return self.scope
class UtilsTests(TestCase):
diff --git a/tests/openid/connect/core/endpoints/test_claims_handling.py b/tests/openid/connect/core/endpoints/test_claims_handling.py
index 5f39d96..943210c 100644
--- a/tests/openid/connect/core/endpoints/test_claims_handling.py
+++ b/tests/openid/connect/core/endpoints/test_claims_handling.py
@@ -6,8 +6,6 @@ The claims parameter is an optional query param for the Authorization Request en
request the claims should be transferred (via the oauthlib request) to be persisted
with the Access Token when it is created.
"""
-from __future__ import absolute_import, unicode_literals
-
import mock
from oauthlib.openid import RequestValidator
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 517239a..26ff46b 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,5 +1,3 @@
-from __future__ import absolute_import, unicode_literals
-
import mock
from oauthlib.oauth2 import InvalidRequestError
@@ -7,14 +5,10 @@ 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
-try:
- from urllib.parse import urlencode
-except ImportError:
- from urllib import urlencode
-
class OpenIDConnectEndpointTest(TestCase):
@@ -53,7 +47,7 @@ class OpenIDConnectEndpointTest(TestCase):
credentials=creds)
expected = 'https://a.b/cb?state=abc&code=MOCK_CODE'
self.assertURLEqual(h['Location'], expected)
- self.assertEqual(b, None)
+ self.assertIsNone(b)
self.assertEqual(s, 302)
def test_prompt_none_exclusiveness(self):
diff --git a/tests/openid/connect/core/endpoints/test_userinfo_endpoint.py b/tests/openid/connect/core/endpoints/test_userinfo_endpoint.py
index 4593d79..9edc970 100644
--- a/tests/openid/connect/core/endpoints/test_userinfo_endpoint.py
+++ b/tests/openid/connect/core/endpoints/test_userinfo_endpoint.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
import mock
import json
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 b721a19..b6bb99c 100644
--- a/tests/openid/connect/core/grant_types/test_authorization_code.py
+++ b/tests/openid/connect/core/grant_types/test_authorization_code.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
import json
import mock
@@ -24,7 +22,7 @@ class OpenIDAuthCodeInterferenceTest(AuthorizationCodeGrantTest):
"""Test that OpenID don't interfere with normal OAuth 2 flows."""
def setUp(self):
- super(OpenIDAuthCodeInterferenceTest, self).setUp()
+ super().setUp()
self.auth = AuthorizationCodeGrant(request_validator=self.mock_validator)
@@ -66,13 +64,13 @@ class OpenIDAuthCodeTest(TestCase):
self.request.response_mode = 'query'
h, b, s = self.auth.create_authorization_response(self.request, bearer)
self.assertURLEqual(h['Location'], self.url_query)
- self.assertEqual(b, None)
+ self.assertIsNone(b)
self.assertEqual(s, 302)
self.request.response_mode = 'fragment'
h, b, s = self.auth.create_authorization_response(self.request, bearer)
self.assertURLEqual(h['Location'], self.url_fragment, parse_fragment=True)
- self.assertEqual(b, None)
+ self.assertIsNone(b)
self.assertEqual(s, 302)
@mock.patch('oauthlib.common.generate_token')
@@ -90,7 +88,7 @@ class OpenIDAuthCodeTest(TestCase):
self.request.id_token_hint = 'me@email.com'
h, b, s = self.auth.create_authorization_response(self.request, bearer)
self.assertURLEqual(h['Location'], self.url_query)
- self.assertEqual(b, None)
+ self.assertIsNone(b)
self.assertEqual(s, 302)
# Test alernative response modes
@@ -159,5 +157,5 @@ class OpenIDAuthCodeTest(TestCase):
self.request.response_mode = 'query'
h, b, s = self.auth.create_authorization_response(self.request, bearer)
self.assertURLEqual(h['Location'], self.url_query)
- self.assertEqual(b, None)
+ self.assertIsNone(b)
self.assertEqual(s, 302)
diff --git a/tests/openid/connect/core/grant_types/test_dispatchers.py b/tests/openid/connect/core/grant_types/test_dispatchers.py
index 9e45d65..2fc4ae6 100644
--- a/tests/openid/connect/core/grant_types/test_dispatchers.py
+++ b/tests/openid/connect/core/grant_types/test_dispatchers.py
@@ -1,5 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
import mock
from oauthlib.common import Request
@@ -72,7 +71,7 @@ class DispatcherTest(TestCase):
class AuthTokenGrantDispatcherOpenIdTest(DispatcherTest):
def setUp(self):
- super(AuthTokenGrantDispatcherOpenIdTest, self).setUp()
+ super().setUp()
self.request_validator.get_authorization_code_scopes.return_value = ('hello', 'openid')
self.dispatcher = AuthorizationTokenGrantDispatcher(
self.request_validator,
@@ -89,7 +88,7 @@ class AuthTokenGrantDispatcherOpenIdTest(DispatcherTest):
class AuthTokenGrantDispatcherOpenIdWithoutCodeTest(DispatcherTest):
def setUp(self):
- super(AuthTokenGrantDispatcherOpenIdWithoutCodeTest, self).setUp()
+ super().setUp()
self.request.decoded_body = (
("client_id", "me"),
("code", ""),
@@ -111,7 +110,7 @@ class AuthTokenGrantDispatcherOpenIdWithoutCodeTest(DispatcherTest):
class AuthTokenGrantDispatcherOAuthTest(DispatcherTest):
def setUp(self):
- super(AuthTokenGrantDispatcherOAuthTest, self).setUp()
+ super().setUp()
self.request_validator.get_authorization_code_scopes.return_value = ('hello', 'world')
self.dispatcher = AuthorizationTokenGrantDispatcher(
self.request_validator,
diff --git a/tests/openid/connect/core/grant_types/test_hybrid.py b/tests/openid/connect/core/grant_types/test_hybrid.py
index 0aa0add..3347031 100644
--- a/tests/openid/connect/core/grant_types/test_hybrid.py
+++ b/tests/openid/connect/core/grant_types/test_hybrid.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
import mock
from oauthlib.oauth2.rfc6749 import errors
@@ -15,14 +13,14 @@ class OpenIDHybridInterferenceTest(AuthorizationCodeGrantTest):
"""Test that OpenID don't interfere with normal OAuth 2 flows."""
def setUp(self):
- super(OpenIDHybridInterferenceTest, self).setUp()
+ super().setUp()
self.auth = HybridGrant(request_validator=self.mock_validator)
class OpenIDHybridCodeTokenTest(OpenIDAuthCodeTest):
def setUp(self):
- super(OpenIDHybridCodeTokenTest, self).setUp()
+ super().setUp()
self.request.response_type = 'code token'
self.request.nonce = None
self.auth = HybridGrant(request_validator=self.mock_validator)
@@ -38,14 +36,14 @@ class OpenIDHybridCodeTokenTest(OpenIDAuthCodeTest):
bearer = BearerToken(self.mock_validator)
h, b, s = self.auth.create_authorization_response(self.request, bearer)
self.assertURLEqual(h['Location'], self.url_fragment, parse_fragment=True)
- self.assertEqual(b, None)
+ self.assertIsNone(b)
self.assertEqual(s, 302)
class OpenIDHybridCodeIdTokenTest(OpenIDAuthCodeTest):
def setUp(self):
- super(OpenIDHybridCodeIdTokenTest, self).setUp()
+ super().setUp()
self.mock_validator.get_code_challenge.return_value = None
self.request.response_type = 'code id_token'
self.request.nonce = 'zxc'
@@ -63,14 +61,14 @@ class OpenIDHybridCodeIdTokenTest(OpenIDAuthCodeTest):
bearer = BearerToken(self.mock_validator)
h, b, s = self.auth.create_authorization_response(self.request, bearer)
self.assertIn('error=invalid_request', h['Location'])
- self.assertEqual(b, None)
+ self.assertIsNone(b)
self.assertEqual(s, 302)
class OpenIDHybridCodeIdTokenTokenTest(OpenIDAuthCodeTest):
def setUp(self):
- super(OpenIDHybridCodeIdTokenTokenTest, self).setUp()
+ super().setUp()
self.mock_validator.get_code_challenge.return_value = None
self.request.response_type = 'code id_token token'
self.request.nonce = 'xyz'
@@ -88,5 +86,5 @@ class OpenIDHybridCodeIdTokenTokenTest(OpenIDAuthCodeTest):
bearer = BearerToken(self.mock_validator)
h, b, s = self.auth.create_authorization_response(self.request, bearer)
self.assertIn('error=invalid_request', h['Location'])
- self.assertEqual(b, None)
+ self.assertIsNone(b)
self.assertEqual(s, 302)
diff --git a/tests/openid/connect/core/grant_types/test_implicit.py b/tests/openid/connect/core/grant_types/test_implicit.py
index 1ee805c..c8fefd4 100644
--- a/tests/openid/connect/core/grant_types/test_implicit.py
+++ b/tests/openid/connect/core/grant_types/test_implicit.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
import mock
from oauthlib.common import Request
@@ -17,7 +15,7 @@ class OpenIDImplicitInterferenceTest(ImplicitGrantTest):
"""Test that OpenID don't interfere with normal OAuth 2 flows."""
def setUp(self):
- super(OpenIDImplicitInterferenceTest, self).setUp()
+ super().setUp()
self.auth = ImplicitGrant(request_validator=self.mock_validator)
@@ -50,7 +48,7 @@ class OpenIDImplicitTest(TestCase):
h, b, s = self.auth.create_authorization_response(self.request, bearer)
self.assertURLEqual(h['Location'], self.url_fragment, parse_fragment=True)
- self.assertEqual(b, None)
+ self.assertIsNone(b)
self.assertEqual(s, 302)
self.request.response_type = 'id_token'
@@ -58,7 +56,7 @@ class OpenIDImplicitTest(TestCase):
url = 'https://a.b/cb#state=abc&id_token=%s' % token
h, b, s = self.auth.create_authorization_response(self.request, bearer)
self.assertURLEqual(h['Location'], url, parse_fragment=True)
- self.assertEqual(b, None)
+ self.assertIsNone(b)
self.assertEqual(s, 302)
@mock.patch('oauthlib.common.generate_token')
@@ -74,7 +72,7 @@ class OpenIDImplicitTest(TestCase):
self.request.id_token_hint = 'me@email.com'
h, b, s = self.auth.create_authorization_response(self.request, bearer)
self.assertURLEqual(h['Location'], self.url_fragment, parse_fragment=True)
- self.assertEqual(b, None)
+ self.assertIsNone(b)
self.assertEqual(s, 302)
# Test alernative response modes
@@ -108,13 +106,13 @@ class OpenIDImplicitTest(TestCase):
bearer = BearerToken(self.mock_validator)
h, b, s = self.auth.create_authorization_response(self.request, bearer)
self.assertIn('error=invalid_request', h['Location'])
- self.assertEqual(b, None)
+ self.assertIsNone(b)
self.assertEqual(s, 302)
class OpenIDImplicitNoAccessTokenTest(OpenIDImplicitTest):
def setUp(self):
- super(OpenIDImplicitNoAccessTokenTest, self).setUp()
+ super().setUp()
self.request.response_type = 'id_token'
token = 'MOCKED_TOKEN'
self.url_query = 'https://a.b/cb?state=abc&id_token=%s' % token
@@ -129,5 +127,5 @@ class OpenIDImplicitNoAccessTokenTest(OpenIDImplicitTest):
bearer = BearerToken(self.mock_validator)
h, b, s = self.auth.create_authorization_response(self.request, bearer)
self.assertIn('error=invalid_request', h['Location'])
- self.assertEqual(b, None)
+ self.assertIsNone(b)
self.assertEqual(s, 302)
diff --git a/tests/openid/connect/core/test_request_validator.py b/tests/openid/connect/core/test_request_validator.py
index ebe0aeb..6a800d4 100644
--- a/tests/openid/connect/core/test_request_validator.py
+++ b/tests/openid/connect/core/test_request_validator.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
from oauthlib.openid import RequestValidator
from tests.unittest import TestCase
diff --git a/tests/openid/connect/core/test_server.py b/tests/openid/connect/core/test_server.py
index 756c9d0..681748f 100644
--- a/tests/openid/connect/core/test_server.py
+++ b/tests/openid/connect/core/test_server.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
import json
import mock
@@ -78,7 +76,7 @@ class AuthorizationEndpointTest(TestCase):
uri, scopes=['all', 'of', 'them'])
self.assertIn('Location', headers)
self.assertURLEqual(headers['Location'], 'http://back.to/me?state=xyz', parse_fragment=True)
- self.assertEqual(body, None)
+ self.assertIsNone(body)
self.assertEqual(status_code, 302)
# and without the state parameter
@@ -88,7 +86,7 @@ class AuthorizationEndpointTest(TestCase):
uri, scopes=['all', 'of', 'them'])
self.assertIn('Location', headers)
self.assertURLEqual(headers['Location'], 'http://back.to/me', parse_fragment=True)
- self.assertEqual(body, None)
+ self.assertIsNone(body)
self.assertEqual(status_code, 302)
def test_missing_type(self):
diff --git a/tests/openid/connect/core/test_tokens.py b/tests/openid/connect/core/test_tokens.py
index fde89d6..f1a6688 100644
--- a/tests/openid/connect/core/test_tokens.py
+++ b/tests/openid/connect/core/test_tokens.py
@@ -1,5 +1,3 @@
-from __future__ import absolute_import, unicode_literals
-
import mock
from oauthlib.openid.connect.core.tokens import JWTToken
diff --git a/tests/test_common.py b/tests/test_common.py
index ae2531b..b0fb4b0 100644
--- a/tests/test_common.py
+++ b/tests/test_common.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, unicode_literals
-
import os
import sys
@@ -8,7 +6,7 @@ import oauthlib
from oauthlib.common import (CaseInsensitiveDict, Request, add_params_to_uri,
extract_params, generate_client_id,
generate_nonce, generate_timestamp,
- generate_token, unicode_type, urldecode)
+ generate_token, urldecode)
from .unittest import TestCase
@@ -21,23 +19,23 @@ URI = 'http://www.someuri.com'
class EncodingTest(TestCase):
def test_urldecode(self):
- self.assertItemsEqual(urldecode(''), [])
- self.assertItemsEqual(urldecode('='), [('', '')])
- self.assertItemsEqual(urldecode('%20'), [(' ', '')])
- self.assertItemsEqual(urldecode('+'), [(' ', '')])
- self.assertItemsEqual(urldecode('c2'), [('c2', '')])
- self.assertItemsEqual(urldecode('c2='), [('c2', '')])
- self.assertItemsEqual(urldecode('foo=bar'), [('foo', 'bar')])
- self.assertItemsEqual(urldecode('foo_%20~=.bar-'),
+ 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.assertItemsEqual(urldecode('foo=1,2,3'), [('foo', '1,2,3')])
- self.assertItemsEqual(urldecode('foo=(1,2,3)'), [('foo', '(1,2,3)')])
- self.assertItemsEqual(urldecode('foo=bar.*'), [('foo', 'bar.*')])
- self.assertItemsEqual(urldecode('foo=bar@spam'), [('foo', 'bar@spam')])
- self.assertItemsEqual(urldecode('foo=bar/baz'), [('foo', 'bar/baz')])
- self.assertItemsEqual(urldecode('foo=bar?baz'), [('foo', 'bar?baz')])
- self.assertItemsEqual(urldecode('foo=bar\'s'), [('foo', 'bar\'s')])
- self.assertItemsEqual(urldecode('foo=$'), [('foo', '$')])
+ 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')
@@ -48,30 +46,30 @@ class EncodingTest(TestCase):
class ParameterTest(TestCase):
def test_extract_params_dict(self):
- self.assertItemsEqual(extract_params(PARAMS_DICT), PARAMS_TWOTUPLE)
+ self.assertCountEqual(extract_params(PARAMS_DICT), PARAMS_TWOTUPLE)
def test_extract_params_twotuple(self):
- self.assertItemsEqual(extract_params(PARAMS_TWOTUPLE), PARAMS_TWOTUPLE)
+ self.assertCountEqual(extract_params(PARAMS_TWOTUPLE), PARAMS_TWOTUPLE)
def test_extract_params_formencoded(self):
- self.assertItemsEqual(extract_params(PARAMS_FORMENCODED),
+ self.assertCountEqual(extract_params(PARAMS_FORMENCODED),
PARAMS_TWOTUPLE)
def test_extract_params_blank_string(self):
- self.assertItemsEqual(extract_params(''), [])
+ self.assertCountEqual(extract_params(''), [])
def test_extract_params_empty_list(self):
- self.assertItemsEqual(extract_params([]), [])
+ self.assertCountEqual(extract_params([]), [])
def test_extract_non_formencoded_string(self):
- self.assertEqual(extract_params('not a formencoded string'), None)
+ self.assertIsNone(extract_params('not a formencoded string'))
def test_extract_invalid(self):
- self.assertEqual(extract_params(object()), None)
- self.assertEqual(extract_params([('')]), None)
+ self.assertIsNone(extract_params(object()))
+ self.assertIsNone(extract_params([('')]))
def test_add_params_to_uri(self):
- correct = '%s?%s' % (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)
@@ -80,7 +78,7 @@ class GeneratorTest(TestCase):
def test_generate_timestamp(self):
timestamp = generate_timestamp()
- self.assertIsInstance(timestamp, unicode_type)
+ self.assertIsInstance(timestamp, str)
self.assertTrue(int(timestamp))
self.assertGreater(int(timestamp), 1331672335)
@@ -134,7 +132,7 @@ class RequestTest(TestCase):
def test_none_body(self):
r = Request(URI)
- self.assertEqual(r.decoded_body, None)
+ self.assertIsNone(r.decoded_body)
def test_empty_list_body(self):
r = Request(URI, body=[])
@@ -151,20 +149,20 @@ class RequestTest(TestCase):
def test_non_formencoded_string_body(self):
body = 'foo bar'
r = Request(URI, body=body)
- self.assertEqual(r.decoded_body, None)
+ self.assertIsNone(r.decoded_body)
def test_param_free_sequence_body(self):
body = [1, 1, 2, 3, 5, 8, 13]
r = Request(URI, body=body)
- self.assertEqual(r.decoded_body, None)
+ self.assertIsNone(r.decoded_body)
def test_list_body(self):
r = Request(URI, body=PARAMS_TWOTUPLE)
- self.assertItemsEqual(r.decoded_body, PARAMS_TWOTUPLE)
+ self.assertCountEqual(r.decoded_body, PARAMS_TWOTUPLE)
def test_dict_body(self):
r = Request(URI, body=PARAMS_DICT)
- self.assertItemsEqual(r.decoded_body, PARAMS_TWOTUPLE)
+ self.assertCountEqual(r.decoded_body, PARAMS_TWOTUPLE)
def test_getattr_existing_attribute(self):
r = Request(URI, body='foo bar')
diff --git a/tests/unittest/__init__.py b/tests/unittest/__init__.py
index 6cb79a6..13ad92f 100644
--- a/tests/unittest/__init__.py
+++ b/tests/unittest/__init__.py
@@ -1,18 +1,8 @@
-import collections
-import sys
from unittest import TestCase
-try:
- import urlparse
-except ImportError:
- import urllib.parse as urlparse
+import urllib.parse as urlparse
-# Somewhat consistent itemsequal between all python versions
-if sys.version_info[0] == 3:
- TestCase.assertItemsEqual = TestCase.assertCountEqual
-
-
-# URL comparison where query param order is insignifcant
+# URL comparison where query param order is insignificant
def url_equals(self, a, b, parse_fragment=False):
parsed_a = urlparse.urlparse(a, allow_fragments=parse_fragment)
parsed_b = urlparse.urlparse(b, allow_fragments=parse_fragment)
@@ -21,7 +11,7 @@ def url_equals(self, a, b, parse_fragment=False):
if parse_fragment:
fragment_a = urlparse.parse_qsl(parsed_a.fragment)
fragment_b = urlparse.parse_qsl(parsed_b.fragment)
- self.assertItemsEqual(fragment_a, fragment_b)
+ self.assertCountEqual(fragment_a, fragment_b)
else:
self.assertEqual(parsed_a.fragment, parsed_b.fragment)
self.assertEqual(parsed_a.scheme, parsed_b.scheme)
@@ -32,10 +22,11 @@ def url_equals(self, a, b, parse_fragment=False):
self.assertEqual(parsed_a.password, parsed_b.password)
self.assertEqual(parsed_a.hostname, parsed_b.hostname)
self.assertEqual(parsed_a.port, parsed_b.port)
- self.assertItemsEqual(query_a, query_b)
+ self.assertCountEqual(query_a, query_b)
+
TestCase.assertURLEqual = url_equals
# Form body comparison where order is insignificant
-TestCase.assertFormBodyEqual = lambda self, a, b: self.assertItemsEqual(
+TestCase.assertFormBodyEqual = lambda self, a, b: self.assertCountEqual(
urlparse.parse_qsl(a), urlparse.parse_qsl(b))