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,7 +47,7 @@ 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 )
50+ max_iterations = int (helpers . TIMEOUT / helpers . SLEEP_INTERVAL )
5351
5452 # Ensure everything has been reset
5553 start_time = time .perf_counter ()
@@ -68,7 +66,7 @@ def wait_for_list_size(
6866 f"Iteration: { count } Waiting for { description !r} items to be deleted: "
6967 f"{ [x .name for x in items ]} "
7068 )
71- time .sleep (SLEEP_INTERVAL )
69+ time .sleep (helpers . SLEEP_INTERVAL )
7270
7371 elapsed_time = time .perf_counter () - start_time
7472 error_message = (
@@ -277,13 +275,11 @@ def group(gl):
277275 "path" : f"group-{ _id } " ,
278276 }
279277 group = gl .groups .create (data )
278+ group_id = group .id
280279
281280 yield group
282281
283- try :
284- group .delete ()
285- except gitlab .exceptions .GitlabDeleteError as e :
286- print (f"Group already deleted: { e } " )
282+ helpers .safe_delete (manager = gl .groups , object_id = group_id , description = "Group" )
287283
288284
289285@pytest .fixture (scope = "module" )
@@ -296,10 +292,9 @@ def project(gl):
296292
297293 yield project
298294
299- try :
300- project .delete ()
301- except gitlab .exceptions .GitlabDeleteError as e :
302- print (f"Project already deleted: { e } " )
295+ helpers .safe_delete (
296+ manager = gl .projects , object_id = project .id , description = "Project"
297+ )
303298
304299
305300@pytest .fixture (scope = "function" )
@@ -365,12 +360,16 @@ def _merge_request(*, source_branch: str):
365360 yield _merge_request
366361
367362 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
363+ helpers .safe_delete (
364+ manager = project .mergerequests ,
365+ object_id = mr_iid ,
366+ description = "Project mergerequest" ,
367+ )
368+ helpers .safe_delete (
369+ manager = project .branches ,
370+ object_id = source_branch ,
371+ description = "Project branch" ,
372+ )
374373
375374
376375@pytest .fixture (scope = "module" )
@@ -431,14 +430,14 @@ def user(gl):
431430 password = "fakepassword"
432431
433432 user = gl .users .create (email = email , username = username , name = name , password = password )
433+ user_id = user .id
434434
435435 yield user
436436
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 } " )
437+ # Use `hard_delete=True` or a 'Ghost User' may be created.
438+ helpers .safe_delete (
439+ manager = gl .users , object_id = user_id , description = "User" , hard_delete = True
440+ )
442441
443442
444443@pytest .fixture (scope = "module" )
0 commit comments