Skip to content

Commit eacf92b

Browse files
onobcphilwebb
authored andcommitted
Combine Pulsar smoke tests
* Simplify produce/consume verify via OutputCapture * Remove spring-boot-smoke-test-pulsar-reactive as no other smoke tests split them out See gh-37196
1 parent 2ebcdb0 commit eacf92b

File tree

13 files changed

+121
-232
lines changed

13 files changed

+121
-232
lines changed

spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-pulsar-reactive/build.gradle

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

spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-pulsar-reactive/src/main/java/smoketest/pulsar/reactive/SampleMessage.java

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

spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-pulsar-reactive/src/main/java/smoketest/pulsar/reactive/SampleMessageConsumer.java

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

spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-pulsar-reactive/src/main/resources/application.properties

Lines changed: 0 additions & 1 deletion
This file was deleted.

spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-pulsar-reactive/src/test/java/smoketest/pulsar/reactive/SampleReactivePulsarApplicationTests.java

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

spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-pulsar/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ description = "Spring Boot Pulsar smoke test"
77

88
dependencies {
99
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-pulsar"))
10+
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-pulsar-reactive"))
1011
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
1112
testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
1213
testImplementation("org.awaitility:awaitility")
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
/*
2+
* Copyright 2012-2023 the original author or authors.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package smoketest.pulsar;
18+
19+
import org.apache.commons.logging.Log;
20+
import org.apache.commons.logging.LogFactory;
21+
22+
import org.springframework.boot.ApplicationRunner;
23+
import org.springframework.context.annotation.Bean;
24+
import org.springframework.context.annotation.Configuration;
25+
import org.springframework.context.annotation.Profile;
26+
import org.springframework.pulsar.annotation.PulsarListener;
27+
import org.springframework.pulsar.core.PulsarTemplate;
28+
import org.springframework.pulsar.core.PulsarTopic;
29+
30+
@Configuration(proxyBeanMethods = false)
31+
@Profile("smoketest.pulsar.imperative")
32+
class ImperativeAppConfig {
33+
34+
private static final Log LOG = LogFactory.getLog(ImperativeAppConfig.class);
35+
36+
private static final String TOPIC = "pulsar-smoke-test-topic";
37+
38+
@Bean
39+
PulsarTopic pulsarTestTopic() {
40+
return PulsarTopic.builder(TOPIC).numberOfPartitions(1).build();
41+
}
42+
43+
@Bean
44+
ApplicationRunner sendMessagesToPulsarTopic(PulsarTemplate<SampleMessage> template) {
45+
return (args) -> {
46+
for (int i = 0; i < 10; i++) {
47+
template.send(TOPIC, new SampleMessage(i, "message:" + i));
48+
LOG.info("++++++PRODUCE IMPERATIVE:(" + i + ")------");
49+
}
50+
};
51+
}
52+
53+
@PulsarListener(topics = TOPIC)
54+
void consumeMessagesFromPulsarTopic(SampleMessage msg) {
55+
LOG.info("++++++CONSUME IMPERATIVE:(" + msg.id() + ")------");
56+
}
57+
58+
}
Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,29 @@
1414
* limitations under the License.
1515
*/
1616

17-
package smoketest.pulsar.reactive;
17+
package smoketest.pulsar;
1818

19+
import org.apache.commons.logging.Log;
20+
import org.apache.commons.logging.LogFactory;
1921
import org.apache.pulsar.reactive.client.api.MessageSpec;
2022
import reactor.core.publisher.Flux;
23+
import reactor.core.publisher.Mono;
2124

2225
import org.springframework.boot.ApplicationRunner;
23-
import org.springframework.boot.SpringApplication;
24-
import org.springframework.boot.autoconfigure.SpringBootApplication;
2526
import org.springframework.context.annotation.Bean;
27+
import org.springframework.context.annotation.Configuration;
28+
import org.springframework.context.annotation.Profile;
2629
import org.springframework.pulsar.core.PulsarTopic;
30+
import org.springframework.pulsar.reactive.config.annotation.ReactivePulsarListener;
2731
import org.springframework.pulsar.reactive.core.ReactivePulsarTemplate;
2832

29-
@SpringBootApplication
30-
public class SampleReactivePulsarApplication {
33+
@Configuration(proxyBeanMethods = false)
34+
@Profile("smoketest.pulsar.reactive")
35+
class ReactiveAppConfig {
3136

32-
static final String TOPIC = "pulsar-reactive-smoke-test-topic";
37+
private static final Log LOG = LogFactory.getLog(ReactiveAppConfig.class);
38+
39+
private static final String TOPIC = "pulsar-reactive-smoke-test-topic";
3340

3441
@Bean
3542
PulsarTopic pulsarTestTopic() {
@@ -42,12 +49,15 @@ ApplicationRunner sendMessagesToPulsarTopic(ReactivePulsarTemplate<SampleMessage
4249
.map((i) -> new SampleMessage(i, "message:" + i))
4350
.map(MessageSpec::of)
4451
.as((msgs) -> template.send(TOPIC, msgs))
45-
.doOnNext((sendResult) -> System.out.println("*** PRODUCE: " + sendResult.getMessageId()))
52+
.doOnNext((sendResult) -> LOG
53+
.info("++++++PRODUCE REACTIVE:(" + sendResult.getMessageSpec().getValue().id() + ")------"))
4654
.subscribe();
4755
}
4856

49-
public static void main(String[] args) {
50-
SpringApplication.run(SampleReactivePulsarApplication.class, args);
57+
@ReactivePulsarListener(topics = TOPIC)
58+
Mono<Void> consumeMessagesFromPulsarTopic(SampleMessage msg) {
59+
LOG.info("++++++CONSUME REACTIVE:(" + msg.id() + ")------");
60+
return Mono.empty();
5161
}
5262

5363
}

spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-pulsar/src/main/java/smoketest/pulsar/SampleMessageConsumer.java

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

spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-pulsar/src/main/java/smoketest/pulsar/SamplePulsarApplication.java

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -16,35 +16,12 @@
1616

1717
package smoketest.pulsar;
1818

19-
import org.apache.pulsar.client.api.MessageId;
20-
21-
import org.springframework.boot.ApplicationRunner;
2219
import org.springframework.boot.SpringApplication;
2320
import org.springframework.boot.autoconfigure.SpringBootApplication;
24-
import org.springframework.context.annotation.Bean;
25-
import org.springframework.pulsar.core.PulsarTemplate;
26-
import org.springframework.pulsar.core.PulsarTopic;
2721

2822
@SpringBootApplication
2923
public class SamplePulsarApplication {
3024

31-
static final String TOPIC = "pulsar-smoke-test-topic";
32-
33-
@Bean
34-
PulsarTopic pulsarTestTopic() {
35-
return PulsarTopic.builder(TOPIC).numberOfPartitions(1).build();
36-
}
37-
38-
@Bean
39-
ApplicationRunner sendMessagesToPulsarTopic(PulsarTemplate<SampleMessage> template) {
40-
return (args) -> {
41-
for (int i = 0; i < 10; i++) {
42-
MessageId msgId = template.send(TOPIC, new SampleMessage(i, "message:" + i));
43-
System.out.println("*** PRODUCE: " + msgId);
44-
}
45-
};
46-
}
47-
4825
public static void main(String[] args) {
4926
SpringApplication.run(SamplePulsarApplication.class, args);
5027
}
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
spring.pulsar.consumer.subscription-initial-position=earliest
1+
spring.pulsar.consumer.subscription.initial-position=earliest

0 commit comments

Comments
 (0)