2424
2525
2626@pytest .fixture
27- def resp_snippet ():
28- merge_request_content = [
29- {
30- "id" : 1 ,
31- "iid" : 1 ,
32- "project_id" : 1 ,
33- "title" : "test1" ,
34- "description" : "fixed login page css paddings" ,
35- "state" : "merged" ,
36- "merged_by" : {
37- "id" : 87854 ,
38- "name" : "Douwe Maan" ,
39- "username" : "DouweM" ,
40- "state" : "active" ,
41- "avatar_url" : "https://gitlab.example.com/uploads/-/system/user/avatar/87854/avatar.png" ,
42- "web_url" : "https://gitlab.com/DouweM" ,
43- },
44- "merged_at" : "2018-09-07T11:16:17.520Z" ,
45- "closed_by" : None ,
46- "closed_at" : None ,
47- "created_at" : "2017-04-29T08:46:00Z" ,
48- "updated_at" : "2017-04-29T08:46:00Z" ,
49- "target_branch" : "main" ,
50- "source_branch" : "test1" ,
51- "upvotes" : 0 ,
52- "downvotes" : 0 ,
53- "author" : {
54- "id" : 1 ,
55- "name" : "Administrator" ,
56- "username" : "admin" ,
57- "state" : "active" ,
58- "avatar_url" : None ,
59- "web_url" : "https://gitlab.example.com/admin" ,
60- },
61- "assignee" : {
62- "id" : 1 ,
63- "name" : "Administrator" ,
64- "username" : "admin" ,
65- "state" : "active" ,
66- "avatar_url" : None ,
67- "web_url" : "https://gitlab.example.com/admin" ,
68- },
69- "assignees" : [
70- {
71- "name" : "Miss Monserrate Beier" ,
72- "username" : "axel.block" ,
73- "id" : 12 ,
74- "state" : "active" ,
75- "avatar_url" : "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon" ,
76- "web_url" : "https://gitlab.example.com/axel.block" ,
77- }
78- ],
79- "source_project_id" : 2 ,
80- "target_project_id" : 3 ,
81- "labels" : ["Community contribution" , "Manage" ],
82- "work_in_progress" : None ,
83- "milestone" : {
84- "id" : 5 ,
85- "iid" : 1 ,
86- "project_id" : 3 ,
87- "title" : "v2.0" ,
88- "description" : "Assumenda aut placeat expedita exercitationem labore sunt enim earum." ,
89- "state" : "closed" ,
90- "created_at" : "2015-02-02T19:49:26.013Z" ,
91- "updated_at" : "2015-02-02T19:49:26.013Z" ,
92- "due_date" : "2018-09-22" ,
93- "start_date" : "2018-08-08" ,
94- "web_url" : "https://gitlab.example.com/my-group/my-project/milestones/1" ,
95- },
96- "merge_when_pipeline_succeeds" : None ,
97- "merge_status" : "can_be_merged" ,
98- "sha" : "8888888888888888888888888888888888888888" ,
99- "merge_commit_sha" : None ,
100- "squash_commit_sha" : None ,
101- "user_notes_count" : 1 ,
102- "discussion_locked" : None ,
103- "should_remove_source_branch" : True ,
104- "force_remove_source_branch" : False ,
105- "allow_collaboration" : False ,
106- "allow_maintainer_to_push" : False ,
107- "web_url" : "http://gitlab.example.com/my-group/my-project/merge_requests/1" ,
108- "references" : {
109- "short" : "!1" ,
110- "relative" : "my-group/my-project!1" ,
111- "full" : "my-group/my-project!1" ,
112- },
113- "time_stats" : {
114- "time_estimate" : 0 ,
115- "total_time_spent" : 0 ,
116- "human_time_estimate" : None ,
117- "human_total_time_spent" : None ,
118- },
119- "squash" : False ,
120- "task_completion_status" : {"count" : 0 , "completed_count" : 0 },
121- }
122- ]
27+ def resp_mr_approval_rules ():
12328 mr_ars_content = [
12429 {
12530 "id" : approval_rule_id ,
@@ -188,20 +93,6 @@ def resp_snippet():
18893 }
18994
19095 with responses .RequestsMock (assert_all_requests_are_fired = False ) as rsps :
191- rsps .add (
192- method = responses .GET ,
193- url = "http://localhost/api/v4/projects/1/merge_requests" ,
194- json = merge_request_content ,
195- content_type = "application/json" ,
196- status = 200 ,
197- )
198- rsps .add (
199- method = responses .GET ,
200- url = "http://localhost/api/v4/projects/1/merge_requests/1" ,
201- json = merge_request_content [0 ],
202- content_type = "application/json" ,
203- status = 200 ,
204- )
20596 rsps .add (
20697 method = responses .GET ,
20798 url = "http://localhost/api/v4/projects/1/merge_requests/1/approval_rules" ,
@@ -248,7 +139,7 @@ def resp_snippet():
248139 yield rsps
249140
250141
251- def test_project_approval_manager_update_uses_post (project , resp_snippet ):
142+ def test_project_approval_manager_update_uses_post (project ):
252143 """Ensure the
253144 gitlab.v4.objects.merge_request_approvals.ProjectApprovalManager object has
254145 _update_uses_post set to True"""
@@ -259,15 +150,15 @@ def test_project_approval_manager_update_uses_post(project, resp_snippet):
259150 assert approvals ._update_uses_post is True
260151
261152
262- def test_list_merge_request_approval_rules (project , resp_snippet ):
263- approval_rules = project .mergerequests .get (1 ).approval_rules .list ()
153+ def test_list_merge_request_approval_rules (project , resp_mr_approval_rules ):
154+ approval_rules = project .mergerequests .get (1 , lazy = True ).approval_rules .list ()
264155 assert len (approval_rules ) == 1
265156 assert approval_rules [0 ].name == approval_rule_name
266157 assert approval_rules [0 ].id == approval_rule_id
267158
268159
269- def test_update_merge_request_approvals_set_approvers (project , resp_snippet ):
270- approvals = project .mergerequests .get (1 ).approvals
160+ def test_update_merge_request_approvals_set_approvers (project , resp_mr_approval_rules ):
161+ approvals = project .mergerequests .get (1 , lazy = True ).approvals
271162 assert isinstance (
272163 approvals ,
273164 gitlab .v4 .objects .merge_request_approvals .ProjectMergeRequestApprovalManager ,
@@ -286,8 +177,8 @@ def test_update_merge_request_approvals_set_approvers(project, resp_snippet):
286177 assert response .name == approval_rule_name
287178
288179
289- def test_create_merge_request_approvals_set_approvers (project , resp_snippet ):
290- approvals = project .mergerequests .get (1 ).approvals
180+ def test_create_merge_request_approvals_set_approvers (project , resp_mr_approval_rules ):
181+ approvals = project .mergerequests .get (1 , lazy = True ).approvals
291182 assert isinstance (
292183 approvals ,
293184 gitlab .v4 .objects .merge_request_approvals .ProjectMergeRequestApprovalManager ,
@@ -305,8 +196,8 @@ def test_create_merge_request_approvals_set_approvers(project, resp_snippet):
305196 assert response .name == new_approval_rule_name
306197
307198
308- def test_create_merge_request_approval_rule (project , resp_snippet ):
309- approval_rules = project .mergerequests .get (1 ).approval_rules
199+ def test_create_merge_request_approval_rule (project , resp_mr_approval_rules ):
200+ approval_rules = project .mergerequests .get (1 , lazy = True ).approval_rules
310201 data = {
311202 "name" : new_approval_rule_name ,
312203 "approvals_required" : new_approval_rule_approvals_required ,
@@ -321,8 +212,8 @@ def test_create_merge_request_approval_rule(project, resp_snippet):
321212 assert response .name == new_approval_rule_name
322213
323214
324- def test_update_merge_request_approval_rule (project , resp_snippet ):
325- approval_rules = project .mergerequests .get (1 ).approval_rules
215+ def test_update_merge_request_approval_rule (project , resp_mr_approval_rules ):
216+ approval_rules = project .mergerequests .get (1 , lazy = True ).approval_rules
326217 ar_1 = approval_rules .list ()[0 ]
327218 ar_1 .user_ids = updated_approval_rule_user_ids
328219 ar_1 .approvals_required = updated_approval_rule_approvals_required
@@ -333,8 +224,8 @@ def test_update_merge_request_approval_rule(project, resp_snippet):
333224 assert ar_1 .eligible_approvers [0 ]["id" ] == updated_approval_rule_user_ids [0 ]
334225
335226
336- def test_get_merge_request_approval_state (project , resp_snippet ):
337- merge_request = project .mergerequests .get (1 )
227+ def test_get_merge_request_approval_state (project , resp_mr_approval_rules ):
228+ merge_request = project .mergerequests .get (1 , lazy = True )
338229 approval_state = merge_request .approval_state .get ()
339230 assert isinstance (
340231 approval_state ,
0 commit comments