def test_requires_commit_signatures( pull_request: PullRequest, config: V1, branch_protection: BranchProtectionRule ) -> None: """ If requiresCommitSignatures is enabled in branch protections, kodiak cannot function because it cannot create a signed commit to merge the PR. """ branch_protection.requiresCommitSignatures = True with pytest.raises(NotQueueable, match='"Require signed commits" not supported.'): mergeable( app_id="1234", config=config, pull_request=pull_request, branch_protection=branch_protection, review_requests_count=0, reviews=[], contexts=[], check_runs=[], valid_signature=False, valid_merge_methods=[MergeMethod.squash], )
def test_requires_signature( pull_request: PullRequest, config: V1, branch_protection: BranchProtectionRule, review: PRReview, context: StatusContext, ) -> None: pull_request.mergeStateStatus = MergeStateStatus.BLOCKED branch_protection.requiresCommitSignatures = True with pytest.raises(NotQueueable, match="missing required signature"): mergeable( config=config, pull_request=pull_request, branch_protection=branch_protection, review_requests_count=0, reviews=[review], contexts=[context], check_runs=[], valid_signature=False, valid_merge_methods=[MergeMethod.squash], )