Skip to content

Commit 2bf6e94

Browse files
committed
test passes
1 parent 6df1311 commit 2bf6e94

File tree

2 files changed

+18
-13
lines changed

2 files changed

+18
-13
lines changed

services/clusters-keeper/src/simcore_service_clusters_keeper/utils/clusters.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ def _convert_to_env_list(entries: list[Any]) -> str:
8383
def _convert_to_env_dict(entries: dict[str, Any]) -> str:
8484
return f"'{json.dumps(jsonable_encoder(entries))}'"
8585

86+
assert app_settings.CLUSTERS_KEEPER_PRIMARY_EC2_INSTANCES # nosec
87+
8688
return [
8789
f"CLUSTERS_KEEPER_EC2_ACCESS_KEY_ID={app_settings.CLUSTERS_KEEPER_EC2_ACCESS.EC2_ACCESS_KEY_ID}",
8890
f"CLUSTERS_KEEPER_EC2_ENDPOINT={app_settings.CLUSTERS_KEEPER_EC2_ACCESS.EC2_ENDPOINT or 'null'}",
@@ -104,7 +106,7 @@ def _convert_to_env_dict(entries: dict[str, Any]) -> str:
104106
f"WORKERS_EC2_INSTANCES_SUBNET_ID={app_settings.CLUSTERS_KEEPER_WORKERS_EC2_INSTANCES.WORKERS_EC2_INSTANCES_SUBNET_ID}",
105107
f"WORKERS_EC2_INSTANCES_TIME_BEFORE_DRAINING={app_settings.CLUSTERS_KEEPER_WORKERS_EC2_INSTANCES.WORKERS_EC2_INSTANCES_TIME_BEFORE_DRAINING}",
106108
f"WORKERS_EC2_INSTANCES_TIME_BEFORE_TERMINATION={app_settings.CLUSTERS_KEEPER_WORKERS_EC2_INSTANCES.WORKERS_EC2_INSTANCES_TIME_BEFORE_TERMINATION}",
107-
f"AUTOSCALING_RABBITMQ={json_dumps(model_dump_with_secrets(app_settings.CLUSTERS_KEEPER_RABBITMQ, show_secrets=True)) if app_settings.CLUSTERS_KEEPER_RABBITMQ else 'null'}",
109+
f"AUTOSCALING_RABBITMQ={json_dumps(model_dump_with_secrets(app_settings.CLUSTERS_KEEPER_PRIMARY_EC2_INSTANCES.PRIMARY_EC2_INSTANCES_RABBIT_SETTINGS, show_secrets=True)) if app_settings.CLUSTERS_KEEPER_PRIMARY_EC2_INSTANCES.PRIMARY_EC2_INSTANCES_RABBIT_SETTINGS else 'null'}",
108110
]
109111

110112

services/clusters-keeper/tests/unit/test_utils_clusters.py

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
EC2InstanceData,
1717
)
1818
from common_library.json_serialization import json_dumps
19+
from common_library.serialization import model_dump_with_secrets
1920
from faker import Faker
2021
from models_library.api_schemas_clusters_keeper.clusters import ClusterState
2122
from models_library.clusters import (
@@ -194,10 +195,13 @@ def test_create_deploy_cluster_stack_script(
194195
)
195196

196197

197-
@pytest.fixture
198+
@pytest.fixture(
199+
params=["default", "custom"], ids=["defaultRabbitMQ", "specialClusterRabbitMQ"]
200+
)
198201
def rabbitmq_settings_fixture(
202+
app_environment: EnvVarsDict,
203+
enabled_rabbitmq: RabbitSettings,
199204
request: pytest.FixtureRequest,
200-
app_settings: ApplicationSettings,
201205
monkeypatch: pytest.MonkeyPatch,
202206
faker: Faker,
203207
) -> RabbitSettings | None:
@@ -210,18 +214,19 @@ def rabbitmq_settings_fixture(
210214
RABBIT_USER=faker.user_name(),
211215
RABBIT_PASSWORD=SecretStr(faker.password()),
212216
)
213-
monkeypatch.setattr(
214-
app_settings.CLUSTERS_KEEPER_PRIMARY_EC2_INSTANCES,
217+
monkeypatch.setenv(
215218
"PRIMARY_EC2_INSTANCES_RABBIT_SETTINGS",
216-
custom_rabbit_settings,
219+
json_dumps(
220+
model_dump_with_secrets(custom_rabbit_settings, show_secrets=True)
221+
),
217222
)
218223
return custom_rabbit_settings
219-
return app_settings.CLUSTERS_KEEPER_RABBITMQ
224+
return enabled_rabbitmq
220225

221226

222227
def test_rabbitmq_settings_are_passed_with_pasword_clear(
223228
docker_swarm: None,
224-
enabled_rabbitmq: None,
229+
rabbitmq_settings_fixture: RabbitSettings | None,
225230
mocked_ec2_server_envs: EnvVarsDict,
226231
mocked_ssm_server_envs: EnvVarsDict,
227232
mocked_redis_server: None,
@@ -232,12 +237,10 @@ def test_rabbitmq_settings_are_passed_with_pasword_clear(
232237
assert app_settings.CLUSTERS_KEEPER_RABBITMQ
233238
assert app_settings.CLUSTERS_KEEPER_PRIMARY_EC2_INSTANCES
234239
assert (
235-
app_settings.CLUSTERS_KEEPER_PRIMARY_EC2_INSTANCES.PRIMARY_EC2_INSTANCES_RABBIT_SETTINGS
236-
)
237-
assert (
238-
app_settings.CLUSTERS_KEEPER_RABBITMQ
240+
rabbitmq_settings_fixture
239241
== app_settings.CLUSTERS_KEEPER_PRIMARY_EC2_INSTANCES.PRIMARY_EC2_INSTANCES_RABBIT_SETTINGS
240242
)
243+
241244
additional_custom_tags = {
242245
TypeAdapter(AWSTagKey)
243246
.validate_python("pytest-tag-key"): TypeAdapter(AWSTagValue)
@@ -254,7 +257,7 @@ def test_rabbitmq_settings_are_passed_with_pasword_clear(
254257
assert match, "AUTOSCALING_RABBITMQ is not present in the deploy script!"
255258
autoscaling_rabbitmq = match.group(1)
256259
passed_settings = RabbitSettings.model_validate_json(autoscaling_rabbitmq)
257-
assert passed_settings == app_settings.CLUSTERS_KEEPER_RABBITMQ
260+
assert passed_settings == rabbitmq_settings_fixture
258261

259262

260263
def test_create_deploy_cluster_stack_script_below_64kb(

0 commit comments

Comments
 (0)