Skip to content

Commit 97f6ada

Browse files
committed
Fix Kafka Middleware sample config.
1 parent ea3ff99 commit 97f6ada

File tree

4 files changed

+42
-20
lines changed

4 files changed

+42
-20
lines changed

consumer_kafka_middleware/src/test/java/com/example/ApplicationTests.java

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020
import java.util.HashMap;
2121
import java.util.Map;
22-
import java.util.concurrent.TimeUnit;
2322

2423
import javax.annotation.Nullable;
2524

@@ -36,12 +35,13 @@
3635
import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRunner;
3736
import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties;
3837
import org.springframework.cloud.contract.verifier.converter.YamlContract;
39-
import org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver;
4038
import org.springframework.cloud.contract.verifier.messaging.MessageVerifierSender;
4139
import org.springframework.context.annotation.Bean;
4240
import org.springframework.context.annotation.Configuration;
41+
import org.springframework.context.annotation.Primary;
4342
import org.springframework.kafka.core.KafkaTemplate;
4443
import org.springframework.kafka.support.KafkaHeaders;
44+
import org.springframework.kafka.support.converter.JsonMessageConverter;
4545
import org.springframework.messaging.Message;
4646
import org.springframework.messaging.MessageHeaders;
4747
import org.springframework.messaging.support.MessageBuilder;
@@ -55,7 +55,7 @@
5555
@ActiveProfiles("test")
5656
public class ApplicationTests {
5757

58-
58+
5959
@Container
6060
static KafkaContainer kafka = new KafkaContainer();
6161

@@ -79,7 +79,7 @@ public void contextLoads() {
7979
BDDAssertions.then(this.application.storedFoo.getFoo()).contains("example");
8080
});
8181
}
82-
82+
8383
}
8484

8585

@@ -102,4 +102,21 @@ public <T> void send(T payload, Map<String, Object> headers, String destination,
102102
}
103103
};
104104
}
105+
106+
@Bean
107+
@Primary
108+
JsonMessageConverter noopMessageConverter() {
109+
return new NoopJsonMessageConverter();
110+
}
111+
}
112+
113+
class NoopJsonMessageConverter extends JsonMessageConverter {
114+
115+
NoopJsonMessageConverter() {
116+
}
117+
118+
@Override
119+
protected Object convertPayload(Message<?> message) {
120+
return message.getPayload();
121+
}
105122
}

consumer_kafka_middleware/src/test/resources/application-test.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
spring:
22
kafka:
3+
producer:
4+
value-serializer: org.apache.kafka.common.serialization.StringSerializer
35
consumer:
46
properties:
57
"key.serializer": "org.springframework.kafka.support.serializer.JsonSerializer"

producer_kafka_middleware/pom.xml

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<parent>
1515
<groupId>org.springframework.boot</groupId>
1616
<artifactId>spring-boot-starter-parent</artifactId>
17-
<version>3.0.0-SNAPSHOT</version>
17+
<version>3.0.6-SNAPSHOT</version>
1818
<relativePath/> <!-- lookup parent from repository -->
1919
</parent>
2020

@@ -42,13 +42,11 @@
4242
<dependency>
4343
<groupId>org.testcontainers</groupId>
4444
<artifactId>junit-jupiter</artifactId>
45-
<version>1.17.1</version>
4645
<scope>test</scope>
4746
</dependency>
4847
<dependency>
4948
<groupId>org.testcontainers</groupId>
5049
<artifactId>kafka</artifactId>
51-
<version>1.17.1</version>
5250
<scope>test</scope>
5351
</dependency>
5452
<!-- spring cloud contract test dependencies -->
@@ -65,8 +63,9 @@
6563
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
6664
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
6765
<java.version>17</java.version>
68-
<spring-cloud.version>2022.0.0-SNAPSHOT</spring-cloud.version>
69-
<spring-cloud-contract.version>4.0.0-SNAPSHOT</spring-cloud-contract.version>
66+
<spring-cloud.version>2022.0.3-SNAPSHOT</spring-cloud.version>
67+
<spring-cloud-contract.version>4.0.3-SNAPSHOT</spring-cloud-contract.version>
68+
<testcontainers.version>1.17.6</testcontainers.version>
7069
</properties>
7170

7271
<build>
@@ -107,6 +106,13 @@
107106
<type>pom</type>
108107
<scope>import</scope>
109108
</dependency>
109+
<dependency>
110+
<groupId>org.testcontainers</groupId>
111+
<artifactId>testcontainers-bom</artifactId>
112+
<version>${testcontainers.version}</version>
113+
<type>pom</type>
114+
<scope>import</scope>
115+
</dependency>
110116
</dependencies>
111117
</dependencyManagement>
112118

producer_kafka_middleware/src/test/java/com/example/BaseClass.java

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626

2727
import javax.annotation.Nullable;
2828

29-
import com.fasterxml.jackson.databind.ObjectMapper;
3029
import org.apache.kafka.clients.consumer.ConsumerRecord;
3130
import org.slf4j.Logger;
3231
import org.slf4j.LoggerFactory;
@@ -39,9 +38,6 @@
3938
import org.springframework.cloud.contract.verifier.converter.YamlContract;
4039
import org.springframework.cloud.contract.verifier.messaging.MessageVerifierReceiver;
4140
import org.springframework.cloud.contract.verifier.messaging.boot.AutoConfigureMessageVerifier;
42-
import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierMessage;
43-
import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierMessaging;
44-
import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierObjectMapper;
4541
import org.springframework.context.annotation.Bean;
4642
import org.springframework.context.annotation.Configuration;
4743
import org.springframework.kafka.annotation.EnableKafka;
@@ -51,20 +47,20 @@
5147
import org.springframework.messaging.Message;
5248
import org.springframework.messaging.MessageHeaders;
5349
import org.springframework.messaging.handler.annotation.Header;
54-
import org.springframework.messaging.handler.annotation.Payload;
5550
import org.springframework.messaging.support.MessageBuilder;
5651
import org.springframework.test.context.ActiveProfiles;
5752
import org.springframework.test.context.DynamicPropertyRegistry;
5853
import org.springframework.test.context.DynamicPropertySource;
5954

60-
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE, classes = { TestConfig.class, Application.class })
55+
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE, classes = {TestConfig.class, Application.class})
6156
@Testcontainers
6257
@AutoConfigureMessageVerifier
6358
@ActiveProfiles("test")
6459
public abstract class BaseClass {
65-
6660

67-
@Container static KafkaContainer kafka = new KafkaContainer();
61+
62+
@Container
63+
static KafkaContainer kafka = new KafkaContainer();
6864

6965
@DynamicPropertySource
7066
static void kafkaProperties(DynamicPropertyRegistry registry) {
@@ -75,9 +71,9 @@ static void kafkaProperties(DynamicPropertyRegistry registry) {
7571
Controller controller;
7672

7773
public void trigger() {
78-
74+
7975
this.controller.sendFoo("example");
80-
76+
8177
}
8278
}
8379

@@ -114,7 +110,8 @@ public Message receive(String destination, long timeout, TimeUnit timeUnit, @Nul
114110
private void await(long timeout, TimeUnit timeUnit) {
115111
try {
116112
cyclicBarrier.await(timeout, timeUnit);
117-
} catch (Exception e) {
113+
}
114+
catch (Exception e) {
118115

119116
}
120117
}

0 commit comments

Comments
 (0)