Skip to content

Commit 7ba5f5e

Browse files
committed
Allow empty async resources
SDESK-7497
1 parent 6de5a8a commit 7ba5f5e

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

superdesk/tests/steps.py

+16-2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import os
1313
import io
1414
import time
15+
from typing import Any
1516
import arrow
1617
import celery
1718
import shutil
@@ -494,12 +495,25 @@ def format_items(items):
494495
return ",\n".join(output)
495496

496497

498+
async def delete_entries_for(context, resource: str) -> None:
499+
"""
500+
Attempts to remove all items from the resources MongoDB and/or Elastic.
501+
First tries with async, otherwise it falls back to sync resources.
502+
"""
503+
504+
async_app = context.app.async_app
505+
506+
try:
507+
await async_app.resources.get_resource_service(resource).delete_many({})
508+
except KeyError:
509+
get_resource_service(resource).delete_action()
510+
511+
497512
@given('empty "{resource}"')
498513
@async_run_until_complete
499514
async def step_impl_given_empty(context, resource):
500515
if not is_user_resource(resource):
501-
async with context.app.test_request_context(context.app.config["URL_PREFIX"]):
502-
get_resource_service(resource).delete_action()
516+
await delete_entries_for(context, resource)
503517

504518

505519
@given('"{resource}"')

0 commit comments

Comments
 (0)