diff --git a/pom.xml b/pom.xml
index 798c8fc..629326c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 3.4.7
+ 4.0.5
org.acme
@@ -31,8 +31,13 @@
spring-boot-starter-validation
- org.springframework.kafka
- spring-kafka
+ org.springframework.boot
+ spring-boot-starter-kafka
+
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
@@ -66,34 +71,23 @@
org.testcontainers
- kafka
- 1.21.4
+ testcontainers-kafka
test
org.testcontainers
- redpanda
- 1.21.4
+ testcontainers-redpanda
test
org.testcontainers
- junit-jupiter
- 1.21.4
+ testcontainers-junit-jupiter
test
-
org.junit.platform
junit-platform-launcher
- 1.11.4
- test
-
-
- org.junit.vintage
- junit-vintage-engine
- 5.11.4
test
diff --git a/src/test/java/org/acme/order/ContainersConfiguration.java b/src/test/java/org/acme/order/ContainersConfiguration.java
index 9c63790..14172bc 100644
--- a/src/test/java/org/acme/order/ContainersConfiguration.java
+++ b/src/test/java/org/acme/order/ContainersConfiguration.java
@@ -7,7 +7,7 @@
import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
import org.springframework.context.annotation.Bean;
import org.springframework.test.context.DynamicPropertyRegistrar;
-import org.testcontainers.containers.KafkaContainer;
+import org.testcontainers.kafka.ConfluentKafkaContainer;
import org.testcontainers.containers.Network;
import org.testcontainers.utility.DockerImageName;
@@ -18,16 +18,16 @@ public class ContainersConfiguration {
@Bean
@ServiceConnection
- KafkaContainer kafkaContainer() {
- KafkaContainer kafkaContainer = new KafkaContainer(DockerImageName.parse("confluentinc/cp-kafka:7.5.0"))
+ ConfluentKafkaContainer kafkaContainer() {
+ ConfluentKafkaContainer kafkaContainer = new ConfluentKafkaContainer(DockerImageName.parse("confluentinc/cp-kafka:7.5.0"))
.withNetwork(network)
.withNetworkAliases("kafka")
- .withListener(() -> "kafka:19092");
+ .withListener("kafka:19092");
return kafkaContainer;
}
@Bean
- MicrocksContainersEnsemble microcksEnsemble(KafkaContainer kafkaContainer) {
+ MicrocksContainersEnsemble microcksEnsemble(ConfluentKafkaContainer kafkaContainer) {
// Uncomment these lines (36-38) if you want to use the native image of Microcks
// and comment the next MicrocksContainersEnsemble declaration line (40).
// DockerImageName nativeImage = DockerImageName.parse("quay.io/microcks/microcks-uber:1.11.2-native")
diff --git a/src/test/java/org/acme/order/api/OrderControllerContractTests.java b/src/test/java/org/acme/order/api/OrderControllerContractTests.java
index cd19859..f58a741 100644
--- a/src/test/java/org/acme/order/api/OrderControllerContractTests.java
+++ b/src/test/java/org/acme/order/api/OrderControllerContractTests.java
@@ -6,8 +6,9 @@
import io.github.microcks.testcontainers.model.TestRunnerType;
import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.json.JsonMapper;
import org.acme.order.BaseIntegrationTest;
import org.junit.jupiter.api.Test;
@@ -31,7 +32,9 @@ void testOpenAPIContract() throws Exception {
TestResult testResult = microcksEnsemble.getMicrocksContainer().testEndpoint(testRequest);
// You may inspect complete response object with following:
- ObjectMapper mapper = new ObjectMapper().setSerializationInclusion(JsonInclude.Include.NON_NULL);
+ ObjectMapper mapper = JsonMapper.builder()
+ .changeDefaultPropertyInclusion(incl -> incl.withValueInclusion(JsonInclude.Include.NON_NULL))
+ .build();
System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(testResult));
assertTrue(testResult.isSuccess());
@@ -50,7 +53,9 @@ void testOpenAPIContractAndBusinessConformance() throws Exception {
TestResult testResult = microcksEnsemble.getMicrocksContainer().testEndpoint(testRequest);
// You may inspect complete response object with following:
- ObjectMapper mapper = new ObjectMapper().setSerializationInclusion(JsonInclude.Include.NON_NULL);
+ ObjectMapper mapper = JsonMapper.builder()
+ .changeDefaultPropertyInclusion(incl -> incl.withValueInclusion(JsonInclude.Include.NON_NULL))
+ .build();
System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(testResult));
assertTrue(testResult.isSuccess());
diff --git a/src/test/java/org/acme/order/api/OrderControllerPostmanContractTests.java b/src/test/java/org/acme/order/api/OrderControllerPostmanContractTests.java
index ec91eea..fdb00f6 100644
--- a/src/test/java/org/acme/order/api/OrderControllerPostmanContractTests.java
+++ b/src/test/java/org/acme/order/api/OrderControllerPostmanContractTests.java
@@ -5,7 +5,8 @@
import io.github.microcks.testcontainers.model.TestRunnerType;
import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.json.JsonMapper;
import org.acme.order.BaseIntegrationTest;
import org.junit.jupiter.api.Test;
@@ -28,7 +29,9 @@ void testPostmanCollectionContract() throws Exception {
// You may inspect complete response object with following:
//System.err.println(microcksEnsemble.getMicrocksContainer().getLogs());
//System.err.println(microcksEnsemble.getPostmanContainer().getLogs());
- ObjectMapper mapper = new ObjectMapper().setSerializationInclusion(JsonInclude.Include.NON_NULL);
+ ObjectMapper mapper = JsonMapper.builder()
+ .changeDefaultPropertyInclusion(incl -> incl.withValueInclusion(JsonInclude.Include.NON_NULL))
+ .build();
System.err.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(testResult));
assertTrue(testResult.isSuccess());
diff --git a/src/test/java/org/acme/order/service/OrderServiceTests.java b/src/test/java/org/acme/order/service/OrderServiceTests.java
index 2abfb5f..454fb31 100644
--- a/src/test/java/org/acme/order/service/OrderServiceTests.java
+++ b/src/test/java/org/acme/order/service/OrderServiceTests.java
@@ -6,8 +6,8 @@
import io.github.microcks.testcontainers.model.TestRunnerType;
import io.github.microcks.testcontainers.model.UnidirectionalEvent;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.json.JsonMapper;
import org.acme.order.BaseIntegrationTest;
import org.acme.order.service.model.Order;
import org.acme.order.service.model.OrderInfo;
@@ -17,7 +17,7 @@
import org.apache.kafka.clients.admin.NewTopic;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
-import org.testcontainers.containers.KafkaContainer;
+import org.testcontainers.kafka.ConfluentKafkaContainer;
import java.time.Duration;
import java.util.List;
@@ -31,7 +31,7 @@
class OrderServiceTests extends BaseIntegrationTest {
@Autowired
- KafkaContainer kafkaContainer;
+ ConfluentKafkaContainer kafkaContainer;
@Autowired
OrderService service;
@@ -83,7 +83,7 @@ void testEventIsPublishedWhenOrderIsCreated() {
assertEquals(1, events.size());
EventMessage message = events.get(0).getEventMessage();
- Map messageMap = new ObjectMapper().readValue(message.getContent(), new TypeReference<>() {});
+ Map messageMap = new JsonMapper().readValue(message.getContent(), new TypeReference<>() {});
// Properties from the event message should match the order.
assertEquals("Creation", messageMap.get("changeReason"));