1616 EC2InstanceData ,
1717)
1818from common_library .json_serialization import json_dumps
19+ from common_library .serialization import model_dump_with_secrets
1920from faker import Faker
2021from models_library .api_schemas_clusters_keeper .clusters import ClusterState
2122from 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+ )
198201def 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
222227def 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
260263def test_create_deploy_cluster_stack_script_below_64kb (
0 commit comments