diff --git a/pagure/api/fork.py b/pagure/api/fork.py index ce45853..ad28e5a 100644 --- a/pagure/api/fork.py +++ b/pagure/api/fork.py @@ -880,6 +880,11 @@ def api_subscribe_pull_request( ) flask.g.session.commit() output['message'] = message + user_obj = pagure.lib.get_user( + flask.g.session, flask.g.fas_user.username) + output['avatar_url'] = pagure.lib.avatar_url_from_email( + user_obj.default_email, size=30) + output['user'] = flask.g.fas_user.username except SQLAlchemyError as err: # pragma: no cover flask.g.session.rollback() _log.logger.exception(err) diff --git a/pagure/api/issue.py b/pagure/api/issue.py index 38da836..66f6b1c 100644 --- a/pagure/api/issue.py +++ b/pagure/api/issue.py @@ -1164,6 +1164,11 @@ def api_subscribe_issue(repo, issueid, username=None, namespace=None): ) flask.g.session.commit() output['message'] = message + user_obj = pagure.lib.get_user( + flask.g.session, flask.g.fas_user.username) + output['avatar_url'] = pagure.lib.avatar_url_from_email( + user_obj.default_email, size=30) + output['user'] = flask.g.fas_user.username except SQLAlchemyError as err: # pragma: no cover flask.g.session.rollback() _log.exception(err) diff --git a/tests/test_pagure_flask_api_fork.py b/tests/test_pagure_flask_api_fork.py index 9b76a2d..ac1f827 100644 --- a/tests/test_pagure_flask_api_fork.py +++ b/tests/test_pagure_flask_api_fork.py @@ -1722,10 +1722,11 @@ class PagureFlaskApiForktests(tests.Modeltests): data=data, headers=headers) self.assertEqual(output.status_code, 200) data = json.loads(output.get_data(as_text=True)) + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, {'message': 'You are no longer watching this pull-request', - 'avatar_url': 'https://seccdn.libravatar.org/avatar/94bea27db4b720dc24905a1848dbd9d7a8d2c11594f88a62c9dd73009d7b408c?s=30&d=retro', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', 'user': 'bar', } ) @@ -1736,10 +1737,11 @@ class PagureFlaskApiForktests(tests.Modeltests): data=data, headers=headers) self.assertEqual(output.status_code, 200) data = json.loads(output.get_data(as_text=True)) + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, {'message': 'You are no longer watching this pull-request', - 'avatar_url': 'https://seccdn.libravatar.org/avatar/94bea27db4b720dc24905a1848dbd9d7a8d2c11594f88a62c9dd73009d7b408c?s=30&d=retro', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', 'user': 'bar', } ) @@ -1759,10 +1761,11 @@ class PagureFlaskApiForktests(tests.Modeltests): data=data, headers=headers) self.assertEqual(output.status_code, 200) data = json.loads(output.get_data(as_text=True)) + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, {'message': 'You are now watching this pull-request', - 'avatar_url': 'https://seccdn.libravatar.org/avatar/94bea27db4b720dc24905a1848dbd9d7a8d2c11594f88a62c9dd73009d7b408c?s=30&d=retro', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', 'user': 'bar', } ) @@ -1774,10 +1777,11 @@ class PagureFlaskApiForktests(tests.Modeltests): data=data, headers=headers) self.assertEqual(output.status_code, 200) data = json.loads(output.get_data(as_text=True)) + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, {'message': 'You are now watching this pull-request', - 'avatar_url': 'https://seccdn.libravatar.org/avatar/94bea27db4b720dc24905a1848dbd9d7a8d2c11594f88a62c9dd73009d7b408c?s=30&d=retro', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', 'user': 'bar', } ) @@ -1796,10 +1800,11 @@ class PagureFlaskApiForktests(tests.Modeltests): data=data, headers=headers) self.assertEqual(output.status_code, 200) data = json.loads(output.get_data(as_text=True)) + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, {'message': 'You are no longer watching this pull-request', - 'avatar_url': 'https://seccdn.libravatar.org/avatar/94bea27db4b720dc24905a1848dbd9d7a8d2c11594f88a62c9dd73009d7b408c?s=30&d=retro', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', 'user': 'bar', } ) @@ -1869,10 +1874,11 @@ class PagureFlaskApiForktests(tests.Modeltests): '/api/0/test/pull-request/1/subscribe', data=data) self.assertEqual(output.status_code, 200) data = json.loads(output.get_data(as_text=True)) + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, {'message': 'You are now watching this pull-request', - 'avatar_url': 'https://seccdn.libravatar.org/avatar/0c7e6a405862e402eb76a70f8a26fc732d07c32931e9fae9ab1582911d2e8a3b?s=30&d=retro', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', 'user': 'foo', } ) diff --git a/tests/test_pagure_flask_api_issue.py b/tests/test_pagure_flask_api_issue.py index ba8925e..e21e56a 100644 --- a/tests/test_pagure_flask_api_issue.py +++ b/tests/test_pagure_flask_api_issue.py @@ -2777,9 +2777,12 @@ class PagureFlaskApiIssuetests(tests.SimplePagureTest): '/api/0/test/issue/1/comment', data=data, headers=headers) self.assertEqual(output.status_code, 200) data = json.loads(output.get_data(as_text=True)) + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, - {'message': 'Comment added'} + {'message': 'Comment added', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', + 'user': 'pingou'} ) # One comment added @@ -2897,9 +2900,12 @@ class PagureFlaskApiIssuetests(tests.SimplePagureTest): '/api/0/test/issue/1/comment', data=data, headers=headers) self.assertEqual(output.status_code, 200) data = json.loads(output.get_data(as_text=True)) + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, - {'message': 'Comment added'} + {'message': 'Comment added', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', + 'user': 'foo'} ) # Private issue - no auth @@ -3348,10 +3354,11 @@ class PagureFlaskApiIssuetests(tests.SimplePagureTest): '/api/0/test/issue/1/subscribe', data=data, headers=headers) self.assertEqual(output.status_code, 200) data = json.loads(output.get_data(as_text=True)) + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, {'message': 'You are no longer watching this issue', - 'avatar_url': 'https://seccdn.libravatar.org/avatar/94bea27db4b720dc24905a1848dbd9d7a8d2c11594f88a62c9dd73009d7b408c?s=30&d=retro', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', 'user': 'bar'} ) @@ -3360,10 +3367,11 @@ class PagureFlaskApiIssuetests(tests.SimplePagureTest): '/api/0/test/issue/1/subscribe', data=data, headers=headers) self.assertEqual(output.status_code, 200) data = json.loads(output.get_data(as_text=True)) + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, {'message': 'You are no longer watching this issue', - 'avatar_url': 'https://seccdn.libravatar.org/avatar/94bea27db4b720dc24905a1848dbd9d7a8d2c11594f88a62c9dd73009d7b408c?s=30&d=retro', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', 'user': 'bar'} ) @@ -3380,10 +3388,11 @@ class PagureFlaskApiIssuetests(tests.SimplePagureTest): '/api/0/test/issue/1/subscribe', data=data, headers=headers) self.assertEqual(output.status_code, 200) data = json.loads(output.get_data(as_text=True)) + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, {'message': 'You are now watching this issue', - 'avatar_url': 'https://seccdn.libravatar.org/avatar/94bea27db4b720dc24905a1848dbd9d7a8d2c11594f88a62c9dd73009d7b408c?s=30&d=retro', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', 'user': 'bar'} ) @@ -3393,10 +3402,11 @@ class PagureFlaskApiIssuetests(tests.SimplePagureTest): '/api/0/test/issue/1/subscribe', data=data, headers=headers) self.assertEqual(output.status_code, 200) data = json.loads(output.get_data(as_text=True)) + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, {'message': 'You are now watching this issue', - 'avatar_url': 'https://seccdn.libravatar.org/avatar/94bea27db4b720dc24905a1848dbd9d7a8d2c11594f88a62c9dd73009d7b408c?s=30&d=retro', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', 'user': 'bar'} ) @@ -3412,10 +3422,11 @@ class PagureFlaskApiIssuetests(tests.SimplePagureTest): '/api/0/test/issue/1/subscribe', data=data, headers=headers) self.assertEqual(output.status_code, 200) data = json.loads(output.get_data(as_text=True)) + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, {'message': 'You are no longer watching this issue', - 'avatar_url': 'https://seccdn.libravatar.org/avatar/94bea27db4b720dc24905a1848dbd9d7a8d2c11594f88a62c9dd73009d7b408c?s=30&d=retro', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', 'user': 'bar'} ) diff --git a/tests/test_pagure_flask_api_issue_comment.py b/tests/test_pagure_flask_api_issue_comment.py index 0fac8bd..5b7986b 100644 --- a/tests/test_pagure_flask_api_issue_comment.py +++ b/tests/test_pagure_flask_api_issue_comment.py @@ -175,9 +175,12 @@ class PagureFlaskApiIssueCommenttests(tests.Modeltests): '/api/0/test/issue/1/comment', data=data, headers=headers) self.assertEqual(output.status_code, 200) data = json.loads(output.get_data(as_text=True)) + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, - {'message': 'Comment added'} + {'message': 'Comment added', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', + 'user': 'pingou'} ) # One comment added @@ -237,9 +240,12 @@ class PagureFlaskApiIssueCommenttests(tests.Modeltests): '/api/0/test/issue/2/comment', data=data, headers=headers) self.assertEqual(output.status_code, 200) data = json.loads(output.get_data(as_text=True)) + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, - {'message': 'Comment added'} + {'message': 'Comment added', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', + 'user': 'foo'} ) def test_api_comment_issue_invalid_project_project_less(self): @@ -339,9 +345,12 @@ class PagureFlaskApiIssueCommenttests(tests.Modeltests): '/api/0/test/issue/1/comment', data=data, headers=headers) self.assertEqual(output.status_code, 200) data = json.loads(output.get_data(as_text=True)) + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, - {'message': 'Comment added'} + {'message': 'Comment added', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', + 'user': 'foo'} ) # One comment added @@ -401,9 +410,12 @@ class PagureFlaskApiIssueCommenttests(tests.Modeltests): '/api/0/test/issue/2/comment', data=data, headers=headers) self.assertEqual(output.status_code, 200) data = json.loads(output.get_data(as_text=True)) + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, - {'message': 'Comment added'} + {'message': 'Comment added', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', + 'user': 'foo'} ) diff --git a/tests/test_pagure_flask_api_pr_flag.py b/tests/test_pagure_flask_api_pr_flag.py index fd1675a..751a341 100644 --- a/tests/test_pagure_flask_api_pr_flag.py +++ b/tests/test_pagure_flask_api_pr_flag.py @@ -241,6 +241,7 @@ class PagureFlaskApiPRFlagtests(tests.Modeltests): data['flag']['date_created'] = '1510742565' pr_uid = data['flag']['pull_request_uid'] data['flag']['pull_request_uid'] = '62b49f00d489452994de5010565fab81' + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, { @@ -259,7 +260,9 @@ class PagureFlaskApiPRFlagtests(tests.Modeltests): }, 'username': 'Jenkins'}, 'message': 'Flag added', - 'uid': 'jenkins_build_pagure_100+seed' + 'uid': 'jenkins_build_pagure_100+seed', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', + 'user': 'pingou' } ) @@ -302,6 +305,7 @@ class PagureFlaskApiPRFlagtests(tests.Modeltests): data = json.loads(output.get_data(as_text=True)) data['flag']['date_created'] = '1510742565' data['flag']['pull_request_uid'] = '62b49f00d489452994de5010565fab81' + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, { @@ -320,7 +324,9 @@ class PagureFlaskApiPRFlagtests(tests.Modeltests): }, 'username': 'Jenkins'}, 'message': 'Flag added', - 'uid': 'jenkins_build_pagure_100+seed' + 'uid': 'jenkins_build_pagure_100+seed', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', + 'user': 'pingou' } ) @@ -347,6 +353,7 @@ class PagureFlaskApiPRFlagtests(tests.Modeltests): data = json.loads(output.get_data(as_text=True)) data['flag']['date_created'] = '1510742565' data['flag']['pull_request_uid'] = '62b49f00d489452994de5010565fab81' + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, { @@ -365,7 +372,9 @@ class PagureFlaskApiPRFlagtests(tests.Modeltests): }, 'username': 'Jenkins'}, 'message': 'Flag updated', - 'uid': 'jenkins_build_pagure_100+seed' + 'uid': 'jenkins_build_pagure_100+seed', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', + 'user': 'pingou' } ) @@ -397,6 +406,7 @@ class PagureFlaskApiPRFlagtests(tests.Modeltests): data = json.loads(output.get_data(as_text=True)) data['flag']['date_created'] = '1510742565' data['flag']['pull_request_uid'] = '62b49f00d489452994de5010565fab81' + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, { @@ -415,7 +425,9 @@ class PagureFlaskApiPRFlagtests(tests.Modeltests): }, 'username': 'Jenkins'}, 'message': 'Flag added', - 'uid': 'jenkins_build_pagure_100+seed' + 'uid': 'jenkins_build_pagure_100+seed', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', + 'user': 'pingou' } ) @@ -443,6 +455,7 @@ class PagureFlaskApiPRFlagtests(tests.Modeltests): self.assertNotEqual( data['uid'], 'jenkins_build_pagure_100+seed') data['uid'] = 'jenkins_build_pagure_100+seed' + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, { @@ -461,7 +474,9 @@ class PagureFlaskApiPRFlagtests(tests.Modeltests): }, 'username': 'Jenkins'}, 'message': 'Flag added', - 'uid': 'jenkins_build_pagure_100+seed' + 'uid': 'jenkins_build_pagure_100+seed', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', + 'user': 'pingou' } ) @@ -730,6 +745,7 @@ class PagureFlaskApiPRFlagUserTokentests(tests.Modeltests): data = json.loads(output.get_data(as_text=True)) data['flag']['date_created'] = '1510742565' data['flag']['pull_request_uid'] = '62b49f00d489452994de5010565fab81' + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, { @@ -748,7 +764,9 @@ class PagureFlaskApiPRFlagUserTokentests(tests.Modeltests): }, 'username': 'Jenkins'}, 'message': 'Flag added', - 'uid': 'jenkins_build_pagure_100+seed' + 'uid': 'jenkins_build_pagure_100+seed', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', + 'user': 'pingou' } ) @@ -783,6 +801,7 @@ class PagureFlaskApiPRFlagUserTokentests(tests.Modeltests): data = json.loads(output.get_data(as_text=True)) data['flag']['date_created'] = '1510742565' data['flag']['pull_request_uid'] = '62b49f00d489452994de5010565fab81' + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, { @@ -801,7 +820,9 @@ class PagureFlaskApiPRFlagUserTokentests(tests.Modeltests): }, 'username': 'Jenkins'}, 'message': 'Flag added', - 'uid': 'jenkins_build_pagure_100+seed' + 'uid': 'jenkins_build_pagure_100+seed', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', + 'user': 'pingou' } ) @@ -829,6 +850,7 @@ class PagureFlaskApiPRFlagUserTokentests(tests.Modeltests): data = json.loads(output.get_data(as_text=True)) data['flag']['date_created'] = '1510742565' data['flag']['pull_request_uid'] = '62b49f00d489452994de5010565fab81' + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, { @@ -847,7 +869,9 @@ class PagureFlaskApiPRFlagUserTokentests(tests.Modeltests): }, 'username': 'Jenkins'}, 'message': 'Flag updated', - 'uid': 'jenkins_build_pagure_100+seed' + 'uid': 'jenkins_build_pagure_100+seed', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', + 'user': 'pingou' } ) diff --git a/tests/test_pagure_flask_api_ui_private_repo.py b/tests/test_pagure_flask_api_ui_private_repo.py index 9751f6c..5fdd2eb 100644 --- a/tests/test_pagure_flask_api_ui_private_repo.py +++ b/tests/test_pagure_flask_api_ui_private_repo.py @@ -1821,6 +1821,7 @@ class PagurePrivateRepotest(tests.Modeltests): data = json.loads(output.get_data(as_text=True)) data['flag']['date_created'] = '1510742565' data['flag']['pull_request_uid'] = '62b49f00d489452994de5010565fab81' + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, { @@ -1838,7 +1839,9 @@ class PagurePrivateRepotest(tests.Modeltests): 'name': 'pingou'}, 'username': 'Jenkins'}, 'message': 'Flag added', - 'uid': 'jenkins_build_pagure_100+seed' + 'uid': 'jenkins_build_pagure_100+seed', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', + 'user': 'pingou' } ) @@ -1865,6 +1868,7 @@ class PagurePrivateRepotest(tests.Modeltests): data = json.loads(output.get_data(as_text=True)) data['flag']['date_created'] = '1510742565' data['flag']['pull_request_uid'] = '62b49f00d489452994de5010565fab81' + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, { @@ -1882,7 +1886,9 @@ class PagurePrivateRepotest(tests.Modeltests): 'name': 'pingou'}, 'username': 'Jenkins'}, 'message': 'Flag updated', - 'uid': 'jenkins_build_pagure_100+seed' + 'uid': 'jenkins_build_pagure_100+seed', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', + 'user': 'pingou' } ) @@ -3039,9 +3045,12 @@ class PagurePrivateRepotest(tests.Modeltests): '/api/0/test4/issue/1/comment', data=data, headers=headers) self.assertEqual(output.status_code, 200) data = json.loads(output.get_data(as_text=True)) + data["avatar_url"] = "https://seccdn.libravatar.org/avatar/..." self.assertDictEqual( data, - {'message': 'Comment added'} + {'message': 'Comment added', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/...', + 'user': 'pingou'} ) # One comment added