diff options
| author | Nejc Habjan <hab.nejc@gmail.com> | 2021-05-26 00:24:46 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-26 00:24:46 +0200 |
| commit | 9beff0d484b5fe86e2cd31f20cf00a309e09cf75 (patch) | |
| tree | 597774dbef6ef63f9078720c6e96bde49d3adfa0 /tools/functional/api | |
| parent | 184b94bbe8da5595b06d187e30041e3331b6db8b (diff) | |
| parent | 8be2838a9ee3e2440d066e2c4b77cb9b55fc3da2 (diff) | |
| download | gitlab-9beff0d484b5fe86e2cd31f20cf00a309e09cf75.tar.gz | |
Merge pull request #1465 from JohnVillalovos/jlvillal/fix_1452_query_parameters
Switch mr.merge() to use post_data (was using query_data)
Diffstat (limited to 'tools/functional/api')
| -rw-r--r-- | tools/functional/api/test_merge_requests.py | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/tools/functional/api/test_merge_requests.py b/tools/functional/api/test_merge_requests.py index c5de5eb..e768234 100644 --- a/tools/functional/api/test_merge_requests.py +++ b/tools/functional/api/test_merge_requests.py @@ -1,6 +1,9 @@ +import time + import pytest import gitlab +import gitlab.v4.objects def test_merge_requests(project): @@ -95,3 +98,68 @@ def test_merge_request_merge(project): with pytest.raises(gitlab.GitlabMRClosedError): # Two merge attempts should raise GitlabMRClosedError mr.merge() + + +def test_merge_request_should_remove_source_branch( + project, merge_request, wait_for_sidekiq +) -> None: + """Test to ensure + https://github.com/python-gitlab/python-gitlab/issues/1120 is fixed. + Bug reported that they could not use 'should_remove_source_branch' in + mr.merge() call""" + + source_branch = "remove_source_branch" + mr = merge_request(source_branch=source_branch) + + mr.merge(should_remove_source_branch=True) + + result = wait_for_sidekiq(timeout=60) + assert result is True, "sidekiq process should have terminated but did not" + + # Wait until it is merged + mr_iid = mr.iid + for _ in range(60): + mr = project.mergerequests.get(mr_iid) + if mr.merged_at is not None: + break + time.sleep(0.5) + assert mr.merged_at is not None + time.sleep(0.5) + + # Ensure we can NOT get the MR branch + with pytest.raises(gitlab.exceptions.GitlabGetError): + project.branches.get(source_branch) + + +def test_merge_request_large_commit_message( + project, merge_request, wait_for_sidekiq +) -> None: + """Test to ensure https://github.com/python-gitlab/python-gitlab/issues/1452 + is fixed. + Bug reported that very long 'merge_commit_message' in mr.merge() would + cause an error: 414 Request too large + """ + + source_branch = "large_commit_message" + mr = merge_request(source_branch=source_branch) + + merge_commit_message = "large_message\r\n" * 1_000 + assert len(merge_commit_message) > 10_000 + + mr.merge(merge_commit_message=merge_commit_message) + + result = wait_for_sidekiq(timeout=60) + assert result is True, "sidekiq process should have terminated but did not" + + # Wait until it is merged + mr_iid = mr.iid + for _ in range(60): + mr = project.mergerequests.get(mr_iid) + if mr.merged_at is not None: + break + time.sleep(0.5) + assert mr.merged_at is not None + time.sleep(0.5) + + # Ensure we can get the MR branch + project.branches.get(source_branch) |
