diff --git a/tests/plugins/test_scm_request_processor.py b/tests/plugins/test_scm_request_processor.py index f69f2ac..e2fd125 100644 --- a/tests/plugins/test_scm_request_processor.py +++ b/tests/plugins/test_scm_request_processor.py @@ -33,10 +33,13 @@ class TestAcceptsTopic: [ "org.fedoraproject.*.pagure.issue.new", "org.fedoraproject.*.pagure.issue.edit", + "org.fedoraproject.*.pagure.issue.comment.added", "org.fedoraproject.stg.pagure.issue.new", "org.fedoraproject.stg.pagure.issue.edit", + "org.fedoraproject.stg.pagure.issue.comment.added", "org.fedoraproject.prod.pagure.issue.new", "org.fedoraproject.prod.pagure.issue.edit", + "org.fedoraproject.prod.pagure.issue.comment.added", ], ) def test_accetps_topic_valid(self, topic, toddler): @@ -561,12 +564,7 @@ class TestCreateNewRepo: issue = { "id": 100, "user": {"name": user}, - "comments": [{ - "comment": "valid", - "user": { - "name": invalid_user - } - }] + "comments": [{"comment": "valid", "user": {"name": invalid_user}}], } repo = "repo" @@ -588,11 +586,7 @@ class TestCreateNewRepo: "exception": exception, } self.toddler.pagure_io.get_project_contributors.return_value = { - "users": { - "admin": [user], - "commit": [], - "ticket": [] - } + "users": {"admin": [user], "commit": [], "ticket": []} } self.toddler.validation_comment = "valid" @@ -601,7 +595,7 @@ class TestCreateNewRepo: # asserts self.toddler.pagure_io.get_project_contributors.assert_called_with( scm_request_processor.PROJECT_NAMESPACE.split("/")[0], - scm_request_processor.PROJECT_NAMESPACE.split("/")[1] + scm_request_processor.PROJECT_NAMESPACE.split("/")[1], ) def test_create_new_repo_exception_no_validation_comment(self): @@ -614,12 +608,7 @@ class TestCreateNewRepo: issue = { "id": 100, "user": {"name": user}, - "comments": [{ - "comment": "comment", - "user": { - "name": user - } - }] + "comments": [{"comment": "comment", "user": {"name": user}}], } repo = "repo" @@ -641,11 +630,7 @@ class TestCreateNewRepo: "exception": exception, } self.toddler.pagure_io.get_project_contributors.return_value = { - "users": { - "admin": [user], - "commit": [], - "ticket": [] - } + "users": {"admin": [user], "commit": [], "ticket": []} } self.toddler.validation_comment = "valid" @@ -654,7 +639,7 @@ class TestCreateNewRepo: # asserts self.toddler.pagure_io.get_project_contributors.assert_called_with( scm_request_processor.PROJECT_NAMESPACE.split("/")[0], - scm_request_processor.PROJECT_NAMESPACE.split("/")[1] + scm_request_processor.PROJECT_NAMESPACE.split("/")[1], ) def test_create_new_repo_exception_notify_maintainers(self): @@ -664,11 +649,7 @@ class TestCreateNewRepo: """ # Preparation user = "zlopez" - issue = { - "id": 100, - "user": {"name": user}, - "comments": [] - } + issue = {"id": 100, "user": {"name": user}, "comments": []} repo = "repo" branch = "main" @@ -689,11 +670,7 @@ class TestCreateNewRepo: "exception": exception, } self.toddler.pagure_io.get_project_contributors.return_value = { - "users": { - "admin": [user, "Tzeentch"], - "commit": [], - "ticket": [] - } + "users": {"admin": [user, "Tzeentch"], "commit": [], "ticket": []} } self.toddler.ping_comment = "Look at this comment {maintainers}" self.toddler.create_new_repo(issue, json) @@ -701,14 +678,13 @@ class TestCreateNewRepo: # asserts self.toddler.pagure_io.get_project_contributors.assert_called_with( scm_request_processor.PROJECT_NAMESPACE.split("/")[0], - scm_request_processor.PROJECT_NAMESPACE.split("/")[1] + scm_request_processor.PROJECT_NAMESPACE.split("/")[1], ) - message = "Look at this comment @{} @Tzeentch".format(user) + message = "Look at this comment @Tzeentch @{}".format(user) self.toddler.pagure_io.add_comment_to_issue.assert_called_with( - 100, namespace=scm_request_processor.PROJECT_NAMESPACE, - comment=message + 100, namespace=scm_request_processor.PROJECT_NAMESPACE, comment=message ) def test_create_new_repo_missing_bug_id(self): @@ -776,7 +752,9 @@ class TestCreateNewRepo: @patch( "toddlers.plugins.scm_request_processor.SCMRequestProcessor.validate_review_bug" ) - def test_create_new_repo_invalid_epel(self, mock_validate_review_bug, mock_valid_epel_package): + def test_create_new_repo_invalid_epel( + self, mock_validate_review_bug, mock_valid_epel_package + ): """ Assert that ticket will be closed if repo is invalid EPEL repo. """ @@ -808,7 +786,8 @@ class TestCreateNewRepo: mock_valid_epel_package.assert_called_with(repo, branch) mock_validate_review_bug.assert_called_with( - bug_id, repo, branch, namespace=namespace, pagure_user="zlopez") + bug_id, repo, branch, namespace=namespace, pagure_user="zlopez" + ) self.toddler.pagure_io.close_issue.assert_called_with( 100, @@ -852,7 +831,8 @@ class TestCreateNewRepo: self.toddler.create_new_repo(issue, json) mock_validate_review_bug.assert_called_with( - bug_id, repo, branch, namespace=namespace, pagure_user="zlopez") + bug_id, repo, branch, namespace=namespace, pagure_user="zlopez" + ) self.toddler.dist_git.user_exists.assert_called_with("zlopez") @@ -899,7 +879,8 @@ class TestCreateNewRepo: self.toddler.create_new_repo(issue, json) mock_validate_review_bug.assert_called_with( - bug_id, repo, branch, namespace=namespace, pagure_user="zlopez") + bug_id, repo, branch, namespace=namespace, pagure_user="zlopez" + ) self.toddler.dist_git.get_project.assert_called_with(namespace, repo) @@ -943,7 +924,8 @@ class TestCreateNewRepo: self.toddler.create_new_repo(issue, json) mock_validate_review_bug.assert_called_with( - bug_id, repo, branch, namespace=namespace, pagure_user="zlopez") + bug_id, repo, branch, namespace=namespace, pagure_user="zlopez" + ) self.toddler.dist_git.get_project.assert_called_with(namespace, repo) @@ -986,7 +968,8 @@ class TestCreateNewRepo: self.toddler.create_new_repo(issue, json) mock_validate_review_bug.assert_called_with( - bug_id, repo, branch, namespace=namespace, pagure_user="zlopez") + bug_id, repo, branch, namespace=namespace, pagure_user="zlopez" + ) self.toddler.dist_git.get_project.assert_called_with(namespace, repo) @@ -1007,7 +990,9 @@ class TestCreateNewRepo: @patch( "toddlers.plugins.scm_request_processor.SCMRequestProcessor.validate_review_bug" ) - def test_create_new_repo_branch_exist(self, mock_validate_review_bug, mock_pdc_get_branch): + def test_create_new_repo_branch_exist( + self, mock_validate_review_bug, mock_pdc_get_branch + ): """ Assert that ticket will be closed when branch already exist in PDC. """ @@ -1037,7 +1022,8 @@ class TestCreateNewRepo: self.toddler.create_new_repo(issue, json) mock_validate_review_bug.assert_called_with( - bug_id, repo, branch, namespace=namespace, pagure_user="zlopez") + bug_id, repo, branch, namespace=namespace, pagure_user="zlopez" + ) self.toddler.dist_git.get_project.assert_called_with(namespace, repo) mock_pdc_get_branch.assert_called_with(repo, branch, namespace.rstrip("s")) @@ -1068,12 +1054,7 @@ class TestCreateNewRepo: issue = { "id": 100, "user": {"name": user}, - "comments": [{ - "comment": "valid", - "user": { - "name": user - } - }] + "comments": [{"comment": "valid", "user": {"name": user}}], } repo = "repo" @@ -1096,11 +1077,7 @@ class TestCreateNewRepo: self.toddler.dist_git.get_project.return_value = None self.toddler.dist_git._pagure_url = dist_git_url self.toddler.pagure_io.get_project_contributors.return_value = { - "users": { - "admin": [user], - "commit": [], - "ticket": [] - } + "users": {"admin": [user], "commit": [], "ticket": []} } self.toddler.validation_comment = "valid" mock_pdc.get_branch.return_value = None @@ -1151,12 +1128,7 @@ class TestCreateNewRepo: issue = { "id": 100, "user": {"name": user}, - "comments": [{ - "comment": "valid", - "user": { - "name": user - } - }] + "comments": [{"comment": "valid", "user": {"name": user}}], } repo = "repo" @@ -1181,11 +1153,7 @@ class TestCreateNewRepo: self.toddler.dist_git.get_project.return_value = None self.toddler.dist_git._pagure_url = dist_git_url self.toddler.pagure_io.get_project_contributors.return_value = { - "users": { - "admin": [user], - "commit": [], - "ticket": [] - } + "users": {"admin": [user], "commit": [], "ticket": []} } self.toddler.validation_comment = "valid" mock_pdc.get_branch.return_value = None @@ -1195,7 +1163,7 @@ class TestCreateNewRepo: # asserts self.toddler.pagure_io.get_project_contributors.assert_called_with( scm_request_processor.PROJECT_NAMESPACE.split("/")[0], - scm_request_processor.PROJECT_NAMESPACE.split("/")[1] + scm_request_processor.PROJECT_NAMESPACE.split("/")[1], ) self.toddler.dist_git.get_project.assert_called_with(namespace, repo) self.toddler.dist_git.new_project.assert_called_with( @@ -1226,7 +1194,9 @@ class TestCreateNewRepo: @patch( "toddlers.plugins.scm_request_processor.SCMRequestProcessor.validate_review_bug" ) - def test_create_new_repo_non_default_branch(self, mock_validate_review_bug, mock_pdc, mock_bz): + def test_create_new_repo_non_default_branch( + self, mock_validate_review_bug, mock_pdc, mock_bz + ): """ Assert that ticket will be processed when everything is in order and requested branch is not default. @@ -1262,7 +1232,8 @@ class TestCreateNewRepo: # asserts mock_validate_review_bug.assert_called_with( - bug_id, repo, branch, namespace=namespace, pagure_user="zlopez") + bug_id, repo, branch, namespace=namespace, pagure_user="zlopez" + ) self.toddler.dist_git.get_project.assert_called_with(namespace, repo) self.toddler.dist_git.new_project.assert_called_with( @@ -1316,7 +1287,9 @@ class TestCreateNewRepo: @patch( "toddlers.plugins.scm_request_processor.SCMRequestProcessor.validate_review_bug" ) - def test_create_new_repo_default_brach(self, mock_validate_review_bug, mock_pdc, mock_bz): + def test_create_new_repo_default_brach( + self, mock_validate_review_bug, mock_pdc, mock_bz + ): """ Assert that repo will be created with default branch when everything is in order. """ @@ -1350,7 +1323,8 @@ class TestCreateNewRepo: # asserts mock_validate_review_bug.assert_called_with( - bug_id, repo, branch, namespace=namespace, pagure_user="zlopez") + bug_id, repo, branch, namespace=namespace, pagure_user="zlopez" + ) self.toddler.dist_git.get_project.assert_called_with(namespace, repo) self.toddler.dist_git.new_project.assert_called_with( diff --git a/toddlers/plugins/scm_request_processor.py b/toddlers/plugins/scm_request_processor.py index af794f3..c79faac 100644 --- a/toddlers/plugins/scm_request_processor.py +++ b/toddlers/plugins/scm_request_processor.py @@ -407,7 +407,11 @@ class SCMRequestProcessor(ToddlerBase): for comment in issue["comments"]: if comment["comment"].strip() == self.validation_comment: if comment["user"]["name"] in maintainers: - _log.info("- Ticket is validated by {}, continue processing".format(comment["user"]["name"])) + _log.info( + "- Ticket is validated by {}, continue processing".format( + comment["user"]["name"] + ) + ) valid = True break if not valid: @@ -419,7 +423,11 @@ class SCMRequestProcessor(ToddlerBase): self.pagure_io.add_comment_to_issue( issue["id"], namespace=PROJECT_NAMESPACE, - comment=self.ping_comment.format(maintainers=" ".join(["@" + user for user in maintainers])) + comment=self.ping_comment.format( + maintainers=" ".join( + ["@" + user for user in sorted(maintainers)] + ) + ), ) return else: