def test_happy_path_with_resource_adfs(self): # arrange # set up token refresh result wire_response = util.create_response({ 'refreshedRefresh' : True, 'mrrt': False })['wireResponse'] new_resource = 'https://graph.local.azurestack.external/' tokenRequest = util.setup_expected_refresh_token_request_response(200, wire_response, cp['authority'], new_resource) # set up an existing token to be used for refreshing existing_token = util.create_response({ 'refreshedRefresh': True, 'mrrt': True })['decodedResponse'] existing_token['_clientId'] = existing_token.get('_clientId') or cp['clientId'] existing_token['isMRRT'] = existing_token.get('isMRRT') or True existing_token['_authority'] = existing_token.get('_authority') or cp['authorizeUrl'] token_cache = TokenCache(json.dumps([existing_token])) # act user_id = existing_token['userId'] context = adal.AuthenticationContext(cp['authorityTenant'], cache=token_cache) token_response = context.acquire_token(new_resource, user_id, cp['clientId']) # assert tokens = [value for key, value in token_cache.read_items()] self.assertEqual(2, len(tokens)) self.assertEqual({cp['resource'], new_resource}, set([x['resource'] for x in tokens]))
def test_happy_path_with_resource_adfs(self): # arrange # set up token refresh result wire_response = util.create_response({ 'refreshedRefresh': True, 'mrrt': False })['wireResponse'] new_resource = 'https://graph.local.azurestack.external/' tokenRequest = util.setup_expected_refresh_token_request_response( 200, wire_response, cp['authority'], new_resource) # set up an existing token to be used for refreshing existing_token = util.create_response({ 'refreshedRefresh': True, 'mrrt': True })['decodedResponse'] existing_token['_clientId'] = existing_token.get( '_clientId') or cp['clientId'] existing_token['isMRRT'] = existing_token.get('isMRRT') or True existing_token['_authority'] = existing_token.get( '_authority') or cp['authorizeUrl'] token_cache = TokenCache(json.dumps([existing_token])) # act user_id = existing_token['userId'] context = adal.AuthenticationContext(cp['authorityTenant'], cache=token_cache) token_response = context.acquire_token(new_resource, user_id, cp['clientId']) # assert tokens = [value for key, value in token_cache.read_items()] self.assertEqual(2, len(tokens)) self.assertEqual({cp['resource'], new_resource}, set([x['resource'] for x in tokens]))
def test_happy_path_no_resource_client_secret(self): tokenRequest = util.setup_expected_refresh_token_request_response( 200, self.wire_response, self.response['authority'], None, cp['clientSecret']) adal.acquire_token_with_refresh_token(cp['authorityTenant'], cp['refreshToken'], cp['clientId'], cp['clientSecret'], None)
def test_happy_path_with_resource_client_secret(self): tokenRequest = util.setup_expected_refresh_token_request_response(200, self.wire_response, self.response['authority'], self.response['resource'], cp['clientSecret']) context = adal.AuthenticationContext(cp['authorityTenant']) def side_effect (tokenfunc): return self.response['decodedResponse'] context._acquire_token = mock.MagicMock(side_effect=side_effect) token_response = context.acquire_token_with_refresh_token(cp['refreshToken'], cp['clientId'], cp['clientSecret'], cp['resource']) self.assertTrue( util.is_match_token_response(self.response['decodedResponse'], token_response), 'The response did not match what was expected: ' + str(token_response) )
def test_happy_path_with_resource_client_secret(self): tokenRequest = util.setup_expected_refresh_token_request_response( 200, self.wire_response, self.response['authority'], self.response['resource'], cp['clientSecret']) context = adal.AuthenticationContext(cp['authorityTenant']) def side_effect(tokenfunc): return self.response['decodedResponse'] context._acquire_token = mock.MagicMock(side_effect=side_effect) token_response = context.acquire_token_with_refresh_token( cp['refreshToken'], cp['clientId'], cp['clientSecret'], cp['resource']) self.assertTrue( util.is_match_token_response(self.response['decodedResponse'], token_response), 'The response did not match what was expected: ' + str(token_response))
def test_happy_path_with_resource_client_secret(self): tokenRequest = util.setup_expected_refresh_token_request_response(200, self.wire_response, self.response['authority'], self.response['resource'], cp['clientSecret']) adal.acquire_token_with_refresh_token(cp['authorityTenant'], cp['refreshToken'], cp['clientId'], cp['clientSecret'], cp['resource'])