summaryrefslogtreecommitdiff
path: root/tests/unit/objects
diff options
context:
space:
mode:
authorLudwig Weiss <ludwig.weiss@umusic.com>2020-05-14 10:35:49 +0200
committerJohn Villalovos <john@sodarock.com>2021-05-30 15:03:12 -0700
commitfbbc0d400015d7366952a66e4401215adff709f0 (patch)
tree3064ccdda9265b9388ab9af0c770c3c7d7a47332 /tests/unit/objects
parent149953dc32c28fe413c9f3a0066575caeab12bc8 (diff)
downloadgitlab-fbbc0d400015d7366952a66e4401215adff709f0.tar.gz
feat(api): add deployment mergerequests interface
Diffstat (limited to 'tests/unit/objects')
-rw-r--r--tests/unit/objects/test_merge_requests.py56
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"]