diff options
author | Matej Focko <mfocko@redhat.com> | 2021-07-20 14:53:45 +0200 |
---|---|---|
committer | John Villalovos <john@sodarock.com> | 2021-07-21 08:02:57 -0700 |
commit | a9924f48800f57fa8036e3ebdf89d1e04b9bf1a1 (patch) | |
tree | d2f5ae0457002948433608d31c22a202f4b1341e | |
parent | b30b8ac27d98ed0a45a13775645d77b76e828f95 (diff) | |
download | gitlab-a9924f48800f57fa8036e3ebdf89d1e04b9bf1a1.tar.gz |
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 <mfocko@redhat.com>
-rw-r--r-- | tests/functional/api/test_merge_requests.py | 32 |
1 files changed, 32 insertions, 0 deletions
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 |