Skip to content

Commit 9409199

Browse files
author
Andrei Neagu
committed
refactoed fixture
1 parent 093592f commit 9409199

File tree

6 files changed

+22
-42
lines changed

6 files changed

+22
-42
lines changed

packages/pytest-simcore/src/pytest_simcore/redis_service.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,5 +126,6 @@ def mock_redis_socket_timeout(mocker: MockerFixture) -> None:
126126

127127

128128
@pytest.fixture
129-
async def use_in_memory_redis(mocker: MockerFixture) -> None:
129+
async def use_in_memory_redis(mocker: MockerFixture) -> RedisSettings:
130130
mocker.patch.object(_client, "aioredis", FakeAsyncRedis)
131+
return RedisSettings()

packages/service-library/tests/long_running_tasks/test_long_running_tasks_task.py

Lines changed: 11 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66

77
import asyncio
88
import urllib.parse
9-
from collections.abc import AsyncIterator, Callable
10-
from contextlib import AbstractAsyncContextManager, asynccontextmanager
9+
from collections.abc import AsyncIterator
10+
from contextlib import asynccontextmanager
1111
from datetime import datetime, timedelta
1212
from typing import Any, Final
1313

@@ -24,22 +24,13 @@
2424
)
2525
from servicelib.long_running_tasks.models import TaskContext, TaskProgress, TaskStatus
2626
from servicelib.long_running_tasks.task import TaskRegistry, TasksManager
27-
from servicelib.redis._client import RedisClientSDK
28-
from settings_library.redis import RedisDatabase, RedisSettings
27+
from settings_library.redis import RedisSettings
2928
from tenacity import TryAgain
3029
from tenacity.asyncio import AsyncRetrying
3130
from tenacity.retry import retry_if_exception_type
3231
from tenacity.stop import stop_after_delay
3332
from tenacity.wait import wait_fixed
3433

