Skip to content

Commit 7bedf4b

Browse files
committed
kafka: split test confIg
1 parent c6bb655 commit 7bedf4b

File tree

7 files changed

+74
-117
lines changed

7 files changed

+74
-117
lines changed

generators/spring-boot/templates/src/test/resources/config/application.yml.ejs

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -84,26 +84,6 @@ spring:
8484
enabled: false
8585
enabled: false
8686
<%_ } _%>
87-
<%_ if (messageBrokerKafka) { _%>
88-
function:
89-
definition: kafkaConsumer;kafkaProducer
90-
stream:
91-
kafka:
92-
binder:
93-
replicationFactor: 1
94-
auto-create-topics: true
95-
bindings:
96-
binding-out-0:
97-
content-type: text/plain
98-
group: <%= dasherizedBaseName %>
99-
kafkaConsumer-in-0:
100-
destination: sse-topic
101-
content-type: text/plain
102-
group: <%= dasherizedBaseName %>
103-
kafkaProducer-out-0:
104-
content-type: text/plain
105-
group: <%= dasherizedBaseName %>
106-
<%_ } _%>
10787
<%_ if (messageBrokerPulsar) { _%>
10888
function:
10989
definition: testStringSupplier;testStringConsumer

generators/spring-cloud/generators/kafka/__snapshots__/generator.spec.ts.snap

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -67,23 +67,6 @@ exports[`generator - spring-cloud:kafka with defaults options should call source
6767
"name": "org.I0Itec",
6868
},
6969
],
70-
"editJavaFile": [
71-
[
72-
"src/test/java/com/mycompany/myapp/IntegrationTest.java",
73-
{
74-
"annotations": [
75-
{
76-
"annotation": "ImportTestcontainers",
77-
"package": "org.springframework.boot.testcontainers.context",
78-
"parameters": [Function],
79-
},
80-
],
81-
"imports": [
82-
"com.mycompany.myapp.config.KafkaTestContainer",
83-
],
84-
},
85-
],
86-
],
8770
}
8871
`;
8972

@@ -110,5 +93,8 @@ exports[`generator - spring-cloud:kafka with defaults options should match files
11093
"src/test/java/com/mycompany/myapp/web/rest/JhipsterKafkaResourceIT.java": {
11194
"stateCleared": "modified",
11295
},
96+
"src/test/resources/config/application-kafka.yml": {
97+
"stateCleared": "modified",
98+
},
11399
}
114100
`;

generators/spring-cloud/generators/kafka/files.ts

Lines changed: 0 additions & 62 deletions
This file was deleted.

generators/spring-cloud/generators/kafka/generator.ts

Lines changed: 37 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,15 @@
1818
*/
1919

2020
import { GRADLE_BUILD_SRC_MAIN_DIR } from '../../../generator-constants.ts';
21+
import {
22+
javaMainPackageTemplatesBlock,
23+
javaMainResourceTemplatesBlock,
24+
javaTestPackageTemplatesBlock,
25+
javaTestResourceTemplatesBlock,
26+
} from '../../../java/support/files.ts';
2127
import { SpringBootApplicationGenerator } from '../../../spring-boot/generator.ts';
2228

2329
import cleanupKafkaFilesTask from './cleanup.ts';
24-
import { kafkaFiles } from './files.ts';
2530

2631
export default class KafkaGenerator extends SpringBootApplicationGenerator {
2732
async beforeQueue() {
@@ -62,7 +67,37 @@ export default class KafkaGenerator extends SpringBootApplicationGenerator {
6267
cleanupKafkaFilesTask,
6368
async writing({ application }) {
6469
await this.writeFiles({
65-
sections: kafkaFiles,
70+
sections: {
71+
base: [
72+
javaMainPackageTemplatesBlock({
73+
templates: [
74+
data => `broker/KafkaConsumer_${data.imperativeOrReactive}.java`,
75+
'broker/KafkaProducer.java',
76+
{
77+
sourceFile: data => `web/rest/KafkaResource_${data.imperativeOrReactive}.java`,
78+
destinationFile: data => `web/rest/${data.upperFirstCamelCaseBaseName}KafkaResource.java`,
79+
},
80+
],
81+
}),
82+
javaMainResourceTemplatesBlock({
83+
templates: ['config/application-kafka.yml'],
84+
}),
85+
],
86+
test: [
87+
javaTestPackageTemplatesBlock({
88+
templates: [
89+
'config/KafkaTestContainer.java',
90+
{
91+
sourceFile: data => `web/rest/KafkaResourceIT_${data.imperativeOrReactive}.java`,
92+
destinationFile: data => `web/rest/${data.upperFirstCamelCaseBaseName}KafkaResourceIT.java`,
93+
},
94+
],
95+
}),
96+
javaTestResourceTemplatesBlock({
97+
templates: ['config/application-kafka.yml'],
98+
}),
99+
],
100+
},
66101
context: application,
67102
});
68103
},
@@ -80,18 +115,6 @@ export default class KafkaGenerator extends SpringBootApplicationGenerator {
80115
source.addTestLog?.({ name: 'kafka', level: 'WARN' });
81116
source.addTestLog?.({ name: 'org.I0Itec', level: 'WARN' });
82117
},
83-
integrationTest({ application, source }) {
84-
source.editJavaFile!(`${application.javaPackageTestDir}IntegrationTest.java`, {
85-
imports: [`${application.packageName}.config.KafkaTestContainer`],
86-
annotations: [
87-
{
88-
package: 'org.springframework.boot.testcontainers.context',
89-
annotation: 'ImportTestcontainers',
90-
parameters: (_, cb) => cb.addKeyValue('value', 'KafkaTestContainer.class'),
91-
},
92-
],
93-
});
94-
},
95118
addDependencies({ source }) {
96119
source.addJavaDependencies?.([
97120
{

generators/spring-cloud/generators/kafka/templates/src/test/java/_package_/web/rest/KafkaResourceIT_imperative.java.ejs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
package <%= packageName %>.web.rest;
2020

2121
import <%= packageName %>.IntegrationTest;
22+
import <%= packageName %>.config.KafkaTestContainer;
2223

2324
import static org.assertj.core.api.Assertions.assertThat;
2425
import static org.junit.jupiter.api.Assertions.fail;
@@ -31,9 +32,11 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
3132

3233
import java.util.HashMap;
3334
import java.util.Map;
35+
3436
import org.junit.jupiter.api.Test;
3537
import org.springframework.beans.factory.annotation.Autowired;
3638
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
39+
import org.springframework.boot.testcontainers.context.ImportTestcontainers;
3740
import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc;
3841
import org.springframework.cloud.stream.binder.test.InputDestination;
3942
import org.springframework.cloud.stream.binder.test.OutputDestination;
@@ -42,6 +45,7 @@ import org.springframework.messaging.Message;
4245
import org.springframework.messaging.MessageHeaders;
4346
import org.springframework.messaging.support.GenericMessage;
4447
import org.springframework.security.test.context.support.WithMockUser;
48+
import org.springframework.test.context.ActiveProfiles;
4549
import org.springframework.test.web.servlet.MockMvc;
4650
import org.springframework.test.web.servlet.MvcResult;
4751
import org.springframework.util.MimeTypeUtils;
@@ -50,6 +54,8 @@ import org.springframework.util.MimeTypeUtils;
5054
@AutoConfigureMockMvc
5155
@WithMockUser
5256
@ImportAutoConfiguration(TestChannelBinderConfiguration.class)
57+
@ImportTestcontainers(KafkaTestContainer.class)
58+
@ActiveProfiles({ "kafka" })
5359
class <%= upperFirstCamelCaseBaseName %>KafkaResourceIT {
5460

5561
@Autowired

generators/spring-cloud/generators/kafka/templates/src/test/java/_package_/web/rest/KafkaResourceIT_reactive.java.ejs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@
1818
-%>
1919
package <%= packageName %>.web.rest;
2020

21-
import static org.assertj.core.api.Assertions.assertThat;
22-
2321
import <%= packageName %>.IntegrationTest;
24-
<%_ if (authenticationUsesCsrf) { _%>
22+
import <%= packageName %>.config.KafkaTestContainer;
2523

24+
import static org.assertj.core.api.Assertions.assertThat;
25+
<%_ if (authenticationUsesCsrf) { _%>
2626
import static org.springframework.security.test.web.reactive.server.SecurityMockServerConfigurers.csrf;
2727
2828
import org.junit.jupiter.api.BeforeEach;
@@ -35,6 +35,7 @@ import java.util.Map;
3535
import org.junit.jupiter.api.Test;
3636
import org.springframework.beans.factory.annotation.Autowired;
3737
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
38+
import org.springframework.boot.testcontainers.context.ImportTestcontainers;
3839
import org.springframework.boot.webtestclient.autoconfigure.AutoConfigureWebTestClient;
3940
import org.springframework.cloud.stream.binder.test.InputDestination;
4041
import org.springframework.cloud.stream.binder.test.OutputDestination;
@@ -44,13 +45,16 @@ import org.springframework.messaging.Message;
4445
import org.springframework.messaging.MessageHeaders;
4546
import org.springframework.messaging.support.GenericMessage;
4647
import org.springframework.security.test.context.support.WithMockUser;
48+
import org.springframework.test.context.ActiveProfiles;
4749
import org.springframework.test.web.reactive.server.WebTestClient;
4850
import org.springframework.util.MimeTypeUtils;
4951

52+
@IntegrationTest
5053
@AutoConfigureWebTestClient(timeout = IntegrationTest.DEFAULT_TIMEOUT)
5154
@WithMockUser
52-
@IntegrationTest
5355
@ImportAutoConfiguration(TestChannelBinderConfiguration.class)
56+
@ImportTestcontainers(KafkaTestContainer.class)
57+
@ActiveProfiles({ "kafka" })
5458
class <%= upperFirstCamelCaseBaseName %>KafkaResourceIT {
5559
private static String KAFKA_API = "/api/<%= dasherizedBaseName %>-kafka/{command}";
5660

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
spring:
2+
cloud:
3+
function:
4+
definition: kafkaConsumer;kafkaProducer
5+
stream:
6+
kafka:
7+
binder:
8+
replicationFactor: 1
9+
auto-create-topics: true
10+
bindings:
11+
binding-out-0:
12+
content-type: text/plain
13+
group: <%= dasherizedBaseName %>
14+
kafkaConsumer-in-0:
15+
destination: sse-topic
16+
content-type: text/plain
17+
group: <%= dasherizedBaseName %>
18+
kafkaProducer-out-0:
19+
content-type: text/plain
20+
group: <%= dasherizedBaseName %>

0 commit comments

Comments
 (0)