2323 NoAuthentication ,
2424 TLSAuthentication ,
2525)
26- from pydantic import ByteSize , TypeAdapter
26+ from pydantic import ByteSize , SecretStr , TypeAdapter
2727from pytest_simcore .helpers .monkeypatch_envs import EnvVarsDict , setenvs_from_dict
2828from settings_library .rabbit import RabbitSettings
2929from simcore_service_clusters_keeper .core .settings import ApplicationSettings
@@ -194,6 +194,31 @@ def test_create_deploy_cluster_stack_script(
194194 )
195195
196196
197+ @pytest .fixture
198+ def rabbitmq_settings_fixture (
199+ request : pytest .FixtureRequest ,
200+ app_settings : ApplicationSettings ,
201+ monkeypatch : pytest .MonkeyPatch ,
202+ faker : Faker ,
203+ ) -> RabbitSettings | None :
204+ if request .param == "custom" :
205+ # Create random RabbitMQ settings using faker
206+ custom_rabbit_settings = RabbitSettings (
207+ RABBIT_HOST = faker .hostname (),
208+ RABBIT_PORT = faker .port_number (),
209+ RABBIT_SECURE = faker .boolean (),
210+ RABBIT_USER = faker .user_name (),
211+ RABBIT_PASSWORD = SecretStr (faker .password ()),
212+ )
213+ monkeypatch .setattr (
214+ app_settings .CLUSTERS_KEEPER_PRIMARY_EC2_INSTANCES ,
215+ "PRIMARY_EC2_INSTANCES_RABBIT_SETTINGS" ,
216+ custom_rabbit_settings ,
217+ )
218+ return custom_rabbit_settings
219+ return app_settings .CLUSTERS_KEEPER_RABBITMQ
220+
221+
197222def test_rabbitmq_settings_are_passed_with_pasword_clear (
198223 docker_swarm : None ,
199224 enabled_rabbitmq : None ,
@@ -205,12 +230,14 @@ def test_rabbitmq_settings_are_passed_with_pasword_clear(
205230 clusters_keeper_docker_compose : dict [str , Any ],
206231):
207232 assert app_settings .CLUSTERS_KEEPER_RABBITMQ
208- assert app_settings .CLUSTERS_KEEPER_RABBITMQ .RABBIT_HOST
209- assert app_settings .CLUSTERS_KEEPER_RABBITMQ .RABBIT_PORT
210- assert app_settings .CLUSTERS_KEEPER_RABBITMQ .RABBIT_SECURE is False
211- assert app_settings .CLUSTERS_KEEPER_RABBITMQ .RABBIT_USER
212- assert app_settings .CLUSTERS_KEEPER_RABBITMQ .RABBIT_PASSWORD .get_secret_value ()
213-
233+ assert app_settings .CLUSTERS_KEEPER_PRIMARY_EC2_INSTANCES
234+ assert (
235+ app_settings .CLUSTERS_KEEPER_PRIMARY_EC2_INSTANCES .PRIMARY_EC2_INSTANCES_RABBIT_SETTINGS
236+ )
237+ assert (
238+ app_settings .CLUSTERS_KEEPER_RABBITMQ
239+ == app_settings .CLUSTERS_KEEPER_PRIMARY_EC2_INSTANCES .PRIMARY_EC2_INSTANCES_RABBIT_SETTINGS
240+ )
214241 additional_custom_tags = {
215242 TypeAdapter (AWSTagKey )
216243 .validate_python ("pytest-tag-key" ): TypeAdapter (AWSTagValue )
0 commit comments