def test_get_clientID_by_owner_internal_error(self, mock_get): clientId = '0' * 96 clientSecret = '0' * 71 client = Client(clientId, clientSecret) client.token = "correctToken" mock_response = mock.Mock() mock_response.status_code = 500 mock_get.return_value = mock_response url = Client.base_URL + 'apps/by-owner' param = {'owner': 'testowner'} headers = {'Authorization': 'Bearer correctToken'} with self.assertRaises(InternalError): client.client_ids_by_owner('testowner') mock_get.assert_called_once_with(url, headers=headers, params=param) self.assertEqual(0, mock_response.json.call_count)
def test_get_clientID_by_owner_incorrect_clientID(self, mock_get): clientId = '0' * 96 clientSecret = '0' * 71 client = Client(clientId, clientSecret) client.token = "correctToken" mock_response = mock.Mock() mock_response.status_code = 404 mock_response.json.return_value = { 'message': 'No app exists with given clientID' } mock_get.return_value = mock_response url = Client.base_URL + 'apps/by-owner' param = {'owner': 'testowner'} headers = {'Authorization': 'Bearer correctToken'} with self.assertRaises(ResourceNotFoundError): client.client_ids_by_owner('testowner') mock_get.assert_called_once_with(url, headers=headers, params=param) self.assertEqual(1, mock_response.json.call_count)
def test_get_clientID_by_owner_expired_token_failure(self, mock_get): clientId = '0' * 96 clientSecret = '0' * 71 client = Client(clientId, clientSecret) client.token = "ExpiredToken" # set first requests.get's result mock_response = mock.Mock() mock_response.status_code = 401 mock_response.json.return_value = { 'message': 'Token expired', } # set request_token()'s result mock_response2 = mock.Mock() mock_response2.status_code = 200 mock_response2.json.return_value = {'token': 'newToken'} mock_get.side_effect = [ mock_response, mock_response2, mock_response, mock_response2, mock_response ] # run the test with self.assertRaises(AuthenticationError): client.client_ids_by_owner('testowner') self.assertEqual(5, mock_get.call_count) headers = {'Authorization': 'Bearer ExpiredToken'} newheaders = {'Authorization': 'Bearer newToken'} params = {'owner': 'testowner'} call_list = [ mock.call(self.base_URL + 'apps/by-owner', headers=headers, params=params), mock.call(self.base_URL + 'auth/?clientID=' + clientId + '&clientSecret=' + clientSecret), mock.call(self.base_URL + 'apps/by-owner', headers=newheaders, params=params), mock.call(self.base_URL + 'auth/?clientID=' + clientId + '&clientSecret=' + clientSecret), mock.call(self.base_URL + 'apps/by-owner', headers=newheaders, params=params) ] self.assertEqual(mock_get.call_args_list, call_list)
def test_get_clientID_by_owner_all_correct(self, mock_get): clientId = '0' * 96 clientSecret = '0' * 71 client = Client(clientId, clientSecret) client.token = "correctToken" mock_response = mock.Mock() mock_response.status_code = 200 clientObject = [{ 'clientID': 'test_clientID1' }, { 'clientID': 'test_clientID2' }] mock_response.json.return_value = clientObject mock_get.return_value = mock_response headers = {'Authorization': 'Bearer correctToken'} url = Client.base_URL + 'apps/by-owner' param = {'owner': 'testowner'} expected_clientID_array = ['test_clientID1', 'test_clientID2'] self.assertEqual(client.client_ids_by_owner("testowner"), expected_clientID_array) mock_get.assert_called_once_with(url, headers=headers, params=param)