summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIb Lundgren <ib.lundgren@gmail.com>2014-11-13 12:39:05 +0000
committerIb Lundgren <ib.lundgren@gmail.com>2014-11-13 12:39:05 +0000
commita907a90130b5947f6e5d13f7ca90cc86a83ed912 (patch)
tree9e17e997b8d2f05dc4c0835deb00827a02870f3e
parent04631866c058defb480462db1ec13cb7f88780a9 (diff)
downloadoauthlib-a907a90130b5947f6e5d13f7ca90cc86a83ed912.tar.gz
Ensure correct validator methods are invoked in auth grant.
-rw-r--r--tests/oauth2/rfc6749/grant_types/test_authorization_code.py29
1 files changed, 24 insertions, 5 deletions
diff --git a/tests/oauth2/rfc6749/grant_types/test_authorization_code.py b/tests/oauth2/rfc6749/grant_types/test_authorization_code.py
index 356893f..61e63e2 100644
--- a/tests/oauth2/rfc6749/grant_types/test_authorization_code.py
+++ b/tests/oauth2/rfc6749/grant_types/test_authorization_code.py
@@ -21,9 +21,7 @@ class AuthorizationCodeGrantTest(TestCase):
self.request.code = '1234'
self.request.response_type = 'code'
self.request.grant_type = 'authorization_code'
-
- self.request_state = Request('http://a.b/path')
- self.request_state.state = 'abc'
+ self.request.redirect_uri = 'https://a.b/cb'
self.mock_validator = mock.MagicMock()
self.mock_validator.authenticate_client.side_effect = self.set_client
@@ -35,12 +33,27 @@ class AuthorizationCodeGrantTest(TestCase):
return True
def test_create_authorization_grant(self):
- grant = self.auth.create_authorization_code(self.request)
+ bearer = BearerToken(self.mock_validator)
+ h, b, s = self.auth.create_authorization_response(self.request, bearer)
+ grant = dict(Request(h['Location']).uri_query_params)
self.assertIn('code', grant)
+ self.assertTrue(self.mock_validator.validate_redirect_uri.called)
+ self.assertTrue(self.mock_validator.validate_response_type.called)
+ self.assertTrue(self.mock_validator.validate_scopes.called)
- grant = self.auth.create_authorization_code(self.request_state)
+ def test_create_authorization_grant_state(self):
+ self.request.state = 'abc'
+ self.request.redirect_uri = None
+ self.mock_validator.get_default_redirect_uri.return_value = 'https://a.b/cb'
+ bearer = BearerToken(self.mock_validator)
+ h, b, s = self.auth.create_authorization_response(self.request, bearer)
+ grant = dict(Request(h['Location']).uri_query_params)
self.assertIn('code', grant)
self.assertIn('state', grant)
+ self.assertFalse(self.mock_validator.validate_redirect_uri.called)
+ self.assertTrue(self.mock_validator.get_default_redirect_uri.called)
+ self.assertTrue(self.mock_validator.validate_response_type.called)
+ self.assertTrue(self.mock_validator.validate_scopes.called)
def test_create_token_response(self):
bearer = BearerToken(self.mock_validator)
@@ -50,6 +63,12 @@ class AuthorizationCodeGrantTest(TestCase):
self.assertIn('refresh_token', token)
self.assertIn('expires_in', token)
self.assertIn('scope', token)
+ self.assertTrue(self.mock_validator.client_authentication_required.called)
+ self.assertTrue(self.mock_validator.authenticate_client.called)
+ self.assertTrue(self.mock_validator.validate_code.called)
+ self.assertTrue(self.mock_validator.confirm_redirect_uri.called)
+ self.assertTrue(self.mock_validator.validate_grant_type.called)
+ self.assertTrue(self.mock_validator.invalidate_authorization_code.called)
def test_invalid_request(self):
del self.request.code