From 4be97da01de5d2a6e92d846ed9815b5acc818f81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Reynard?= Date: Tue, 27 Aug 2024 14:26:20 +0200 Subject: [PATCH] Add csm.platform.internalResultServices.eventBus.enabled property as ConditionalOnExpression for AMQP beans + fix integration tests --- api/src/main/resources/application.yml | 1 + .../resources/application-connector-test.yml | 3 +++ .../resources/application-dataset-test.yml | 3 +++ .../resources/application-organization-test.yml | 3 +++ .../resources/application-run-test.yml | 3 +++ .../com/cosmotech/run/config/RabbitMqConfig.kt | 16 +++++++++------- .../cosmotech/run/config/RabbitMqConfigModel.kt | 4 +++- .../run/service/amqp/AmqpClientServiceImpl.kt | 4 +++- .../resources/application-runner-test.yml | 3 +++ .../resources/application-solution-test.yml | 3 +++ .../resources/application-workspace-test.yml | 3 +++ 11 files changed, 37 insertions(+), 9 deletions(-) diff --git a/api/src/main/resources/application.yml b/api/src/main/resources/application.yml index d82fbd585..487749cc5 100644 --- a/api/src/main/resources/application.yml +++ b/api/src/main/resources/application.yml @@ -107,6 +107,7 @@ csm: username: "storage_admin_username" password: "storage_admin_password" eventBus: + enabled: true host: "localhost" port: 5672 default-exchange: "csm-exchange" diff --git a/connector/src/integrationTest/resources/application-connector-test.yml b/connector/src/integrationTest/resources/application-connector-test.yml index 65a94573e..1f139838a 100644 --- a/connector/src/integrationTest/resources/application-connector-test.yml +++ b/connector/src/integrationTest/resources/application-connector-test.yml @@ -15,6 +15,9 @@ spring: csm: platform: + tls: + enabled: false + bundle: "" identityProvider: code: on_premise_one authorizationUrl: "http://fake_url:8080/authorize" diff --git a/dataset/src/integrationTest/resources/application-dataset-test.yml b/dataset/src/integrationTest/resources/application-dataset-test.yml index 2cbc8f86a..dbac6e865 100644 --- a/dataset/src/integrationTest/resources/application-dataset-test.yml +++ b/dataset/src/integrationTest/resources/application-dataset-test.yml @@ -15,6 +15,9 @@ spring: csm: platform: + tls: + enabled: false + bundle: "" identityProvider: code: on_premise_one authorizationUrl: "http://fake_url:8080/authorize" diff --git a/organization/src/integrationTest/resources/application-organization-test.yml b/organization/src/integrationTest/resources/application-organization-test.yml index bdbc8d023..49e49175c 100644 --- a/organization/src/integrationTest/resources/application-organization-test.yml +++ b/organization/src/integrationTest/resources/application-organization-test.yml @@ -15,6 +15,9 @@ spring: csm: platform: + tls: + enabled: false + bundle: "" identityProvider: code: on_premise_one authorizationUrl: "http://fake_url:8080/authorize" diff --git a/run/src/integrationTest/resources/application-run-test.yml b/run/src/integrationTest/resources/application-run-test.yml index c7e86e1ca..45f0bc39c 100644 --- a/run/src/integrationTest/resources/application-run-test.yml +++ b/run/src/integrationTest/resources/application-run-test.yml @@ -26,6 +26,9 @@ management: csm: platform: + tls: + enabled : false + bundle: "" identityProvider: code: on_premise_one authorizationUrl: "http://fake_url:8080/authorize" diff --git a/run/src/main/kotlin/com/cosmotech/run/config/RabbitMqConfig.kt b/run/src/main/kotlin/com/cosmotech/run/config/RabbitMqConfig.kt index 25b816bc5..9eb7e0f14 100644 --- a/run/src/main/kotlin/com/cosmotech/run/config/RabbitMqConfig.kt +++ b/run/src/main/kotlin/com/cosmotech/run/config/RabbitMqConfig.kt @@ -19,10 +19,12 @@ import org.springframework.context.annotation.Configuration import org.springframework.messaging.handler.annotation.support.DefaultMessageHandlerMethodFactory @Configuration -@ConditionalOnExpression("'\${csm.platform.internalResultServices.enabled}' == 'true'") +@ConditionalOnExpression( + "'\${csm.platform.internalResultServices.enabled}' == 'true' " + + "and '\${csm.platform.internalResultServices.eventBus.enabled}' == 'true'") class RabbitMqConfig( - val connectionFactory: ConnectionFactory, - val rabbitMqConfigModel: RabbitMqConfigModel + val rabbitMqConfigModel: RabbitMqConfigModel, + val connectionFactory: ConnectionFactory ) : RabbitListenerConfigurer { @Bean @@ -42,14 +44,14 @@ class RabbitMqConfig( .with(rabbitMqConfigModel.routingKey) } - @Bean fun rabbitTemplate() = RabbitTemplate(connectionFactory) - - @Bean fun rabbitAdmin() = RabbitAdmin(connectionFactory) - @Bean fun rabbitListenerEndpointRegistry() = RabbitListenerEndpointRegistry() @Bean fun messageHandlerMethodFactory() = DefaultMessageHandlerMethodFactory() + @Bean fun rabbitTemplate() = RabbitTemplate(connectionFactory) + + @Bean fun rabbitAdmin() = RabbitAdmin(connectionFactory) + override fun configureRabbitListeners(registrar: RabbitListenerEndpointRegistrar) { val factory = SimpleRabbitListenerContainerFactory() factory.setPrefetchCount(1) diff --git a/run/src/main/kotlin/com/cosmotech/run/config/RabbitMqConfigModel.kt b/run/src/main/kotlin/com/cosmotech/run/config/RabbitMqConfigModel.kt index f9008e7ea..5817bf1dd 100644 --- a/run/src/main/kotlin/com/cosmotech/run/config/RabbitMqConfigModel.kt +++ b/run/src/main/kotlin/com/cosmotech/run/config/RabbitMqConfigModel.kt @@ -7,7 +7,9 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression import org.springframework.context.annotation.Configuration @Configuration -@ConditionalOnExpression("'\${csm.platform.internalResultServices.enabled}' == 'true'") +@ConditionalOnExpression( + "'\${csm.platform.internalResultServices.enabled}' == 'true' " + + "and '\${csm.platform.internalResultServices.eventBus.enabled}' == 'true'") class RabbitMqConfigModel { @Value("\${csm.platform.internalResultServices.eventBus.default-exchange}") diff --git a/run/src/main/kotlin/com/cosmotech/run/service/amqp/AmqpClientServiceImpl.kt b/run/src/main/kotlin/com/cosmotech/run/service/amqp/AmqpClientServiceImpl.kt index e4e022513..6b435d24b 100644 --- a/run/src/main/kotlin/com/cosmotech/run/service/amqp/AmqpClientServiceImpl.kt +++ b/run/src/main/kotlin/com/cosmotech/run/service/amqp/AmqpClientServiceImpl.kt @@ -34,7 +34,9 @@ data class ProbeMessage( ) @Service -@ConditionalOnExpression("'\${csm.platform.internalResultServices.enabled}' == 'true'") +@ConditionalOnExpression( + "'\${csm.platform.internalResultServices.enabled}' == 'true' " + + "and '\${csm.platform.internalResultServices.eventBus.enabled}' == 'true'") class AmqpClientServiceImpl( private val rabbitAdmin: RabbitAdmin, private val rabbitListenerEndpointRegistry: RabbitListenerEndpointRegistry, diff --git a/runner/src/integrationTest/resources/application-runner-test.yml b/runner/src/integrationTest/resources/application-runner-test.yml index f6ca3a681..2d601d369 100644 --- a/runner/src/integrationTest/resources/application-runner-test.yml +++ b/runner/src/integrationTest/resources/application-runner-test.yml @@ -15,6 +15,9 @@ management: csm: platform: + tls: + enabled: false + bundle: "" identityProvider: code: on_premise_one authorizationUrl: "http://fake_url:8080/authorize" diff --git a/solution/src/integrationTest/resources/application-solution-test.yml b/solution/src/integrationTest/resources/application-solution-test.yml index c18cc0eef..f4875922b 100644 --- a/solution/src/integrationTest/resources/application-solution-test.yml +++ b/solution/src/integrationTest/resources/application-solution-test.yml @@ -15,6 +15,9 @@ spring: csm: platform: + tls: + enabled: false + bundle: "" identityProvider: code: on_premise_one authorizationUrl: "http://fake_url:8080/authorize" diff --git a/workspace/src/integrationTest/resources/application-workspace-test.yml b/workspace/src/integrationTest/resources/application-workspace-test.yml index 8ed808913..86b7b6c19 100644 --- a/workspace/src/integrationTest/resources/application-workspace-test.yml +++ b/workspace/src/integrationTest/resources/application-workspace-test.yml @@ -15,6 +15,9 @@ spring: csm: platform: + tls: + enabled: false + bundle: "" identityProvider: code: on_premise_one authorizationUrl: "http://fake_url:8080/authorize"