summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChad Whitacre <chad@zetaweb.com>2014-09-17 12:07:17 -0400
committerChad Whitacre <chad@zetaweb.com>2014-09-17 12:07:17 -0400
commit3afd5cd84ee21312b0081850f7f4895c95bb121d (patch)
tree60b8b77b9aeb448a9c68f1f0fc643a65df8072c2
parent0d87ea236379023aa646a91df21e52c1c674dd6a (diff)
downloadoauthlib-3afd5cd84ee21312b0081850f7f4895c95bb121d.tar.gz
Failing test for token_type relaxation
-rw-r--r--tests/oauth2/rfc6749/test_parameters.py19
1 files changed, 17 insertions, 2 deletions
diff --git a/tests/oauth2/rfc6749/test_parameters.py b/tests/oauth2/rfc6749/test_parameters.py
index a7e8ee8..c411fee 100644
--- a/tests/oauth2/rfc6749/test_parameters.py
+++ b/tests/oauth2/rfc6749/test_parameters.py
@@ -125,6 +125,14 @@ class ParameterTests(TestCase):
'scope': ['abc', 'def']
}
+ json_notype_dict = {
+ 'access_token': '2YotnFZFEjr1zCsicMWpAA',
+ 'expires_in': 3600,
+ 'expires_at': 4600,
+ 'refresh_token': 'tGzv3JOkF0XG5Qx2TlKWIA',
+ 'example_parameter': 'example_value',
+ }
+
url_encoded_response = ('access_token=2YotnFZFEjr1zCsicMWpAA'
'&token_type=example'
'&expires_in=3600'
@@ -175,8 +183,6 @@ class ParameterTests(TestCase):
self.implicit_dict)
self.assertRaises(MissingTokenError, parse_implicit_response,
self.implicit_notoken)
- self.assertRaises(MissingTokenTypeError, parse_implicit_response,
- self.implicit_notype)
self.assertRaises(ValueError, parse_implicit_response,
self.implicit_nostate, state=self.state)
self.assertRaises(ValueError, parse_implicit_response,
@@ -189,6 +195,15 @@ class ParameterTests(TestCase):
self.assertRaises(MissingTokenError, parse_token_response, self.json_notoken)
self.assertRaises(Warning, parse_token_response, self.json_response, scope='aaa')
+ def test_json_token_notype(self):
+ """Verify strict token type parsing only when configured. """
+ self.assertEqual(parse_token_response(self.json_notype), self.json_notype_dict)
+ try:
+ os.environ['OAUTHLIB_STRICT_TOKEN_TYPE'] = '1'
+ self.assertRaises(MissingTokenTypeError, parse_token_response, self.json_notype)
+ finally:
+ del os.environ['OAUTHLIB_STRICT_TOKEN_TYPE']
+
def test_url_encoded_token_response(self):
"""Verify fallback parameter parsing and validation for token responses. """
self.assertEqual(parse_token_response(self.url_encoded_response), self.json_dict)