From b70852856d0603a71407a864bd8372eb075c1054 Mon Sep 17 00:00:00 2001 From: Heitor Polidoro Date: Mon, 20 May 2024 11:26:21 -0300 Subject: [PATCH] fix(IssueManager): auto-approve disabled by default [release:bugfix] --- .bartholomew.yaml | 1 + config.py | 1 + src/managers/pull_request_manager.py | 2 +- tests/managers/test_issue_manager.py | 25 +++++++++++++++++++++ tests/managers/test_pull_request_manager.py | 1 + 5 files changed, 29 insertions(+), 1 deletion(-) diff --git a/.bartholomew.yaml b/.bartholomew.yaml index 75702f6..3914638 100644 --- a/.bartholomew.yaml +++ b/.bartholomew.yaml @@ -1,2 +1,3 @@ pull_request_manager: + auto_approve: true auto_approve_logins: ['deepsource-autofix[bot]'] diff --git a/config.py b/config.py index f81b334..1094793 100644 --- a/config.py +++ b/config.py @@ -19,6 +19,7 @@ def default_configs() -> NoReturn: merge_method="SQUASH", auto_approve_logins=[], auto_update=True, + auto_approve=False, ) Config.create_config("release_manager", enabled=True) Config.create_config( diff --git a/src/managers/pull_request_manager.py b/src/managers/pull_request_manager.py index ddbb36d..12d142e 100644 --- a/src/managers/pull_request_manager.py +++ b/src/managers/pull_request_manager.py @@ -136,7 +136,7 @@ def enable_auto_merge(pull_request: PullRequest, check_run: EventCheckRun) -> st return "" -@Config.call_if("AUTO_APPROVE_PAT") +@Config.call_if("pull_request_manager.auto_approve") def auto_approve(event: CheckSuiteRequestedEvent) -> NoReturn: """Approve the Pull Request if the branch creator is the same of the repository owner""" repository = event.repository diff --git a/tests/managers/test_issue_manager.py b/tests/managers/test_issue_manager.py index 57341a2..3a4ff31 100644 --- a/tests/managers/test_issue_manager.py +++ b/tests/managers/test_issue_manager.py @@ -3,6 +3,7 @@ import pytest from github import Consts, UnknownObjectException +from githubapp import Config from githubapp.events import IssueEditedEvent, IssueOpenedEvent from githubapp.events.issues import IssueClosedEvent @@ -422,6 +423,30 @@ def test_process_create_issue(issue_job): assert job.job_status == JobStatus.UPDATE_ISSUE_BODY +def test_process_not_create_issue(issue_job): + JobService.insert_one( + Job( + original_issue_url=issue_job.issue_url, + task="task", + checked=False, + job_status=JobStatus.CREATE_ISSUE, + title="title", + ) + ) + repository = Mock() + with ( + patch( + "src.managers.issue_manager._instantiate_github_class", + return_value=repository, + ), + ): + Config.issue_manager.create_issues_from_tasklist = False + process_create_issue(issue_job) + repository.create_issue.assert_not_called() + job = JobService.all()[0] + assert job.job_status == JobStatus.DONE + + def test_process_update_issue_body(issue_job): JobService.insert_many( [ diff --git a/tests/managers/test_pull_request_manager.py b/tests/managers/test_pull_request_manager.py index 70cbcae..1d7f0f7 100644 --- a/tests/managers/test_pull_request_manager.py +++ b/tests/managers/test_pull_request_manager.py @@ -208,6 +208,7 @@ def test_auto_approve(event, repository, pull_request_helper): pulls = [Mock() for _ in range(3)] event.repository.get_pulls.return_value = pulls Config.AUTO_APPROVE_PAT = "AUTO_APPROVE_PAT" + Config.pull_request_manager.auto_approve = True auto_approve(event) assert pull_request_helper.approve.call_count == len(pulls) pull_request_helper.approve.assert_has_calls(