Skip to content

Commit 775cd78

Browse files
isaac-philipJohnVillalovos
authored andcommitted
feat(functional): #2547 merge-train api for status and add mr - test data modifications
Signed-off-by: Isaac Philip <4974658+isaac-philip@users.noreply.github.com>
1 parent cb4e015 commit 775cd78

File tree

2 files changed

+14
-9
lines changed

2 files changed

+14
-9
lines changed

gitlab/v4/objects/merge_trains.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from gitlab.base import RESTManager, RESTObject
2-
from gitlab.mixins import GetMixin, ListMixin, UpdateMethod, UpdateMixin
2+
from gitlab.mixins import CRUDMixin, GetMixin, ListMixin, UpdateMethod
33
from gitlab.types import RequiredOptional
44

55
__all__ = [
@@ -14,7 +14,7 @@ class ProjectMergeTrainMergeRequest(RESTObject):
1414
pass
1515

1616

17-
class ProjectMergeTrainMergeRequestManager(GetMixin, UpdateMixin, RESTManager):
17+
class ProjectMergeTrainMergeRequestManager(CRUDMixin, RESTManager):
1818
_path = "/projects/{project_id}/merge_trains/merge_requests"
1919
_obj_cls = ProjectMergeTrainMergeRequest
2020
_from_parent_attrs = {"project_id": "project_id"}

tests/unit/objects/test_merge_trains.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
mr_content = {
1212
"id": 110,
1313
"merge_request": {
14-
"id": 1,
14+
"id": 273,
1515
"iid": 1,
1616
"project_id": 3,
1717
"title": "Test merge train",
@@ -47,7 +47,7 @@
4747
}
4848

4949
merge_train_update = mr_content.copy()
50-
merge_train_update["id"] = 123
50+
merge_train_update["iid"] = 4
5151
merge_train_update["pipeline"]["sha"] = "ef33a3zxc3"
5252

5353

@@ -69,7 +69,7 @@ def resp_merge_trains_merge_request_get():
6969
with responses.RequestsMock() as rsps:
7070
rsps.add(
7171
method=responses.GET,
72-
url="http://localhost/api/v4/projects/1/merge_trains/merge_requests/110",
72+
url="http://localhost/api/v4/projects/1/merge_trains/merge_requests/1",
7373
json=mr_content,
7474
content_type="application/json",
7575
status=200,
@@ -82,7 +82,7 @@ def resp_merge_trains_merge_request_post():
8282
with responses.RequestsMock() as rsps:
8383
rsps.add(
8484
method=responses.POST,
85-
url="http://localhost/api/v4/projects/1/merge_trains/merge_requests/123",
85+
url="http://localhost/api/v4/projects/1/merge_trains/merge_requests/4",
8686
json=[merge_train_update],
8787
content_type="application/json",
8888
status=200,
@@ -96,24 +96,29 @@ def test_list_project_merge_requests(project, resp_list_merge_trains):
9696
assert merge_trains[0].id == mr_content["id"]
9797

9898

99-
def test_merge_trains_status_merge_request_get_status(
99+
def test_merge_trains_status_merge_request(
100100
project, resp_merge_trains_merge_request_get
101101
):
102102
merge_train_mr: ProjectMergeTrainMergeRequest = project.merge_trains.get(
103103
1, lazy=True
104-
).merge_requests.get(110)
104+
).merge_requests.get(1)
105105
assert isinstance(merge_train_mr, ProjectMergeTrainMergeRequest)
106106
assert merge_train_mr.get_id() == 110
107+
assert merge_train_mr.merge_request["iid"] == mr_content["merge_request"]["iid"]
107108
assert merge_train_mr.pipeline.get("status") == mr_content["pipeline"]["status"]
108109

109110

110111
def test_merge_train_add_merge_request(project, resp_merge_trains_merge_request_post):
111112
merge_train: ProjectMergeTrain = project.merge_trains.get(1, lazy=True)
112113
merge_requests_update = merge_train.merge_requests.update(
113-
123, new_data={"sha": "ef33a3zxc3"}
114+
4, new_data={"sha": "ef33a3zxc3"}
114115
)
115116
assert isinstance(merge_train, ProjectMergeTrain)
116117
assert (
117118
merge_requests_update[0]["pipeline"]["sha"]
118119
== merge_train_update["pipeline"]["sha"]
119120
)
121+
assert (
122+
merge_requests_update[0]["merge_request"]["iid"]
123+
== merge_train_update["merge_request"]["iid"]
124+
)

0 commit comments

Comments
 (0)