35-
pytest_simcore_core_services_selection = [
36-
"redis",
37-
]
38-
pytest_simcore_ops_services_selection = [
39-
"redis-commander",
40-
]
41-
42-
4334
_RETRY_PARAMS: dict[str, Any] = {
4435
"reraise": True,
4536
"wait": wait_fixed(0.1),
@@ -89,35 +80,26 @@ def empty_context() -> TaskContext:
8980

9081
@asynccontextmanager
9182
async def get_tasks_manager(
92-
redis_service: RedisSettings,
93-
get_redis_client_sdk: Callable[
94-
[RedisDatabase], AbstractAsyncContextManager[RedisClientSDK]
95-
],
83+
redis_settings: RedisSettings,
9684
) -> AsyncIterator[TasksManager]:
9785
tasks_manager = TasksManager(
9886
stale_task_check_interval=timedelta(seconds=TEST_CHECK_STALE_INTERVAL_S),
9987
stale_task_detect_timeout=timedelta(seconds=TEST_CHECK_STALE_INTERVAL_S),
100-
redis_settings=redis_service,
88+
redis_settings=redis_settings,
10189
namespace="test",
10290
)
10391
await tasks_manager.setup()
10492

10593
yield tasks_manager
10694

10795
await tasks_manager.teardown()
108-
# triggers cleanup of all redis data
109-
async with get_redis_client_sdk(RedisDatabase.LONG_RUNNING_TASKS):
110-
pass
11196

11297

11398
@pytest.fixture
11499
async def tasks_manager(
115-
redis_service: RedisSettings,
116-
get_redis_client_sdk: Callable[
117-
[RedisDatabase], AbstractAsyncContextManager[RedisClientSDK]
118-
],
100+
use_in_memory_redis: RedisSettings,
119101
) -> AsyncIterator[TasksManager]:
120-
async with get_tasks_manager(redis_service, get_redis_client_sdk) as manager:
102+
async with get_tasks_manager(use_in_memory_redis) as manager:
121103
yield manager
122104

123105

@@ -371,19 +353,12 @@ async def test_get_result_task_was_cancelled_multiple_times(
371353

372354

373355
async def test_cancel_task_from_different_manager(
374-
redis_service: RedisSettings,
375-
get_redis_client_sdk: Callable[
376-
[RedisDatabase], AbstractAsyncContextManager[RedisClientSDK]
377-
],
356+
use_in_memory_redis: RedisSettings,
378357
empty_context: TaskContext,
379358
):
380-
async with get_tasks_manager(
381-
redis_service, get_redis_client_sdk
382-
) as manager_1, get_tasks_manager(
383-
redis_service, get_redis_client_sdk
384-
) as manager_2, get_tasks_manager(
385-
redis_service, get_redis_client_sdk
386-
) as manager_3:
359+
async with get_tasks_manager(use_in_memory_redis) as manager_1, get_tasks_manager(
360+
use_in_memory_redis
361+
) as manager_2, get_tasks_manager(use_in_memory_redis) as manager_3:
387362
task_id = await lrt_api.start_task(
388363
manager_1,
389364
a_background_task.__name__,

services/director-v2/tests/unit/test_api_route_dynamic_scheduler.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from models_library.service_settings_labels import SimcoreServiceLabels
1616
from pytest_mock.plugin import MockerFixture
1717
from pytest_simcore.helpers.typing_env import EnvVarsDict
18+
from settings_library.redis import RedisSettings
1819
from simcore_service_director_v2.models.dynamic_services_scheduler import SchedulerData
1920
from simcore_service_director_v2.modules.dynamic_sidecar.errors import (
2021
DynamicSidecarNotFoundError,
@@ -27,7 +28,7 @@
2728

2829
@pytest.fixture
2930
def mock_env(
30-
use_in_memory_redis: None,
31+
use_in_memory_redis: RedisSettings,
3132
mock_exclusive: None,
3233
disable_rabbitmq: None,
3334
disable_postgres: None,

services/director-v2/tests/unit/test_modules_dynamic_sidecar_scheduler.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
from pytest_mock.plugin import MockerFixture
2424
from pytest_simcore.helpers.typing_env import EnvVarsDict
2525
from respx.router import MockRouter
26+
from settings_library.redis import RedisSettings
2627
from simcore_service_director_v2.models.dynamic_services_scheduler import (
2728
DockerContainerInspect,
2829
DynamicSidecarStatus,
@@ -124,7 +125,7 @@ async def _assert_get_dynamic_services_mocked(
124125

125126
@pytest.fixture
126127
def mock_env(
127-
use_in_memory_redis: None,
128+
use_in_memory_redis: RedisSettings,
128129
mock_exclusive: None,
129130
disable_postgres: None,
130131
disable_rabbitmq: None,

services/director-v2/tests/unit/test_modules_dynamic_sidecar_scheduler_task.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
from pytest_simcore.helpers.monkeypatch_envs import setenvs_from_dict
2121
from pytest_simcore.helpers.typing_env import EnvVarsDict
2222
from respx.router import MockRouter
23+
from settings_library.redis import RedisSettings
2324
from simcore_service_director_v2.models.dynamic_services_scheduler import SchedulerData
2425
from simcore_service_director_v2.modules.dynamic_sidecar.api_client._public import (
2526
SidecarsClient,
@@ -43,7 +44,7 @@
4344

4445
@pytest.fixture
4546
def mock_env(
46-
use_in_memory_redis: None,
47+
use_in_memory_redis: RedisSettings,
4748
disable_postgres: None,
4849
disable_rabbitmq: None,
4950
mock_env: EnvVarsDict,

services/dynamic-sidecar/tests/conftest.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
setenvs_from_dict,
2929
setenvs_from_envfile,
3030
)
31+
from settings_library.redis import RedisSettings
3132
from simcore_service_dynamic_sidecar.core.reserved_space import (
3233
remove_reserved_disk_space,
3334
)
@@ -168,7 +169,7 @@ def mock_rabbit_check(mocker: MockerFixture) -> None:
168169

169170
@pytest.fixture
170171
def base_mock_envs(
171-
use_in_memory_redis: None,
172+
use_in_memory_redis: RedisSettings,
172173
dy_volumes: Path,
173174
shared_store_dir: Path,
174175
compose_namespace: str,
@@ -210,7 +211,7 @@ def base_mock_envs(
210211

211212
@pytest.fixture
212213
def mock_environment(
213-
use_in_memory_redis: None,
214+
use_in_memory_redis: RedisSettings,
214215
mock_storage_check: None,
215216
mock_postgres_check: None,
216217
mock_rabbit_check: None,

0 commit comments

Comments
 (0)