From ccb2e086bbf8264ed5e3dfd3faca28fb6faf2218 Mon Sep 17 00:00:00 2001 From: Ryan Lerch Date: Aug 03 2018 09:43:04 +0000 Subject: [PATCH 1/3] update subscriber count and avatar on issue page update the javascript to change the subscriber count and remove or add the user's avatar when subscribing or unsubscribing from an issue. Fixes #3367 Signed-off-by: Ryan Lerch --- diff --git a/pagure/api/fork.py b/pagure/api/fork.py index cf6a0a8..ce45853 100644 --- a/pagure/api/fork.py +++ b/pagure/api/fork.py @@ -777,6 +777,11 @@ def api_pull_request_add_flag(repo, requestid, username=None, namespace=None): raise pagure.exceptions.APIError( 400, error_code=APIERROR.EINVALIDREQ, errors=form.errors) + output['avatar_url'] = pagure.lib.avatar_url_from_email( + flask.g.fas_user.default_email, size=30) + + output['user'] = flask.g.fas_user.username + jsonout = flask.jsonify(output) return jsonout @@ -831,7 +836,9 @@ def api_subscribe_pull_request( :: { - "message": "User subscribed" + "message": "User subscribed", + "avatar_url": "https://image.png", + "user": "pingou" } """ # noqa diff --git a/pagure/api/issue.py b/pagure/api/issue.py index c699ab4..38da836 100644 --- a/pagure/api/issue.py +++ b/pagure/api/issue.py @@ -993,6 +993,11 @@ def api_comment_issue(repo, issueid, username=None, namespace=None): raise pagure.exceptions.APIError( 400, error_code=APIERROR.EINVALIDREQ, errors=form.errors) + output['avatar_url'] = pagure.lib.avatar_url_from_email( + flask.g.fas_user.default_email, size=30) + + output['user'] = flask.g.fas_user.username + jsonout = flask.jsonify(output) return jsonout @@ -1132,7 +1137,9 @@ def api_subscribe_issue(repo, issueid, username=None, namespace=None): :: { - "message": "User subscribed" + "message": "User subscribed", + "avatar_url": "https://image.png", + "user": "pingou" } """ # noqa diff --git a/pagure/templates/issue.html b/pagure/templates/issue.html index 3968813..36486d0 100644 --- a/pagure/templates/issue.html +++ b/pagure/templates/issue.html @@ -564,7 +564,7 @@ namespace=repo.namespace, repo=repo.name, issueid=issueid)
Subscribers - {{subscribers|count}} + {{subscribers|count}}
{% for subscriber in subscribers %} {{ + }}" title="{{ subscriber }}" id="sub-avatar-{{subscriber}}">{{ subscriber |avatar(size=30, css_class="pb-1") | safe }} {% endfor %} @@ -1216,14 +1216,22 @@ $( "#previewinmarkdown" ).click( } else { _data.status = true; } - console.log(_data); $.post( _url, _data ).done( function(data) { var _btn = $("#subcribe-btn"); + var _countlabel = $("#subscribers-count") + var _count = parseInt(_countlabel.text()) if (_btn.text() == 'Subscribe'){ _btn.text('Unsubscribe'); + _countlabel.text(_count+1) + var _html = '' + + ''; + $('#subscribers_list').prepend(_html); } else { _btn.text('Subscribe'); + _countlabel.text(_count-1); + $('#sub-avatar-'+data.user).remove(); } return false; } diff --git a/tests/test_pagure_flask_api_issue.py b/tests/test_pagure_flask_api_issue.py index 910ce64..ba8925e 100644 --- a/tests/test_pagure_flask_api_issue.py +++ b/tests/test_pagure_flask_api_issue.py @@ -3350,7 +3350,9 @@ class PagureFlaskApiIssuetests(tests.SimplePagureTest): data = json.loads(output.get_data(as_text=True)) self.assertDictEqual( data, - {'message': 'You are no longer watching this issue'} + {'message': 'You are no longer watching this issue', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/94bea27db4b720dc24905a1848dbd9d7a8d2c11594f88a62c9dd73009d7b408c?s=30&d=retro', + 'user': 'bar'} ) data = {} @@ -3360,7 +3362,9 @@ class PagureFlaskApiIssuetests(tests.SimplePagureTest): data = json.loads(output.get_data(as_text=True)) self.assertDictEqual( data, - {'message': 'You are no longer watching this issue'} + {'message': 'You are no longer watching this issue', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/94bea27db4b720dc24905a1848dbd9d7a8d2c11594f88a62c9dd73009d7b408c?s=30&d=retro', + 'user': 'bar'} ) # No change @@ -3378,7 +3382,9 @@ class PagureFlaskApiIssuetests(tests.SimplePagureTest): data = json.loads(output.get_data(as_text=True)) self.assertDictEqual( data, - {'message': 'You are now watching this issue'} + {'message': 'You are now watching this issue', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/94bea27db4b720dc24905a1848dbd9d7a8d2c11594f88a62c9dd73009d7b408c?s=30&d=retro', + 'user': 'bar'} ) # Subscribe - no changes @@ -3389,7 +3395,9 @@ class PagureFlaskApiIssuetests(tests.SimplePagureTest): data = json.loads(output.get_data(as_text=True)) self.assertDictEqual( data, - {'message': 'You are now watching this issue'} + {'message': 'You are now watching this issue', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/94bea27db4b720dc24905a1848dbd9d7a8d2c11594f88a62c9dd73009d7b408c?s=30&d=retro', + 'user': 'bar'} ) repo = pagure.lib.get_authorized_project(self.session, 'test') @@ -3406,7 +3414,9 @@ class PagureFlaskApiIssuetests(tests.SimplePagureTest): data = json.loads(output.get_data(as_text=True)) self.assertDictEqual( data, - {'message': 'You are no longer watching this issue'} + {'message': 'You are no longer watching this issue', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/94bea27db4b720dc24905a1848dbd9d7a8d2c11594f88a62c9dd73009d7b408c?s=30&d=retro', + 'user': 'bar'} ) repo = pagure.lib.get_authorized_project(self.session, 'test') From 5682fd585ca04df57d71a6fbd3e1d88c52f5315e Mon Sep 17 00:00:00 2001 From: Ryan Lerch Date: Aug 03 2018 09:43:04 +0000 Subject: [PATCH 2/3] update subscriber count and avatar on pull request page update the javascript to change the subscriber count and remove or add the user's avatar when subscribing or unsubscribing from a PR. Fixes #3367 Signed-off-by: Ryan Lerch --- diff --git a/pagure/templates/repo_pull_request.html b/pagure/templates/repo_pull_request.html index 9f6f778..ae882d1 100644 --- a/pagure/templates/repo_pull_request.html +++ b/pagure/templates/repo_pull_request.html @@ -582,7 +582,7 @@
Subscribers - {{subscribers|count}} + {{subscribers|count}}
{% for subscriber in subscribers %} {{ + }}" title="{{ subscriber }}" id="sub-avatar-{{subscriber}}">{{ subscriber |avatar(size=30, css_class="pb-1") | safe }} {% endfor %} @@ -1246,10 +1246,19 @@ $(document).ready(function () { $.post( _url, _data ).done( function(data) { var _btn = $("#subcribe-btn"); + var _countlabel = $("#subscribers-count") + var _count = parseInt(_countlabel.text()) if (_btn.text() == 'Subscribe'){ _btn.text('Unsubscribe'); + _countlabel.text(_count+1) + var _html = '' + + ''; + $('#subscribers_list').prepend(_html); } else { _btn.text('Subscribe'); + _countlabel.text(_count-1); + $('#sub-avatar-'+data.user).remove(); } return false; } diff --git a/tests/__init__.py b/tests/__init__.py index c835b2d..c325303 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -496,6 +496,8 @@ class FakeUser(object): # pylint: disable=too-few-public-methods self.username = username self.name = username self.email = 'foo@bar.com' + self.default_email = 'foo@bar.com' + self.approved_memberships = [ FakeGroup('packager'), FakeGroup('design-team') diff --git a/tests/test_pagure_flask_api_fork.py b/tests/test_pagure_flask_api_fork.py index 0325c03..9b76a2d 100644 --- a/tests/test_pagure_flask_api_fork.py +++ b/tests/test_pagure_flask_api_fork.py @@ -1724,7 +1724,10 @@ class PagureFlaskApiForktests(tests.Modeltests): data = json.loads(output.get_data(as_text=True)) self.assertDictEqual( data, - {'message': 'You are no longer watching this pull-request'} + {'message': 'You are no longer watching this pull-request', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/94bea27db4b720dc24905a1848dbd9d7a8d2c11594f88a62c9dd73009d7b408c?s=30&d=retro', + 'user': 'bar', + } ) data = {} @@ -1735,7 +1738,10 @@ class PagureFlaskApiForktests(tests.Modeltests): data = json.loads(output.get_data(as_text=True)) self.assertDictEqual( data, - {'message': 'You are no longer watching this pull-request'} + {'message': 'You are no longer watching this pull-request', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/94bea27db4b720dc24905a1848dbd9d7a8d2c11594f88a62c9dd73009d7b408c?s=30&d=retro', + 'user': 'bar', + } ) # No change @@ -1755,7 +1761,10 @@ class PagureFlaskApiForktests(tests.Modeltests): data = json.loads(output.get_data(as_text=True)) self.assertDictEqual( data, - {'message': 'You are now watching this pull-request'} + {'message': 'You are now watching this pull-request', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/94bea27db4b720dc24905a1848dbd9d7a8d2c11594f88a62c9dd73009d7b408c?s=30&d=retro', + 'user': 'bar', + } ) # Subscribe - no changes @@ -1767,7 +1776,10 @@ class PagureFlaskApiForktests(tests.Modeltests): data = json.loads(output.get_data(as_text=True)) self.assertDictEqual( data, - {'message': 'You are now watching this pull-request'} + {'message': 'You are now watching this pull-request', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/94bea27db4b720dc24905a1848dbd9d7a8d2c11594f88a62c9dd73009d7b408c?s=30&d=retro', + 'user': 'bar', + } ) repo = pagure.lib.get_authorized_project(self.session, 'test') @@ -1786,7 +1798,10 @@ class PagureFlaskApiForktests(tests.Modeltests): data = json.loads(output.get_data(as_text=True)) self.assertDictEqual( data, - {'message': 'You are no longer watching this pull-request'} + {'message': 'You are no longer watching this pull-request', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/94bea27db4b720dc24905a1848dbd9d7a8d2c11594f88a62c9dd73009d7b408c?s=30&d=retro', + 'user': 'bar', + } ) repo = pagure.lib.get_authorized_project(self.session, 'test') @@ -1856,7 +1871,10 @@ class PagureFlaskApiForktests(tests.Modeltests): data = json.loads(output.get_data(as_text=True)) self.assertDictEqual( data, - {'message': 'You are now watching this pull-request'} + {'message': 'You are now watching this pull-request', + 'avatar_url': 'https://seccdn.libravatar.org/avatar/0c7e6a405862e402eb76a70f8a26fc732d07c32931e9fae9ab1582911d2e8a3b?s=30&d=retro', + 'user': 'foo', + } ) # Check subscribtions after From e2c4680bfe8026d79f7225157d06e44bd32e76a2 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Aug 03 2018 13:34:55 +0000 Subject: [PATCH 3/3] Fix providing the username and avatar when subscribing on issues/PRso Fix the corresponding tests as well Signed-off-by: Pierre-Yves Chibon --- 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