summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatej Focko <mfocko@redhat.com>2021-07-20 14:53:45 +0200
committerJohn Villalovos <john@sodarock.com>2021-07-21 08:02:57 -0700
commita9924f48800f57fa8036e3ebdf89d1e04b9bf1a1 (patch)
treed2f5ae0457002948433608d31c22a202f4b1341e
parentb30b8ac27d98ed0a45a13775645d77b76e828f95 (diff)
downloadgitlab-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.py32
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