summaryrefslogtreecommitdiff
path: root/tests/unit/objects
diff options
context:
space:
mode:
authorNejc Habjan <hab.nejc@gmail.com>2021-11-01 19:58:08 +0100
committerGitHub <noreply@github.com>2021-11-01 19:58:08 +0100
commited88bcea09c337fe9ede822ea88e7770a9c6ade0 (patch)
tree7595e860b397c88df86d2759f7a2fd6d51be9a9a /tests/unit/objects
parentc7fdad42f68927d79e0d1963ade3324370b9d0e2 (diff)
parentfd73a738b429be0a2642d5b777d5e56a4c928787 (diff)
downloadgitlab-ed88bcea09c337fe9ede822ea88e7770a9c6ade0.tar.gz
Merge pull request #1646 from JacobHenner/add-merge-trains
feat(api): add merge trains
Diffstat (limited to 'tests/unit/objects')
-rw-r--r--tests/unit/objects/test_merge_trains.py65
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/unit/objects/test_merge_trains.py b/tests/unit/objects/test_merge_trains.py
new file mode 100644
index 0000000..a45718e
--- /dev/null
+++ b/tests/unit/objects/test_merge_trains.py
@@ -0,0 +1,65 @@
+"""
+GitLab API:
+https://docs.gitlab.com/ee/api/merge_trains.html
+"""
+import pytest
+import responses
+
+from gitlab.v4.objects import ProjectMergeTrain
+
+mr_content = {
+ "id": 110,
+ "merge_request": {
+ "id": 1,
+ "iid": 1,
+ "project_id": 3,
+ "title": "Test merge train",
+ "description": "",
+ "state": "merged",
+ "created_at": "2020-02-06T08:39:14.883Z",
+ "updated_at": "2020-02-06T08:40:57.038Z",
+ "web_url": "http://gitlab.example.com/root/merge-train-race-condition/-/merge_requests/1",
+ },
+ "user": {
+ "id": 1,
+ "name": "Administrator",
+ "username": "root",
+ "state": "active",
+ "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
+ "web_url": "http://gitlab.example.com/root",
+ },
+ "pipeline": {
+ "id": 246,
+ "sha": "bcc17a8ffd51be1afe45605e714085df28b80b13",
+ "ref": "refs/merge-requests/1/train",
+ "status": "success",
+ "created_at": "2020-02-06T08:40:42.410Z",
+ "updated_at": "2020-02-06T08:40:46.912Z",
+ "web_url": "http://gitlab.example.com/root/merge-train-race-condition/pipelines/246",
+ },
+ "created_at": "2020-02-06T08:39:47.217Z",
+ "updated_at": "2020-02-06T08:40:57.720Z",
+ "target_branch": "feature-1580973432",
+ "status": "merged",
+ "merged_at": "2020-02-06T08:40:57.719Z",
+ "duration": 70,
+}
+
+
+@pytest.fixture
+def resp_list_merge_trains():
+ with responses.RequestsMock() as rsps:
+ rsps.add(
+ method=responses.GET,
+ url="http://localhost/api/v4/projects/1/merge_trains",
+ json=[mr_content],
+ content_type="application/json",
+ status=200,
+ )
+ yield rsps
+
+
+def test_list_project_merge_requests(project, resp_list_merge_trains):
+ merge_trains = project.merge_trains.list()
+ assert isinstance(merge_trains[0], ProjectMergeTrain)
+ assert merge_trains[0].id == mr_content["id"]