From 36ee38f3b6ffa4edd7157683ceeafdd779e2eac8 Mon Sep 17 00:00:00 2001 From: Ryan Lerch Date: Dec 20 2018 09:50:27 +0000 Subject: add avatar_url to output of user/ api Adds the avatar_url value to the output of the user/username api endpoint Fixes #4050 --- diff --git a/pagure/api/user.py b/pagure/api/user.py index 15ddbc8..9feb03b 100644 --- a/pagure/api/user.py +++ b/pagure/api/user.py @@ -112,7 +112,8 @@ def api_view_user(username): }, "user": { "fullname": "ralph", - "name": "ralph" + "name": "ralph", + "avatar_url": "https://seccdn.libravatar.org/avatar/5dac3?s=16&d=retro" } } @@ -172,6 +173,9 @@ def api_view_user(username): ) output["user"] = user.to_json(public=True) + output["user"]["avatar_url"] = pagure.lib.query.avatar_url_from_email( + user.default_email, size=16 + ) output["repos"] = [repo.to_json(public=True) for repo in repos] output["forks"] = [repo.to_json(public=True) for repo in forks] output["repos_pagination"] = pagination_metadata_repo diff --git a/tests/test_pagure_flask_api_user.py b/tests/test_pagure_flask_api_user.py index 8a898a8..f04a055 100644 --- a/tests/test_pagure_flask_api_user.py +++ b/tests/test_pagure_flask_api_user.py @@ -87,8 +87,11 @@ class PagureFlaskApiUSertests(tests.Modeltests): 'pages': 0, 'per_page': 20, 'prev': None}, - "user": { "fullname": "PY C", "name": "pingou"}} + "user": { "fullname": "PY C", + "name": "pingou", + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...'}} data = json.loads(output.get_data(as_text=True)) + data["user"]["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." for k in ['forks_pagination', 'repos_pagination']: for k2 in ['first', 'last']: self.assertIsNotNone(data[k][k2]) @@ -244,9 +247,11 @@ class PagureFlaskApiUSertests(tests.Modeltests): 'prev': None}, "user": { "fullname": "PY C", - "name": "pingou" + "name": "pingou", + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...' } } + data["user"]["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertEqual(data, expected_data) @patch('pagure.lib.notify.send_email')