Skip to content

Commit 035685c

Browse files
author
Andrei Neagu
committed
fixeed cli tests
1 parent b7043b3 commit 035685c

File tree

5 files changed

+28
-20
lines changed

5 files changed

+28
-20
lines changed

packages/service-library/src/servicelib/redis/_client.py

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,17 @@
2929
_HEALTHCHECK_TASK_TIMEOUT_S: Final[float] = 3.0
3030

3131

32+
@tenacity.retry(
33+
wait=tenacity.wait_fixed(2),
34+
stop=tenacity.stop_after_delay(20),
35+
before_sleep=tenacity.before_sleep_log(_logger, logging.INFO),
36+
reraise=True,
37+
)
38+
async def wait_till_redis_is_responsive(client: aioredis.Redis) -> None:
39+
if not await client.ping():
40+
raise tenacity.TryAgain
41+
42+
3243
@dataclass
3344
class RedisClientSDK:
3445
redis_dsn: str
@@ -63,16 +74,6 @@ def __post_init__(self) -> None:
6374
self._is_healthy = False
6475
self._health_check_task_started_event = asyncio.Event()
6576

66-
@tenacity.retry(
67-
wait=tenacity.wait_fixed(2),
68-
stop=tenacity.stop_after_delay(20),
69-
before_sleep=tenacity.before_sleep_log(_logger, logging.INFO),
70-
reraise=True,
71-
)
72-
async def wait_till_redis_is_responsive(self) -> None:
73-
if not await self.ping():
74-
raise tenacity.TryAgain
75-
7677
async def setup(self) -> None:
7778
@periodic(interval=self.health_check_interval)
7879
async def _periodic_check_health() -> None:
@@ -89,7 +90,7 @@ async def _periodic_check_health() -> None:
8990
# - ensure redis is working
9091
# - before shutting down an initialized Redis connection it must
9192
# make at least one call to the server, otherwise tests might hang
92-
await self.wait_till_redis_is_responsive()
93+
await wait_till_redis_is_responsive(self._client)
9394

9495
_logger.info(
9596
"Connection to %s succeeded with %s",

services/director-v2/src/simcore_service_director_v2/modules/dynamic_sidecar/docker_service_specs/sidecar.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,9 @@ def _get_environment_variables(
164164
"RABBIT_PORT": f"{rabbit_settings.RABBIT_PORT}",
165165
"RABBIT_USER": f"{rabbit_settings.RABBIT_USER}",
166166
"RABBIT_SECURE": f"{rabbit_settings.RABBIT_SECURE}",
167-
"REDIS_SETTINGS": redis_settings.model_dump_json(),
167+
"REDIS_SETTINGS": json_dumps(
168+
model_dump_with_secrets(redis_settings, show_secrets=True)
169+
),
168170
"DY_DEPLOYMENT_REGISTRY_SETTINGS": (
169171
json_dumps(
170172
model_dump_with_secrets(

services/dynamic-sidecar/src/simcore_service_dynamic_sidecar/cli.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
from ._meta import PROJECT_NAME
1313
from .core.application import create_base_app
14+
from .core.rabbitmq import setup_rabbitmq
1415
from .core.settings import ApplicationSettings
1516
from .modules.long_running_tasks import task_ports_outputs_push, task_save_state
1617
from .modules.mounted_fs import MountedVolumes, setup_mounted_fs
@@ -39,6 +40,7 @@ async def _initialized_app() -> AsyncIterator[FastAPI]:
3940
app = create_base_app()
4041

4142
# setup MountedVolumes
43+
setup_rabbitmq(app)
4244
setup_mounted_fs(app)
4345
setup_outputs(app)
4446

services/dynamic-sidecar/tests/unit/test_api_rest_workflow_service_metrics.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
from servicelib.fastapi.long_running_tasks.client import setup as client_setup
3737
from servicelib.long_running_tasks.errors import TaskExceptionError
3838
from servicelib.long_running_tasks.models import TaskId
39-
from settings_library.redis import RedisSettings
4039
from simcore_service_dynamic_sidecar._meta import API_VTAG
4140
from simcore_service_dynamic_sidecar.core.docker_utils import get_container_states
4241
from simcore_service_dynamic_sidecar.models.schemas.containers import (
@@ -48,11 +47,6 @@
4847
from tenacity.stop import stop_after_delay
4948
from tenacity.wait import wait_fixed
5049

51-
pytest_simcore_core_services_selection = [
52-
"redis",
53-
]
54-
55-
5650
_FAST_STATUS_POLL: Final[float] = 0.1
5751
_CREATE_SERVICE_CONTAINERS_TIMEOUT: Final[float] = 60
5852
_BASE_HEART_BEAT_INTERVAL: Final[float] = 0.1
@@ -89,7 +83,6 @@ def backend_url() -> AnyHttpUrl:
8983
@pytest.fixture
9084
def mock_environment(
9185
mock_postgres_check: None,
92-
redis_service: RedisSettings,
9386
monkeypatch: pytest.MonkeyPatch,
9487
mock_rabbitmq_envs: EnvVarsDict,
9588
) -> EnvVarsDict:

services/dynamic-sidecar/tests/unit/test_cli.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
# pylint: disable=unused-argument
22
# pylint: disable=redefined-outer-name
3-
3+
import json
44
import os
55
import traceback
6+
from pprint import pprint
67

78
import pytest
89
from click.testing import Result
10+
from common_library.serialization import model_dump_with_secrets
911
from pytest_mock.plugin import MockerFixture
1012
from pytest_simcore.helpers.typing_env import EnvVarsDict
1113
from settings_library.rabbit import RabbitSettings
@@ -25,6 +27,14 @@ def cli_runner(
2527
redis_service: RedisSettings,
2628
mock_environment: EnvVarsDict,
2729
) -> CliRunner:
30+
mock_environment["REDIS_SETTINGS"] = json.dumps(
31+
model_dump_with_secrets(redis_service, show_secrets=True)
32+
)
33+
mock_environment["RABBIT_SETTINGS"] = json.dumps(
34+
model_dump_with_secrets(rabbit_service, show_secrets=True)
35+
)
36+
37+
pprint(mock_environment)
2838
return CliRunner(env=mock_environment)
2939

3040

0 commit comments

Comments
 (0)