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" )
@@ -293,13 +289,13 @@ def project(gl):
293289 name = f"test-project-{ _id } "
294290
295291 project = gl .projects .create (name = name )
292+ project_id = project .id
296293
297294 yield project
298295
299- try :
300- project .delete ()
301- except gitlab .exceptions .GitlabDeleteError as e :
302- print (f"Project already deleted: { e } " )
296+ helpers .safe_delete (
297+ manager = gl .projects , object_id = project_id , description = "Project"
298+ )
303299
304300
305301@pytest .fixture (scope = "function" )
@@ -365,12 +361,16 @@ def _merge_request(*, source_branch: str):
365361 yield _merge_request
366362
367363 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
364+ helpers .safe_delete (
365+ manager = project .mergerequests ,
366+ object_id = mr_iid ,
367+ description = "Project mergerequest" ,
368+ )
369+ helpers .safe_delete (
370+ manager = project .branches ,
371+ object_id = source_branch ,
372+ description = "Project branch" ,
373+ )
374374
375375
376376@pytest .fixture (scope = "module" )
@@ -431,14 +431,14 @@ def user(gl):
431431 password = "fakepassword"
432432
433433 user = gl .users .create (email = email , username = username , name = name , password = password )
434+ user_id = user .id
434435
435436 yield user
436437
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 } " )
438+ # Use `hard_delete=True` or a 'Ghost User' may be created.
439+ helpers .safe_delete (
440+ manager = gl .users , object_id = user_id , description = "User" , hard_delete = True
441+ )
442442
443443
444444@pytest .fixture (scope = "module" )
0 commit comments