This is an automated email from the ASF dual-hosted git repository.
fjtiradosarti pushed a commit to branch quarkus-3.2LTS
in repository
https://gitbox.apache.org/repos/asf/incubator-kie-kogito-runtimes.git
The following commit(s) were added to refs/heads/quarkus-3.2LTS by this push:
new d97331f6cf Fix #3308 - Configure SpringBoot Kubernetes to add Client
in test context (#3311)
d97331f6cf is described below
commit d97331f6cf3c9fdd0528e7d275be81537d89e3bf
Author: Ricardo Zanini <[email protected]>
AuthorDate: Tue Dec 5 08:10:15 2023 -0300
Fix #3308 - Configure SpringBoot Kubernetes to add Client in test context
(#3311)
* Fix #3308 - Configure SpringBoot Kubernetes to add Client in test context
Signed-off-by: Ricardo Zanini <[email protected]>
* Add rockd temps to gitignore
Signed-off-by: Ricardo Zanini <[email protected]>
---------
Signed-off-by: Ricardo Zanini <[email protected]>
---
quarkus/addons/process-definitions/.gitignore | 1 +
.../decision/SpringBootEventDrivenDecisionController.java | 3 ++-
.../kogito/events/mongodb/SpringbootMongoDBEventPublisher.java | 3 ++-
.../predictions/SpringBootEventDrivenPredictionsController.java | 3 ++-
.../kogito/jobs/management/springboot/SpringRestJobsService.java | 5 +++--
springboot/addons/kubernetes/README.md | 9 +++++++++
.../addons/kubernetes/src/test/resources/application.properties | 2 ++
.../cloudevents/spring/SpringBootKogitoExtensionInitializer.java | 3 ++-
.../addon/cloudevents/spring/SpringKafkaCloudEventReceiver.java | 3 ++-
.../monitoring/core/springboot/SpringbootMetricsInterceptor.java | 6 +++---
.../springboot/SpringbootSystemMetricsCollectorProvider.java | 3 ++-
.../monitoring/core/springboot/SpringMetricsInterceptorTest.java | 6 +++---
.../elastic/springboot/SpringbootElasticRegistryProvider.java | 5 +++--
.../kie/kogito/tracing/decision/SpringBootModelEventEmitter.java | 3 ++-
springboot/bom/pom.xml | 4 ++--
.../org/kie/kogito/test/springboot/kafka/KafkaTestClient.java | 3 ++-
.../springboot/KeycloakSpringBootTestResource.java | 2 --
17 files changed, 42 insertions(+), 22 deletions(-)
diff --git a/quarkus/addons/process-definitions/.gitignore
b/quarkus/addons/process-definitions/.gitignore
new file mode 100644
index 0000000000..2cd3559ddb
--- /dev/null
+++ b/quarkus/addons/process-definitions/.gitignore
@@ -0,0 +1 @@
+rockdstemp/
\ No newline at end of file
diff --git
a/springboot/addons/events/decisions/src/main/java/org/kie/kogito/eventdriven/decision/SpringBootEventDrivenDecisionController.java
b/springboot/addons/events/decisions/src/main/java/org/kie/kogito/eventdriven/decision/SpringBootEventDrivenDecisionController.java
index 9b38468d83..b48f221fe9 100644
---
a/springboot/addons/events/decisions/src/main/java/org/kie/kogito/eventdriven/decision/SpringBootEventDrivenDecisionController.java
+++
b/springboot/addons/events/decisions/src/main/java/org/kie/kogito/eventdriven/decision/SpringBootEventDrivenDecisionController.java
@@ -18,7 +18,6 @@
*/
package org.kie.kogito.eventdriven.decision;
-import jakarta.annotation.PostConstruct;
import org.kie.kogito.config.ConfigBean;
import org.kie.kogito.decision.DecisionModels;
import org.kie.kogito.event.EventEmitter;
@@ -26,6 +25,8 @@ import org.kie.kogito.event.EventReceiver;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+import jakarta.annotation.PostConstruct;
+
@Component
public class SpringBootEventDrivenDecisionController extends
EventDrivenDecisionController {
diff --git
a/springboot/addons/events/mongodb/src/main/java/org/kie/kogito/events/mongodb/SpringbootMongoDBEventPublisher.java
b/springboot/addons/events/mongodb/src/main/java/org/kie/kogito/events/mongodb/SpringbootMongoDBEventPublisher.java
index e08186b651..5fb16d922f 100644
---
a/springboot/addons/events/mongodb/src/main/java/org/kie/kogito/events/mongodb/SpringbootMongoDBEventPublisher.java
+++
b/springboot/addons/events/mongodb/src/main/java/org/kie/kogito/events/mongodb/SpringbootMongoDBEventPublisher.java
@@ -18,7 +18,6 @@
*/
package org.kie.kogito.events.mongodb;
-import jakarta.annotation.PostConstruct;
import org.kie.kogito.mongodb.transaction.AbstractTransactionManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -26,6 +25,8 @@ import org.springframework.stereotype.Component;
import com.mongodb.client.MongoClient;
+import jakarta.annotation.PostConstruct;
+
@Component
public class SpringbootMongoDBEventPublisher extends MongoDBEventPublisher {
diff --git
a/springboot/addons/events/predictions/src/main/java/org/kie/kogito/eventdriven/predictions/SpringBootEventDrivenPredictionsController.java
b/springboot/addons/events/predictions/src/main/java/org/kie/kogito/eventdriven/predictions/SpringBootEventDrivenPredictionsController.java
index 14a6d41dfc..c6fc5a3a66 100644
---
a/springboot/addons/events/predictions/src/main/java/org/kie/kogito/eventdriven/predictions/SpringBootEventDrivenPredictionsController.java
+++
b/springboot/addons/events/predictions/src/main/java/org/kie/kogito/eventdriven/predictions/SpringBootEventDrivenPredictionsController.java
@@ -18,7 +18,6 @@
*/
package org.kie.kogito.eventdriven.predictions;
-import jakarta.annotation.PostConstruct;
import org.kie.kogito.config.ConfigBean;
import org.kie.kogito.event.EventEmitter;
import org.kie.kogito.event.EventReceiver;
@@ -26,6 +25,8 @@ import org.kie.kogito.prediction.PredictionModels;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+import jakarta.annotation.PostConstruct;
+
@Component
public class SpringBootEventDrivenPredictionsController extends
EventDrivenPredictionsController {
diff --git
a/springboot/addons/jobs/src/main/java/org/kie/kogito/jobs/management/springboot/SpringRestJobsService.java
b/springboot/addons/jobs/src/main/java/org/kie/kogito/jobs/management/springboot/SpringRestJobsService.java
index 59eddb3c70..ac20763e55 100644
---
a/springboot/addons/jobs/src/main/java/org/kie/kogito/jobs/management/springboot/SpringRestJobsService.java
+++
b/springboot/addons/jobs/src/main/java/org/kie/kogito/jobs/management/springboot/SpringRestJobsService.java
@@ -18,7 +18,6 @@
*/
package org.kie.kogito.jobs.management.springboot;
-import jakarta.annotation.PostConstruct;
import org.kie.kogito.jobs.ProcessInstanceJobDescription;
import org.kie.kogito.jobs.ProcessJobDescription;
import org.kie.kogito.jobs.management.RestJobsService;
@@ -39,6 +38,8 @@ import org.springframework.web.client.RestTemplate;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
+import jakarta.annotation.PostConstruct;
+
@Component
public class SpringRestJobsService extends RestJobsService {
@@ -116,4 +117,4 @@ public class SpringRestJobsService extends RestJobsService {
headers.setContentType(MediaType.APPLICATION_JSON);
return new HttpEntity<>(json, headers);
}
-}
\ No newline at end of file
+}
diff --git a/springboot/addons/kubernetes/README.md
b/springboot/addons/kubernetes/README.md
index 007de88b41..3a571a437a 100644
--- a/springboot/addons/kubernetes/README.md
+++ b/springboot/addons/kubernetes/README.md
@@ -10,6 +10,15 @@ integrate with the Kubernetes API. It should work fine out
of the box without an
the [Spring Boot
guide](https://docs.spring.io/spring-cloud-kubernetes/docs/current/reference/html/#discoveryclient-for-kubernetes)
for more information about any needed customization.
+When using this add-on is important to set the following properties in your
test environment:
+
+```properties
+spring.main.cloud-platform=KUBERNETES
+spring.cloud.bootstrap.enabled=true
+```
+
+This will guarantee that he right `KubernetesClient` bean is created for you.
See more at [Kubernetes Ecosystem
Awareness](https://docs.spring.io/spring-cloud-kubernetes/docs/current/reference/html/#kubernetes-ecosystem-awareness).
+
## Caching
To avoid round trips to the Kubernetes Core API, this implementation uses the
[Spring Boot Cache
feature](https://docs.spring.io/spring-boot/docs/2.1.6.RELEASE/reference/html/boot-features-caching.html)
diff --git
a/springboot/addons/kubernetes/src/test/resources/application.properties
b/springboot/addons/kubernetes/src/test/resources/application.properties
new file mode 100644
index 0000000000..127bc67e5c
--- /dev/null
+++ b/springboot/addons/kubernetes/src/test/resources/application.properties
@@ -0,0 +1,2 @@
+spring.main.cloud-platform=KUBERNETES
+spring.cloud.bootstrap.enabled=true
\ No newline at end of file
diff --git
a/springboot/addons/messaging/implementation/src/main/java/org/kie/kogito/addon/cloudevents/spring/SpringBootKogitoExtensionInitializer.java
b/springboot/addons/messaging/implementation/src/main/java/org/kie/kogito/addon/cloudevents/spring/SpringBootKogitoExtensionInitializer.java
index 4264e3fd48..ddcefb65ea 100644
---
a/springboot/addons/messaging/implementation/src/main/java/org/kie/kogito/addon/cloudevents/spring/SpringBootKogitoExtensionInitializer.java
+++
b/springboot/addons/messaging/implementation/src/main/java/org/kie/kogito/addon/cloudevents/spring/SpringBootKogitoExtensionInitializer.java
@@ -18,7 +18,6 @@
*/
package org.kie.kogito.addon.cloudevents.spring;
-import jakarta.annotation.PostConstruct;
import org.kie.kogito.event.cloudevents.extension.KogitoExtension;
import org.kie.kogito.event.cloudevents.extension.KogitoPredictionsExtension;
import org.kie.kogito.event.cloudevents.extension.KogitoProcessExtension;
@@ -32,6 +31,8 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import io.cloudevents.jackson.JsonFormat;
+import jakarta.annotation.PostConstruct;
+
/**
* The goal of this bean is to register the Kogito CloudEvent extension
* that allows the system to correctly parse Kogito extension attributes.
diff --git
a/springboot/addons/messaging/implementation/src/main/java/org/kie/kogito/addon/cloudevents/spring/SpringKafkaCloudEventReceiver.java
b/springboot/addons/messaging/implementation/src/main/java/org/kie/kogito/addon/cloudevents/spring/SpringKafkaCloudEventReceiver.java
index 5330d48cc8..a009f26c5a 100644
---
a/springboot/addons/messaging/implementation/src/main/java/org/kie/kogito/addon/cloudevents/spring/SpringKafkaCloudEventReceiver.java
+++
b/springboot/addons/messaging/implementation/src/main/java/org/kie/kogito/addon/cloudevents/spring/SpringKafkaCloudEventReceiver.java
@@ -26,7 +26,6 @@ import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.ExecutionException;
import java.util.function.Function;
-import jakarta.annotation.PostConstruct;
import org.kie.kogito.config.ConfigBean;
import org.kie.kogito.event.CloudEventUnmarshallerFactory;
import org.kie.kogito.event.DataEvent;
@@ -43,6 +42,8 @@ import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.messaging.handler.annotation.Payload;
import org.springframework.stereotype.Component;
+import jakarta.annotation.PostConstruct;
+
@Component
public class SpringKafkaCloudEventReceiver implements EventReceiver {
diff --git
a/springboot/addons/monitoring/core/src/main/java/org/kie/kogito/monitoring/core/springboot/SpringbootMetricsInterceptor.java
b/springboot/addons/monitoring/core/src/main/java/org/kie/kogito/monitoring/core/springboot/SpringbootMetricsInterceptor.java
index 14b64f3ab4..0140ff0c48 100644
---
a/springboot/addons/monitoring/core/src/main/java/org/kie/kogito/monitoring/core/springboot/SpringbootMetricsInterceptor.java
+++
b/springboot/addons/monitoring/core/src/main/java/org/kie/kogito/monitoring/core/springboot/SpringbootMetricsInterceptor.java
@@ -18,14 +18,14 @@
*/
package org.kie.kogito.monitoring.core.springboot;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-
import
org.kie.kogito.monitoring.core.common.system.interceptor.MetricsInterceptor;
import org.springframework.lang.Nullable;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+
public class SpringbootMetricsInterceptor implements HandlerInterceptor {
private final MetricsInterceptor metricsInterceptor;
diff --git
a/springboot/addons/monitoring/core/src/main/java/org/kie/kogito/monitoring/core/springboot/SpringbootSystemMetricsCollectorProvider.java
b/springboot/addons/monitoring/core/src/main/java/org/kie/kogito/monitoring/core/springboot/SpringbootSystemMetricsCollectorProvider.java
index fb29872dcc..2a0e69acad 100644
---
a/springboot/addons/monitoring/core/src/main/java/org/kie/kogito/monitoring/core/springboot/SpringbootSystemMetricsCollectorProvider.java
+++
b/springboot/addons/monitoring/core/src/main/java/org/kie/kogito/monitoring/core/springboot/SpringbootSystemMetricsCollectorProvider.java
@@ -18,7 +18,6 @@
*/
package org.kie.kogito.monitoring.core.springboot;
-import jakarta.annotation.PostConstruct;
import org.kie.kogito.KogitoGAV;
import org.kie.kogito.config.ConfigBean;
import
org.kie.kogito.monitoring.core.common.system.metrics.SystemMetricsCollector;
@@ -28,6 +27,8 @@ import org.springframework.stereotype.Component;
import io.micrometer.core.instrument.Metrics;
+import jakarta.annotation.PostConstruct;
+
@Component
public class SpringbootSystemMetricsCollectorProvider implements
SystemMetricsCollectorProvider {
diff --git
a/springboot/addons/monitoring/core/src/test/java/org/kie/kogito/monitoring/core/springboot/SpringMetricsInterceptorTest.java
b/springboot/addons/monitoring/core/src/test/java/org/kie/kogito/monitoring/core/springboot/SpringMetricsInterceptorTest.java
index f1f7063f33..3ac3909d99 100644
---
a/springboot/addons/monitoring/core/src/test/java/org/kie/kogito/monitoring/core/springboot/SpringMetricsInterceptorTest.java
+++
b/springboot/addons/monitoring/core/src/test/java/org/kie/kogito/monitoring/core/springboot/SpringMetricsInterceptorTest.java
@@ -20,13 +20,13 @@ package org.kie.kogito.monitoring.core.springboot;
import java.util.List;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-
import org.junit.jupiter.api.Test;
import
org.kie.kogito.monitoring.core.common.system.interceptor.MetricsInterceptor;
import org.mockito.ArgumentCaptor;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
diff --git
a/springboot/addons/monitoring/elastic/src/main/java/org/kie/kogito/monitoring/elastic/springboot/SpringbootElasticRegistryProvider.java
b/springboot/addons/monitoring/elastic/src/main/java/org/kie/kogito/monitoring/elastic/springboot/SpringbootElasticRegistryProvider.java
index bbec67fe8c..dcafe29268 100644
---
a/springboot/addons/monitoring/elastic/src/main/java/org/kie/kogito/monitoring/elastic/springboot/SpringbootElasticRegistryProvider.java
+++
b/springboot/addons/monitoring/elastic/src/main/java/org/kie/kogito/monitoring/elastic/springboot/SpringbootElasticRegistryProvider.java
@@ -18,7 +18,6 @@
*/
package org.kie.kogito.monitoring.elastic.springboot;
-import jakarta.annotation.PostConstruct;
import org.kie.kogito.monitoring.elastic.common.ElasticConfigFactory;
import org.kie.kogito.monitoring.elastic.common.ElasticRegistry;
import org.kie.kogito.monitoring.elastic.common.KogitoElasticConfig;
@@ -27,6 +26,8 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Component;
+import jakarta.annotation.PostConstruct;
+
@Component
public class SpringbootElasticRegistryProvider extends ElasticRegistry {
@@ -72,4 +73,4 @@ public class SpringbootElasticRegistryProvider extends
ElasticRegistry {
elasticConfigFactory.withProperty(KogitoElasticConfig.DOCUMENT_TYPE_KEY,
documentType);
super.start(elasticConfigFactory.getElasticConfig(), executor);
}
-}
\ No newline at end of file
+}
diff --git
a/springboot/addons/tracing-decision/src/main/java/org/kie/kogito/tracing/decision/SpringBootModelEventEmitter.java
b/springboot/addons/tracing-decision/src/main/java/org/kie/kogito/tracing/decision/SpringBootModelEventEmitter.java
index da10bdb18b..1b1d6b11df 100644
---
a/springboot/addons/tracing-decision/src/main/java/org/kie/kogito/tracing/decision/SpringBootModelEventEmitter.java
+++
b/springboot/addons/tracing-decision/src/main/java/org/kie/kogito/tracing/decision/SpringBootModelEventEmitter.java
@@ -18,13 +18,14 @@
*/
package org.kie.kogito.tracing.decision;
-import jakarta.annotation.PostConstruct;
import org.kie.kogito.decision.DecisionModelResourcesProvider;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.stereotype.Component;
+import jakarta.annotation.PostConstruct;
+
@Component
public class SpringBootModelEventEmitter extends BaseModelEventEmitter {
diff --git a/springboot/bom/pom.xml b/springboot/bom/pom.xml
index 5223d402c2..f18307dde3 100644
--- a/springboot/bom/pom.xml
+++ b/springboot/bom/pom.xml
@@ -42,7 +42,7 @@
<version.org.codehaus.groovy>2.4.16</version.org.codehaus.groovy>
<version.org.spockframework>1.3-groovy-2.4</version.org.spockframework>
<!-- Spring Boot Cloud aligned with Spring Boot Framework version. See:
https://spring.io/projects/spring-cloud -->
-
<version.org.springframework.cloud.kubernetes.fabric8>3.0.2</version.org.springframework.cloud.kubernetes.fabric8>
+
<version.org.springframework.cloud.kubernetes>3.0.2</version.org.springframework.cloud.kubernetes>
<!-- CVE-2022-25857: Upgrading snakeyaml until we upgrade to Spring Boot
3.x -->
<!-- See: https://github.com/spring-projects/spring-boot/issues/32221 -->
<version.org.springframework.security>1.0.2</version.org.springframework.security>
@@ -81,7 +81,7 @@
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-kubernetes-fabric8</artifactId>
-
<version>${version.org.springframework.cloud.kubernetes.fabric8}</version>
+ <version>${version.org.springframework.cloud.kubernetes}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
diff --git
a/springboot/test/src/main/java/org/kie/kogito/test/springboot/kafka/KafkaTestClient.java
b/springboot/test/src/main/java/org/kie/kogito/test/springboot/kafka/KafkaTestClient.java
index a946de2658..cac8d290cf 100644
---
a/springboot/test/src/main/java/org/kie/kogito/test/springboot/kafka/KafkaTestClient.java
+++
b/springboot/test/src/main/java/org/kie/kogito/test/springboot/kafka/KafkaTestClient.java
@@ -29,7 +29,6 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.util.function.Consumer;
-import jakarta.annotation.PreDestroy;
import org.apache.kafka.clients.consumer.ConsumerConfig;
import org.apache.kafka.clients.consumer.KafkaConsumer;
import org.apache.kafka.clients.producer.KafkaProducer;
@@ -43,6 +42,8 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.stereotype.Component;
+import jakarta.annotation.PreDestroy;
+
import static java.lang.String.format;
import static java.util.Collections.singleton;
diff --git
a/springboot/test/src/main/java/org/kie/kogito/testcontainers/springboot/KeycloakSpringBootTestResource.java
b/springboot/test/src/main/java/org/kie/kogito/testcontainers/springboot/KeycloakSpringBootTestResource.java
index ee05b95511..4f593f5b87 100644
---
a/springboot/test/src/main/java/org/kie/kogito/testcontainers/springboot/KeycloakSpringBootTestResource.java
+++
b/springboot/test/src/main/java/org/kie/kogito/testcontainers/springboot/KeycloakSpringBootTestResource.java
@@ -24,8 +24,6 @@ import java.util.Map;
import org.kie.kogito.test.resources.ConditionalSpringBootTestResource;
import org.kie.kogito.testcontainers.KogitoKeycloakContainer;
-import static java.util.Collections.singletonMap;
-
/**
* Keycloak spring boot resource that works within the test lifecycle.
*
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]