Commit 636a7379 authored by Alyssa's avatar Alyssa Committed by Tamika Tannis

Handle get bookmark failure properly (#367)

parent c12671b7
...@@ -445,10 +445,16 @@ def get_bookmark() -> Response: ...@@ -445,10 +445,16 @@ def get_bookmark() -> Response:
response = request_metadata(url=url, method=request.method) response = request_metadata(url=url, method=request.method)
status_code = response.status_code status_code = response.status_code
if status_code == HTTPStatus.OK:
message = 'Success'
tables = response.json().get('table') tables = response.json().get('table')
table_bookmarks = [marshall_table_partial(table) for table in tables] table_bookmarks = [marshall_table_partial(table) for table in tables]
else:
message = f'Encountered error: failed to get bookmark for user_id: {user_id}'
logging.error(message)
table_bookmarks = []
return make_response(jsonify({'msg': 'success', 'bookmarks': table_bookmarks}), status_code) return make_response(jsonify({'msg': message, 'bookmarks': table_bookmarks}), status_code)
except Exception as e: except Exception as e:
message = 'Encountered exception: ' + str(e) message = 'Encountered exception: ' + str(e)
logging.exception(message) logging.exception(message)
......
...@@ -591,6 +591,20 @@ class MetadataTest(unittest.TestCase): ...@@ -591,6 +591,20 @@ class MetadataTest(unittest.TestCase):
self.assertEquals(response.status_code, HTTPStatus.OK) self.assertEquals(response.status_code, HTTPStatus.OK)
self.assertCountEqual(data.get('bookmarks'), self.expected_parsed_user_resources) self.assertCountEqual(data.get('bookmarks'), self.expected_parsed_user_resources)
@responses.activate
def test_get_bookmark_failure(self) -> None:
"""
Test correct response returned when get_bookmark fails
"""
url = f"{local_app.config['METADATASERVICE_BASE']}{USER_ENDPOINT}/{TEST_USER_ID}/follow/"
responses.add(responses.GET, url, json=self.mock_user, status=HTTPStatus.BAD_REQUEST)
with local_app.test_client() as test:
response = test.get('/api/metadata/v0/user/bookmark')
self.assertEqual(response.status_code, HTTPStatus.BAD_REQUEST)
expected = {'bookmarks': [], 'msg': 'Encountered error: failed to get bookmark for user_id: test_user_id'}
self.assertEqual(response.json, expected)
@responses.activate @responses.activate
def test_get_bookmark_for_user(self) -> None: def test_get_bookmark_for_user(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