Unverified Commit 89bbf5b4 authored by Verdan Mahmood's avatar Verdan Mahmood Committed by GitHub

fix: Make sure not to crash user search api when search service returns empty dict (#503)

* Make sure not to crash when user search returns empty dict

* Fix for the total result too
parent 3ee8845b
......@@ -168,9 +168,9 @@ def _search_user(*, search_term: str, page_index: int, search_type: str) -> Dict
if status_code == HTTPStatus.OK:
results_dict['msg'] = 'Success'
results = response.json().get('results')
results = response.json().get('results', list())
users['results'] = [_map_user_result(result) for result in results]
users['total_results'] = response.json().get('total_results')
users['total_results'] = response.json().get('total_results', 0)
else:
message = 'Encountered error: Search request failed'
results_dict['msg'] = message
......
......@@ -283,6 +283,24 @@ class SearchUser(unittest.TestCase):
response = test.get(self.fe_flask_endpoint, query_string=dict(query='test'))
self.assertEqual(response.status_code, HTTPStatus.INTERNAL_SERVER_ERROR)
@responses.activate
def test_search_user_success_if_no_response_from_search(self) -> None:
"""
Test request success
:return:
"""
responses.add(responses.GET, local_app.config['SEARCHSERVICE_BASE'] + SEARCH_USER_ENDPOINT,
json={}, status=HTTPStatus.OK)
with local_app.test_client() as test:
response = test.get(self.fe_flask_endpoint, query_string=dict(query='test', page_index='0'))
data = json.loads(response.data)
self.assertEqual(response.status_code, HTTPStatus.OK)
users = data.get('users')
self.assertEqual(len(users.get('results')), 0)
self.assertEqual(users.get('total_results'), 0)
@responses.activate
def test_search_user_success(self) -> None:
"""
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment