99
1010import gitlab
1111import gitlab .base
12-
13- SLEEP_INTERVAL = 0.5
14- TIMEOUT = 60 # seconds before timeout will occur
12+ from tests .functional import helpers
1513
1614
1715@pytest .fixture (scope = "session" )
@@ -49,8 +47,6 @@ def reset_gitlab(gl):
4947 logging .info (f"Marking for deletion user: { user .username !r} " )
5048 user .delete (hard_delete = True )
5149
52- max_iterations = int (TIMEOUT / SLEEP_INTERVAL )
53-
5450 # Ensure everything has been reset
5551 start_time = time .perf_counter ()
5652
@@ -60,15 +56,15 @@ def wait_for_list_size(
6056 """Wait for the list() length to be no greater than expected maximum or fail
6157 test if timeout is exceeded"""
6258 logging .info (f"Checking { description !r} has no more than { max_length } items" )
63- for count in range (max_iterations ):
59+ for count in range (helpers . MAX_ITERATIONS ):
6460 items = rest_manager .list ()
6561 if len (items ) <= max_length :
6662 break
6763 logging .info (
6864 f"Iteration: { count } Waiting for { description !r} items to be deleted: "
6965 f"{ [x .name for x in items ]} "
7066 )
71- time .sleep (SLEEP_INTERVAL )
67+ time .sleep (helpers . SLEEP_INTERVAL )
7268
7369 elapsed_time = time .perf_counter () - start_time
7470 error_message = (
@@ -280,10 +276,7 @@ def group(gl):
280276
281277 yield group
282278
283- try :
284- group .delete ()
285- except gitlab .exceptions .GitlabDeleteError as e :
286- print (f"Group already deleted: { e } " )
279+ helpers .safe_delete (group )
287280
288281
289282@pytest .fixture (scope = "module" )
@@ -296,10 +289,7 @@ def project(gl):
296289
297290 yield project
298291
299- try :
300- project .delete ()
301- except gitlab .exceptions .GitlabDeleteError as e :
302- print (f"Project already deleted: { e } " )
292+ helpers .safe_delete (project )
303293
304294
305295@pytest .fixture (scope = "function" )
@@ -327,7 +317,7 @@ def _merge_request(*, source_branch: str):
327317 assert result is True , "sidekiq process should have terminated but did not"
328318
329319 project .refresh () # Gets us the current default branch
330- project .branches .create (
320+ mr_branch = project .branches .create (
331321 {"branch" : source_branch , "ref" : project .default_branch }
332322 )
333323 # NOTE(jlvillal): Must create a commit in the new branch before we can
@@ -359,18 +349,13 @@ def _merge_request(*, source_branch: str):
359349 time .sleep (0.5 )
360350 assert mr .merge_status != "checking"
361351
362- to_delete .append (( mr . iid , source_branch ) )
352+ to_delete .extend ([ mr , mr_branch ] )
363353 return mr
364354
365355 yield _merge_request
366356
367- for mr_iid , source_branch in to_delete :
368- project .mergerequests .delete (mr_iid )
369- try :
370- project .branches .delete (source_branch )
371- except gitlab .exceptions .GitlabDeleteError :
372- # Ignore if branch was already deleted
373- pass
357+ for object in to_delete :
358+ helpers .safe_delete (object )
374359
375360
376361@pytest .fixture (scope = "module" )
@@ -434,11 +419,8 @@ def user(gl):
434419
435420 yield user
436421
437- try :
438- # Use `hard_delete=True` or a 'Ghost User' may be created.
439- user .delete (hard_delete = True )
440- except gitlab .exceptions .GitlabDeleteError as e :
441- print (f"User already deleted: { e } " )
422+ # Use `hard_delete=True` or a 'Ghost User' may be created.
423+ helpers .safe_delete (user , hard_delete = True )
442424
443425
444426@pytest .fixture (scope = "module" )
0 commit comments