Skip to content

Commit 827aa5e

Browse files
author
Andrei Neagu
committed
fixed tests
1 parent ab3f0bd commit 827aa5e

File tree

1 file changed

+29
-9
lines changed

1 file changed

+29
-9
lines changed

services/web/server/tests/unit/with_dbs/02/test_projects_nodes_handler.py

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,23 @@
4646
)
4747
from servicelib.aiohttp import status
4848
from servicelib.common_headers import UNDEFINED_DEFAULT_SIMCORE_USER_AGENT_VALUE
49+
from settings_library.redis import RedisSettings
4950
from simcore_postgres_database.models.projects import projects as projects_db_model
5051
from simcore_service_webserver.db.models import UserRole
5152
from simcore_service_webserver.projects._controller.nodes_rest import (
5253
_ProjectNodePreview,
5354
)
5455
from simcore_service_webserver.projects.models import ProjectDict
56+
from tenacity import (
57+
AsyncRetrying,
58+
retry_if_exception_type,
59+
stop_after_delay,
60+
wait_fixed,
61+
)
62+
63+
pytest_simcore_core_services_selection = [
64+
"redis",
65+
]
5566

5667

5768
@pytest.mark.parametrize(
@@ -916,6 +927,7 @@ async def test_start_node_raises_if_called_with_wrong_data(
916927

917928
@pytest.mark.parametrize(*standard_role_response(), ids=str)
918929
async def test_stop_node(
930+
redis_service: RedisSettings,
919931
client: TestClient,
920932
user_project_with_num_dynamic_services: Callable[[int], Awaitable[ProjectDict]],
921933
user_role: UserRole,
@@ -935,18 +947,26 @@ async def test_stop_node(
935947
project_id=project["uuid"], node_id=choice(all_service_uuids) # noqa: S311
936948
)
937949
response = await client.post(f"{url}")
938-
data, error = await assert_status(
950+
_, error = await assert_status(
939951
response,
940952
status.HTTP_202_ACCEPTED if user_role == UserRole.GUEST else expected.accepted,
941953
)
942-
if error is None:
943-
mocked_dynamic_services_interface[
944-
"dynamic_scheduler.api.stop_dynamic_service"
945-
].assert_called_once()
946-
else:
947-
mocked_dynamic_services_interface[
948-
"dynamic_scheduler.api.stop_dynamic_service"
949-
].assert_not_called()
954+
955+
async for attempt in AsyncRetrying(
956+
wait=wait_fixed(0.1),
957+
stop=stop_after_delay(5),
958+
retry=retry_if_exception_type(AssertionError),
959+
reraise=True,
960+
):
961+
with attempt:
962+
if error is None:
963+
mocked_dynamic_services_interface[
964+
"dynamic_scheduler.api.stop_dynamic_service"
965+
].assert_called_once()
966+
else:
967+
mocked_dynamic_services_interface[
968+
"dynamic_scheduler.api.stop_dynamic_service"
969+
].assert_not_called()
950970

951971

952972
@pytest.fixture

0 commit comments

Comments
 (0)