diff options
| author | Ludwig Weiss <ludwig.weiss@umusic.com> | 2020-05-14 10:35:49 +0200 |
|---|---|---|
| committer | John Villalovos <john@sodarock.com> | 2021-05-30 15:03:12 -0700 |
| commit | fbbc0d400015d7366952a66e4401215adff709f0 (patch) | |
| tree | 3064ccdda9265b9388ab9af0c770c3c7d7a47332 /tests/unit/objects | |
| parent | 149953dc32c28fe413c9f3a0066575caeab12bc8 (diff) | |
| download | gitlab-fbbc0d400015d7366952a66e4401215adff709f0.tar.gz | |
feat(api): add deployment mergerequests interface
Diffstat (limited to 'tests/unit/objects')
| -rw-r--r-- | tests/unit/objects/test_merge_requests.py | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/tests/unit/objects/test_merge_requests.py b/tests/unit/objects/test_merge_requests.py new file mode 100644 index 0000000..ee11f8a --- /dev/null +++ b/tests/unit/objects/test_merge_requests.py @@ -0,0 +1,56 @@ +""" +GitLab API: +https://docs.gitlab.com/ce/api/merge_requests.html +https://docs.gitlab.com/ee/api/deployments.html#list-of-merge-requests-associated-with-a-deployment +""" +import re + +import pytest +import responses + +from gitlab.v4.objects import ProjectDeploymentMergeRequest, ProjectMergeRequest + +mr_content = { + "id": 1, + "iid": 1, + "project_id": 3, + "title": "test1", + "description": "fixed login page css paddings", + "state": "merged", + "merged_by": { + "id": 87854, + "name": "Douwe Maan", + "username": "DouweM", + "state": "active", + "avatar_url": "https://gitlab.example.com/uploads/-/system/user/avatar/87854/avatar.png", + "web_url": "https://gitlab.com/DouweM", + }, +} + + +@pytest.fixture +def resp_list_merge_requests(): + with responses.RequestsMock() as rsps: + rsps.add( + method=responses.GET, + url=re.compile( + r"http://localhost/api/v4/projects/1/(deployments/1/)?merge_requests" + ), + json=[mr_content], + content_type="application/json", + status=200, + ) + yield rsps + + +def test_list_project_merge_requests(project, resp_list_merge_requests): + mrs = project.mergerequests.list() + assert isinstance(mrs[0], ProjectMergeRequest) + assert mrs[0].iid == mr_content["iid"] + + +def test_list_deployment_merge_requests(project, resp_list_merge_requests): + deployment = project.deployments.get(1, lazy=True) + mrs = deployment.mergerequests.list() + assert isinstance(mrs[0], ProjectDeploymentMergeRequest) + assert mrs[0].iid == mr_content["iid"] |
