Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commite409638

Browse files
chore: ensure reset_gitlab() succeeds
Ensure reset_gitlab() succeeds by waiting to make sure everything hasbeen deleted as expected. If the timeout is exceeded fail the test.Not using `wait_for_sidekiq` as it didn't work. During testing Ididn't see any sidekiq processes as being busy even though noteverything was deleted.
1 parentd65ce36 commite409638

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

‎tests/functional/conftest.py‎

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@
77
importpytest
88

99
importgitlab
10+
importgitlab.base
11+
12+
SLEEP_INTERVAL=0.1
13+
TIMEOUT=60# seconds before timeout will occur
1014

1115

1216
@pytest.fixture(scope="session")
@@ -30,6 +34,37 @@ def reset_gitlab(gl):
3034
ifuser.username!="root":
3135
user.delete(hard_delete=True)
3236

37+
max_iterations=int(TIMEOUT/SLEEP_INTERVAL)
38+
39+
# Ensure everything has been reset
40+
start_time=time.perf_counter()
41+
42+
defwait_for_list_empty(
43+
rest_manager:gitlab.base.RESTManager,description:str
44+
)->None:
45+
"""Wait for the list() to become empty or fail test if timeout is exceeded"""
46+
for_inrange(max_iterations):
47+
ifrest_manager.list()== []:
48+
break
49+
time.sleep(SLEEP_INTERVAL)
50+
assertrest_manager.list()== [], (
51+
f"Did not delete all{description}. "
52+
f"Elapsed_time:{time.perf_counter()-start_time}"
53+
)
54+
55+
wait_for_list_empty(rest_manager=gl.projects,description="projects")
56+
wait_for_list_empty(rest_manager=gl.groups,description="groups")
57+
wait_for_list_empty(rest_manager=gl.variables,description="variables")
58+
59+
for_inrange(max_iterations):
60+
iflen(gl.users.list())<=1:
61+
break
62+
time.sleep(SLEEP_INTERVAL)
63+
assert [user.usernameforuseringl.users.list()]== ["root"], (
64+
f"Did not delete all users. "
65+
f"elapsed_time:{time.perf_counter()-start_time}"
66+
)
67+
3368

3469
defset_token(container,fixture_dir):
3570
set_token_rb=fixture_dir/"set_token.rb"

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp