From a9924f48800f57fa8036e3ebdf89d1e04b9bf1a1 Mon Sep 17 00:00:00 2001 From: Matej Focko Date: Tue, 20 Jul 2021 14:53:45 +0200 Subject: test(functional): add mr.merge_ref tests - Add test for using merge_ref on non-merged MR - Add test for using merge_ref on MR with conflicts Signed-off-by: Matej Focko --- tests/functional/api/test_merge_requests.py | 32 +++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/tests/functional/api/test_merge_requests.py b/tests/functional/api/test_merge_requests.py index e768234..179ae6f 100644 --- a/tests/functional/api/test_merge_requests.py +++ b/tests/functional/api/test_merge_requests.py @@ -163,3 +163,35 @@ def test_merge_request_large_commit_message( # Ensure we can get the MR branch project.branches.get(source_branch) + + +def test_merge_request_merge_ref(merge_request) -> None: + source_branch = "merge_ref_test" + mr = merge_request(source_branch=source_branch) + + response = mr.merge_ref() + assert response and "commit_id" in response + + +def test_merge_request_merge_ref_should_fail( + project, merge_request, wait_for_sidekiq +) -> None: + source_branch = "merge_ref_test2" + mr = merge_request(source_branch=source_branch) + + # Create conflict + project.files.create( + { + "file_path": f"README.{source_branch}", + "branch": project.default_branch, + "content": "Different initial content", + "commit_message": "Another commit in main branch", + } + ) + result = wait_for_sidekiq(timeout=60) + assert result is True, "sidekiq process should have terminated but did not" + + # Check for non-existing merge_ref for MR with conflicts + with pytest.raises(gitlab.exceptions.GitlabGetError): + response = mr.merge_ref() + assert "commit_id" not in response -- cgit v1.2.1