Skip to content

Commit a9924f4

Browse files
mfockoJohnVillalovos
authored andcommitted
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>
1 parent b30b8ac commit a9924f4

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

tests/functional/api/test_merge_requests.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,3 +163,35 @@ def test_merge_request_large_commit_message(
163163

164164
# Ensure we can get the MR branch
165165
project.branches.get(source_branch)
166+
167+
168+
def test_merge_request_merge_ref(merge_request) -> None:
169+
source_branch = "merge_ref_test"
170+
mr = merge_request(source_branch=source_branch)
171+
172+
response = mr.merge_ref()
173+
assert response and "commit_id" in response
174+
175+
176+
def test_merge_request_merge_ref_should_fail(
177+
project, merge_request, wait_for_sidekiq
178+
) -> None:
179+
source_branch = "merge_ref_test2"
180+
mr = merge_request(source_branch=source_branch)
181+
182+
# Create conflict
183+
project.files.create(
184+
{
185+
"file_path": f"README.{source_branch}",
186+
"branch": project.default_branch,
187+
"content": "Different initial content",
188+
"commit_message": "Another commit in main branch",
189+
}
190+
)
191+
result = wait_for_sidekiq(timeout=60)
192+
assert result is True, "sidekiq process should have terminated but did not"
193+
194+
# Check for non-existing merge_ref for MR with conflicts
195+
with pytest.raises(gitlab.exceptions.GitlabGetError):
196+
response = mr.merge_ref()
197+
assert "commit_id" not in response

0 commit comments

Comments
 (0)