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

Commitd684c74

Browse files
chore: fixtures: after delete() wait to verify deleted
In our fixtures that create: - groups - project merge requests - projects - usersThey delete the created objects after use. Now wait to ensure theobjects are deleted before continuing as having unexpected objectsexisting can impact some of our tests.
1 parenta3eafab commitd684c74

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

‎tests/functional/conftest.py‎

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,22 @@ def _wait(timeout=30, step=0.5):
158158
return_wait
159159

160160

161+
defwait_for_deleted(
162+
*,pg_manager:gitlab.base.RESTManager,object_id:int,description:str
163+
)->None:
164+
"""Ensure the object specified can not be retrieved. If object still exists after
165+
timeout period, fail the test"""
166+
max_iterations=int(TIMEOUT/SLEEP_INTERVAL)
167+
168+
for_inrange(max_iterations):
169+
try:
170+
pg_manager.get(object_id)
171+
exceptgitlab.exceptions.GitlabGetError:
172+
return
173+
time.sleep(SLEEP_INTERVAL)
174+
pytest.fail(f"{description}{object_id} was not deleted")
175+
176+
161177
@pytest.fixture(scope="session")
162178
defgitlab_config(check_is_alive,docker_ip,docker_services,temp_dir,fixture_dir):
163179
config_file=temp_dir/"python-gitlab.cfg"
@@ -233,6 +249,7 @@ def group(gl):
233249
"path":f"group-{_id}",
234250
}
235251
group=gl.groups.create(data)
252+
group_id=group.id
236253

237254
yieldgroup
238255

@@ -241,6 +258,8 @@ def group(gl):
241258
exceptgitlab.exceptions.GitlabDeleteErrorase:
242259
print(f"Group already deleted:{e}")
243260

261+
wait_for_deleted(pg_manager=gl.groups,object_id=group_id,description="Group")
262+
244263

245264
@pytest.fixture(scope="module")
246265
defproject(gl):
@@ -249,6 +268,7 @@ def project(gl):
249268
name=f"test-project-{_id}"
250269

251270
project=gl.projects.create(name=name)
271+
project_id=project.id
252272

253273
yieldproject
254274

@@ -257,6 +277,10 @@ def project(gl):
257277
exceptgitlab.exceptions.GitlabDeleteErrorase:
258278
print(f"Project already deleted:{e}")
259279

280+
wait_for_deleted(
281+
pg_manager=gl.projects,object_id=project_id,description="Project"
282+
)
283+
260284

261285
@pytest.fixture(scope="function")
262286
defmerge_request(project,wait_for_sidekiq):
@@ -328,6 +352,18 @@ def _merge_request(*, source_branch: str):
328352
# Ignore if branch was already deleted
329353
pass
330354

355+
formr_iid,source_branchinto_delete:
356+
wait_for_deleted(
357+
pg_manager=project.mergerequests,
358+
object_id=mr_iid,
359+
description="Project mergerequest",
360+
)
361+
wait_for_deleted(
362+
pg_manager=project.branches,
363+
object_id=source_branch,
364+
description="Project branch",
365+
)
366+
331367

332368
@pytest.fixture(scope="module")
333369
defproject_file(project):
@@ -372,6 +408,7 @@ def user(gl):
372408
password="fakepassword"
373409

374410
user=gl.users.create(email=email,username=username,name=name,password=password)
411+
user_id=user.id
375412

376413
yielduser
377414

@@ -380,6 +417,8 @@ def user(gl):
380417
exceptgitlab.exceptions.GitlabDeleteErrorase:
381418
print(f"User already deleted:{e}")
382419

420+
wait_for_deleted(pg_manager=gl.users,object_id=user_id,description="User")
421+
383422

384423
@pytest.fixture(scope="module")
385424
defissue(project):

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp