24
24
25
25
26
26
@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 ():
123
28
mr_ars_content = [
124
29
{
125
30
"id" : approval_rule_id ,
@@ -188,20 +93,6 @@ def resp_snippet():
188
93
}
189
94
190
95
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
- )
205
96
rsps .add (
206
97
method = responses .GET ,
207
98
url = "http://localhost/api/v4/projects/1/merge_requests/1/approval_rules" ,
@@ -248,7 +139,7 @@ def resp_snippet():
248
139
yield rsps
249
140
250
141
251
- def test_project_approval_manager_update_uses_post (project , resp_snippet ):
142
+ def test_project_approval_manager_update_uses_post (project ):
252
143
"""Ensure the
253
144
gitlab.v4.objects.merge_request_approvals.ProjectApprovalManager object has
254
145
_update_uses_post set to True"""
@@ -259,15 +150,15 @@ def test_project_approval_manager_update_uses_post(project, resp_snippet):
259
150
assert approvals ._update_uses_post is True
260
151
261
152
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 ()
264
155
assert len (approval_rules ) == 1
265
156
assert approval_rules [0 ].name == approval_rule_name
266
157
assert approval_rules [0 ].id == approval_rule_id
267
158
268
159
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
271
162
assert isinstance (
272
163
approvals ,
273
164
gitlab .v4 .objects .merge_request_approvals .ProjectMergeRequestApprovalManager ,
@@ -286,8 +177,8 @@ def test_update_merge_request_approvals_set_approvers(project, resp_snippet):
286
177
assert response .name == approval_rule_name
287
178
288
179
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
291
182
assert isinstance (
292
183
approvals ,
293
184
gitlab .v4 .objects .merge_request_approvals .ProjectMergeRequestApprovalManager ,
@@ -305,8 +196,8 @@ def test_create_merge_request_approvals_set_approvers(project, resp_snippet):
305
196
assert response .name == new_approval_rule_name
306
197
307
198
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
310
201
data = {
311
202
"name" : new_approval_rule_name ,
312
203
"approvals_required" : new_approval_rule_approvals_required ,
@@ -321,8 +212,8 @@ def test_create_merge_request_approval_rule(project, resp_snippet):
321
212
assert response .name == new_approval_rule_name
322
213
323
214
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
326
217
ar_1 = approval_rules .list ()[0 ]
327
218
ar_1 .user_ids = updated_approval_rule_user_ids
328
219
ar_1 .approvals_required = updated_approval_rule_approvals_required
@@ -333,8 +224,8 @@ def test_update_merge_request_approval_rule(project, resp_snippet):
333
224
assert ar_1 .eligible_approvers [0 ]["id" ] == updated_approval_rule_user_ids [0 ]
334
225
335
226
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 )
338
229
approval_state = merge_request .approval_state .get ()
339
230
assert isinstance (
340
231
approval_state ,
0 commit comments