@@ -33,12 +33,11 @@ def test_merge_requests(project):
33
33
34
34
35
35
def test_merge_requests_get (project , merge_request ):
36
- new_mr = merge_request (source_branch = "test_get" )
37
- mr_iid = new_mr .iid
38
- mr = project .mergerequests .get (mr_iid )
39
- assert mr .iid == mr_iid
40
- mr = project .mergerequests .get (str (mr_iid ))
41
- assert mr .iid == mr_iid
36
+ mr = project .mergerequests .get (merge_request .iid )
37
+ assert mr .iid == merge_request .iid
38
+
39
+ mr = project .mergerequests .get (str (merge_request .iid ))
40
+ assert mr .iid == merge_request .iid
42
41
43
42
44
43
@pytest .mark .gitlab_premium
@@ -54,10 +53,8 @@ def test_merge_requests_list_approver_ids(project):
54
53
55
54
56
55
def test_merge_requests_get_lazy (project , merge_request ):
57
- new_mr = merge_request (source_branch = "test_get" )
58
- mr_iid = new_mr .iid
59
- mr = project .mergerequests .get (mr_iid , lazy = True )
60
- assert mr .iid == mr_iid
56
+ mr = project .mergerequests .get (merge_request .iid , lazy = True )
57
+ assert mr .iid == merge_request .iid
61
58
62
59
63
60
def test_merge_request_discussion (project ):
@@ -181,26 +178,26 @@ def test_merge_request_reset_approvals(gitlab_url, project, wait_for_sidekiq):
181
178
assert mr .reset_approvals ()
182
179
183
180
184
- def test_cancel_merge_when_pipeline_succeeds (project , merge_request , wait_for_sidekiq ):
185
- mr = merge_request (source_branch = "test_merge_request_merge" , create_pipeline = True )
181
+ def test_cancel_merge_when_pipeline_succeeds (
182
+ project , merge_request_with_pipeline , wait_for_sidekiq
183
+ ):
186
184
wait_for_sidekiq (timeout = 60 )
187
185
# Set to merge when the pipeline succeeds, which should never happen
188
- mr .merge (merge_when_pipeline_succeeds = True )
186
+ merge_request_with_pipeline .merge (merge_when_pipeline_succeeds = True )
189
187
wait_for_sidekiq (timeout = 60 )
190
188
191
- mr = project .mergerequests .get (mr .iid )
189
+ mr = project .mergerequests .get (merge_request_with_pipeline .iid )
192
190
assert mr .merged_at is None
193
191
assert mr .merge_when_pipeline_succeeds is True
194
192
cancel = mr .cancel_merge_when_pipeline_succeeds ()
195
193
assert cancel == {"status" : "success" }
196
194
197
195
198
196
def test_merge_request_merge (project , merge_request , wait_for_sidekiq ):
199
- mr = merge_request (source_branch = "test_merge_request_merge" )
200
- mr .merge ()
197
+ merge_request .merge ()
201
198
wait_for_sidekiq (timeout = 60 )
202
199
203
- mr = project .mergerequests .get (mr .iid )
200
+ mr = project .mergerequests .get (merge_request .iid )
204
201
assert mr .merged_at is not None
205
202
assert mr .merge_when_pipeline_succeeds is False
206
203
with pytest .raises (gitlab .GitlabMRClosedError ):
@@ -215,28 +212,26 @@ def test_merge_request_should_remove_source_branch(
215
212
https://github.com/python-gitlab/python-gitlab/issues/1120 is fixed.
216
213
Bug reported that they could not use 'should_remove_source_branch' in
217
214
mr.merge() call"""
218
-
219
- source_branch = "remove_source_branch"
220
- mr = merge_request (source_branch = source_branch )
221
-
222
- mr .merge (should_remove_source_branch = True )
223
-
215
+ merge_request .merge (should_remove_source_branch = True )
224
216
wait_for_sidekiq (timeout = 60 )
225
217
226
218
# Wait until it is merged
227
- mr_iid = mr .iid
219
+ mr = None
220
+ mr_iid = merge_request .iid
228
221
for _ in range (60 ):
229
222
mr = project .mergerequests .get (mr_iid )
230
223
if mr .merged_at is not None :
231
224
break
232
225
time .sleep (0.5 )
226
+
227
+ assert mr is not None
233
228
assert mr .merged_at is not None
234
229
time .sleep (0.5 )
235
230
wait_for_sidekiq (timeout = 60 )
236
231
237
232
# Ensure we can NOT get the MR branch
238
233
with pytest .raises (gitlab .exceptions .GitlabGetError ):
239
- result = project .branches .get (source_branch )
234
+ result = project .branches .get (merge_request . source_branch )
240
235
# Help to debug in case the expected exception doesn't happen.
241
236
import pprint
242
237
@@ -253,51 +248,44 @@ def test_merge_request_large_commit_message(
253
248
Bug reported that very long 'merge_commit_message' in mr.merge() would
254
249
cause an error: 414 Request too large
255
250
"""
256
-
257
- source_branch = "large_commit_message"
258
- mr = merge_request (source_branch = source_branch )
259
-
260
251
merge_commit_message = "large_message\r \n " * 1_000
261
252
assert len (merge_commit_message ) > 10_000
262
253
263
- mr .merge (
254
+ merge_request .merge (
264
255
merge_commit_message = merge_commit_message , should_remove_source_branch = False
265
256
)
266
257
267
258
wait_for_sidekiq (timeout = 60 )
268
259
269
260
# Wait until it is merged
270
- mr_iid = mr .iid
261
+ mr = None
262
+ mr_iid = merge_request .iid
271
263
for _ in range (60 ):
272
264
mr = project .mergerequests .get (mr_iid )
273
265
if mr .merged_at is not None :
274
266
break
275
267
time .sleep (0.5 )
268
+
269
+ assert mr is not None
276
270
assert mr .merged_at is not None
277
271
time .sleep (0.5 )
278
272
279
273
# Ensure we can get the MR branch
280
- project .branches .get (source_branch )
274
+ project .branches .get (merge_request . source_branch )
281
275
282
276
283
277
def test_merge_request_merge_ref (merge_request ) -> None :
284
- source_branch = "merge_ref_test"
285
- mr = merge_request (source_branch = source_branch )
286
-
287
- response = mr .merge_ref ()
278
+ response = merge_request .merge_ref ()
288
279
assert response and "commit_id" in response
289
280
290
281
291
282
def test_merge_request_merge_ref_should_fail (
292
283
project , merge_request , wait_for_sidekiq
293
284
) -> None :
294
- source_branch = "merge_ref_test2"
295
- mr = merge_request (source_branch = source_branch )
296
-
297
285
# Create conflict
298
286
project .files .create (
299
287
{
300
- "file_path" : f"README.{ source_branch } " ,
288
+ "file_path" : f"README.{ merge_request . source_branch } " ,
301
289
"branch" : project .default_branch ,
302
290
"content" : "Different initial content" ,
303
291
"commit_message" : "Another commit in main branch" ,
@@ -307,5 +295,5 @@ def test_merge_request_merge_ref_should_fail(
307
295
308
296
# Check for non-existing merge_ref for MR with conflicts
309
297
with pytest .raises (gitlab .exceptions .GitlabGetError ):
310
- response = mr .merge_ref ()
298
+ response = merge_request .merge_ref ()
311
299
assert "commit_id" not in response
0 commit comments