class AuthorizationCodeGrantTest(TestCase): def setUp(self): self.request = Request('http://a.b/path') self.request.scopes = ('hello', 'world') self.request.expires_in = 1800 self.request.client = 'batman' self.request.client_id = 'abcdef' 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' mock_validator = mock.MagicMock() self.auth = AuthorizationCodeGrant(request_validator=mock_validator) def test_create_authorization_grant(self): grant = self.auth.create_authorization_code(self.request) self.assertIn('code', grant) grant = self.auth.create_authorization_code(self.request_state) self.assertIn('code', grant) self.assertIn('state', grant) def test_create_token_response(self): bearer = BearerToken() bearer.save_token = mock.MagicMock() token = self.auth.create_token_response(self.request, bearer) token = json.loads(token) self.assertIn('access_token', token) self.assertIn('refresh_token', token) self.assertIn('expires_in', token) self.assertIn('scope', token) def test_validate_token_request(self): mock_validator = mock.MagicMock() auth = AuthorizationCodeGrant(request_validator=mock_validator) request = Request('http://a.b/path') self.assertRaises(UnsupportedGrantTypeError, auth.validate_token_request, request) request.grant_type = 'authorization_code' self.assertRaises(InvalidRequestError, auth.validate_token_request, request) mock_validator.validate_client = mock.MagicMock(return_value=False) request.code = 'waffles' request.client = 'batman' self.assertRaises(UnauthorizedClientError, auth.validate_token_request, request) mock_validator.validate_client = mock.MagicMock(return_value=True) mock_validator.validate_code = mock.MagicMock(return_value=False) self.assertRaises(InvalidGrantError, auth.validate_token_request, request)
def setUp(self): self.request = Request('http://a.b/path') self.request.scopes = ('hello', 'world') self.request.expires_in = 1800 self.request.client = 'batman' self.request.client_id = 'abcdef' 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' mock_validator = mock.MagicMock() self.auth = AuthorizationCodeGrant(request_validator=mock_validator)
def setUp(self): mock_validator = mock.MagicMock() auth_code = AuthorizationCodeGrant(request_validator=mock_validator) implicit = ImplicitGrant(request_validator=mock_validator) response_types = { 'code': auth_code, 'token': implicit, } self.endpoint = AuthorizationEndpoint(response_types=response_types)
def setUp(self): mock_validator = mock.MagicMock() auth_code = AuthorizationCodeGrant(request_validator=mock_validator) password = ResourceOwnerPasswordCredentialsGrant( request_validator=mock_validator) client = ClientCredentialsGrant(request_validator=mock_validator) grant_types = { 'authorization_code': auth_code, 'password': password, 'client_credentials': client, } self.endpoint = TokenEndpoint(grant_types=grant_types)
def test_validate_token_request(self): mock_validator = mock.MagicMock() auth = AuthorizationCodeGrant(request_validator=mock_validator) request = Request('http://a.b/path') self.assertRaises(UnsupportedGrantTypeError, auth.validate_token_request, request) request.grant_type = 'authorization_code' self.assertRaises(InvalidRequestError, auth.validate_token_request, request) mock_validator.validate_client = mock.MagicMock(return_value=False) request.code = 'waffles' request.client = 'batman' self.assertRaises(UnauthorizedClientError, auth.validate_token_request, request) mock_validator.validate_client = mock.MagicMock(return_value=True) mock_validator.validate_code = mock.MagicMock(return_value=False) self.assertRaises(InvalidGrantError, auth.validate_token_request, request)