Skip to content

Commit 0ec9859

Browse files
committed
Refactor some tests into JUnit 5
* Improve their interaction with Reactor Test
1 parent 25e9459 commit 0ec9859

File tree

4 files changed

+70
-90
lines changed

4 files changed

+70
-90
lines changed

spring-integration-core/src/test/java/org/springframework/integration/dsl/reactivestreams/ReactiveStreamsTests.java

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@
3131
import java.util.concurrent.atomic.AtomicBoolean;
3232
import java.util.stream.Collectors;
3333

34-
import org.junit.Test;
35-
import org.junit.runner.RunWith;
34+
import org.junit.jupiter.api.Test;
3635
import org.reactivestreams.Publisher;
3736

3837
import org.springframework.beans.factory.annotation.Autowired;
@@ -51,7 +50,7 @@
5150
import org.springframework.messaging.MessageChannel;
5251
import org.springframework.messaging.support.GenericMessage;
5352
import org.springframework.test.annotation.DirtiesContext;
54-
import org.springframework.test.context.junit4.SpringRunner;
53+
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
5554

5655
import reactor.core.publisher.Flux;
5756

@@ -62,7 +61,7 @@
6261
*
6362
* @since 5.0
6463
*/
65-
@RunWith(SpringRunner.class)
64+
@SpringJUnitConfig
6665
@DirtiesContext
6766
public class ReactiveStreamsTests {
6867

@@ -98,7 +97,7 @@ public class ReactiveStreamsTests {
9897
private Publisher<Message<String>> fixedSubscriberChannelFlow;
9998

10099
@Test
101-
public void testReactiveFlow() throws Exception {
100+
void testReactiveFlow() throws Exception {
102101
List<String> results = new ArrayList<>();
103102
CountDownLatch latch = new CountDownLatch(6);
104103
Flux.from(this.publisher)
@@ -115,7 +114,7 @@ public void testReactiveFlow() throws Exception {
115114
}
116115

117116
@Test
118-
public void testPollableReactiveFlow() throws Exception {
117+
void testPollableReactiveFlow() throws Exception {
119118
this.inputChannel.send(new GenericMessage<>("1,2,3,4,5"));
120119

121120
CountDownLatch latch = new CountDownLatch(6);
@@ -152,7 +151,7 @@ public void testPollableReactiveFlow() throws Exception {
152151
}
153152

154153
@Test
155-
public void testFromPublisher() {
154+
void testFromPublisher() {
156155
Flux<Message<?>> messageFlux = Flux.just("1,2,3,4")
157156
.map(v -> v.split(","))
158157
.flatMapIterable(Arrays::asList)
@@ -178,11 +177,11 @@ public void testFromPublisher() {
178177
}
179178

180179
@Test
181-
public void testFluxTransform() {
180+
void testFluxTransform() {
182181
QueueChannel resultChannel = new QueueChannel();
183182

184183
IntegrationFlow integrationFlow = f -> f
185-
.split()
184+
.split((splitter) -> splitter.delimiters(","))
186185
.<String, String>fluxTransform(flux -> flux
187186
.map(Message::getPayload)
188187
.map(String::toUpperCase))
@@ -212,7 +211,7 @@ public void testFluxTransform() {
212211
}
213212

214213
@Test
215-
public void singleChannelFlowTest() throws InterruptedException {
214+
void singleChannelFlowTest() throws InterruptedException {
216215
CountDownLatch latch = new CountDownLatch(1);
217216
Flux.from(this.singleChannelFlow)
218217
.map(m -> m.getPayload().toUpperCase())
@@ -224,7 +223,7 @@ public void singleChannelFlowTest() throws InterruptedException {
224223
}
225224

226225
@Test
227-
public void fixedSubscriberChannelFlowTest() throws InterruptedException {
226+
void fixedSubscriberChannelFlowTest() throws InterruptedException {
228227
CountDownLatch latch = new CountDownLatch(1);
229228
Flux.from(this.fixedSubscriberChannelFlow)
230229
.map(m -> m.getPayload().toUpperCase())

spring-integration-core/src/test/java/org/springframework/integration/splitter/DefaultSplitterTests.java

Lines changed: 21 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,20 @@
1818

1919
import static org.assertj.core.api.Assertions.assertThat;
2020

21+
import java.time.Duration;
2122
import java.util.Arrays;
2223
import java.util.Collections;
2324
import java.util.List;
2425
import java.util.stream.Stream;
2526

26-
import org.junit.Test;
27-
import org.reactivestreams.Subscriber;
27+
import org.junit.jupiter.api.Test;
2828

2929
import org.springframework.integration.IntegrationMessageHeaderAccessor;
3030
import org.springframework.integration.channel.DirectChannel;
3131
import org.springframework.integration.channel.FluxMessageChannel;
3232
import org.springframework.integration.channel.QueueChannel;
3333
import org.springframework.integration.endpoint.EventDrivenConsumer;
3434
import org.springframework.integration.support.MessageBuilder;
35-
import org.springframework.integration.test.util.TestUtils;
3635
import org.springframework.messaging.Message;
3736
import org.springframework.messaging.support.GenericMessage;
3837

@@ -45,10 +44,10 @@
4544
* @author Gunnar Hillert
4645
* @author Artem Bilan
4746
*/
48-
public class DefaultSplitterTests {
47+
class DefaultSplitterTests {
4948

5049
@Test
51-
public void splitMessageWithArrayPayload() throws Exception {
50+
void splitMessageWithArrayPayload() {
5251
String[] payload = new String[] { "x", "y", "z" };
5352
Message<String[]> message = MessageBuilder.withPayload(payload).build();
5453
QueueChannel replyChannel = new QueueChannel();
@@ -69,7 +68,7 @@ public void splitMessageWithArrayPayload() throws Exception {
6968
}
7069

7170
@Test
72-
public void splitMessageWithCollectionPayload() throws Exception {
71+
void splitMessageWithCollectionPayload() {
7372
List<String> payload = Arrays.asList("x", "y", "z");
7473
Message<List<String>> message = MessageBuilder.withPayload(payload).build();
7574
QueueChannel replyChannel = new QueueChannel();
@@ -90,7 +89,7 @@ public void splitMessageWithCollectionPayload() throws Exception {
9089
}
9190

9291
@Test
93-
public void correlationIdCopiedFromMessageId() {
92+
void correlationIdCopiedFromMessageId() {
9493
Message<String> message = MessageBuilder.withPayload("test").build();
9594
DirectChannel inputChannel = new DirectChannel();
9695
QueueChannel outputChannel = new QueueChannel(1);
@@ -105,7 +104,7 @@ public void correlationIdCopiedFromMessageId() {
105104
}
106105

107106
@Test
108-
public void splitMessageWithEmptyCollectionPayload() throws Exception {
107+
void splitMessageWithEmptyCollectionPayload() {
109108
Message<List<String>> message = MessageBuilder.withPayload(Collections.<String>emptyList()).build();
110109
QueueChannel replyChannel = new QueueChannel();
111110
DefaultMessageSplitter splitter = new DefaultMessageSplitter();
@@ -116,7 +115,7 @@ public void splitMessageWithEmptyCollectionPayload() throws Exception {
116115
}
117116

118117
@Test
119-
public void splitStream() {
118+
void splitStream() {
120119
Message<?> message = new GenericMessage<>(
121120
Stream.generate(Math::random)
122121
.limit(10));
@@ -133,7 +132,7 @@ public void splitStream() {
133132
}
134133

135134
@Test
136-
public void splitFlux() {
135+
void splitFlux() {
137136
Message<?> message = new GenericMessage<>(
138137
Flux
139138
.generate(() -> 0,
@@ -159,7 +158,7 @@ public void splitFlux() {
159158
}
160159

161160
@Test
162-
public void splitArrayPayloadReactive() {
161+
void splitArrayPayloadReactive() {
163162
Message<?> message = new GenericMessage<>(new String[] { "x", "y", "z" });
164163
FluxMessageChannel replyChannel = new FluxMessageChannel();
165164
DefaultMessageSplitter splitter = new DefaultMessageSplitter();
@@ -174,14 +173,13 @@ public void splitArrayPayloadReactive() {
174173

175174
StepVerifier.create(testFlux)
176175
.expectNext("x", "y", "z")
177-
.then(() ->
178-
((Subscriber<?>) TestUtils.getPropertyValue(replyChannel, "subscribers", List.class).get(0))
179-
.onComplete())
180-
.verifyComplete();
176+
.expectNoEvent(Duration.ofMillis(100))
177+
.thenCancel()
178+
.verify(Duration.ofSeconds(1));
181179
}
182180

183181
@Test
184-
public void splitStreamReactive() {
182+
void splitStreamReactive() {
185183
Message<?> message = new GenericMessage<>(Stream.of("x", "y", "z"));
186184
FluxMessageChannel replyChannel = new FluxMessageChannel();
187185
DefaultMessageSplitter splitter = new DefaultMessageSplitter();
@@ -196,14 +194,13 @@ public void splitStreamReactive() {
196194

197195
StepVerifier.create(testFlux)
198196
.expectNext("x", "y", "z")
199-
.then(() ->
200-
((Subscriber<?>) TestUtils.getPropertyValue(replyChannel, "subscribers", List.class).get(0))
201-
.onComplete())
202-
.verifyComplete();
197+
.expectNoEvent(Duration.ofMillis(100))
198+
.thenCancel()
199+
.verify(Duration.ofSeconds(1));
203200
}
204201

205202
@Test
206-
public void splitFluxReactive() {
203+
void splitFluxReactive() {
207204
Message<?> message = new GenericMessage<>(Flux.just("x", "y", "z"));
208205
FluxMessageChannel replyChannel = new FluxMessageChannel();
209206
DefaultMessageSplitter splitter = new DefaultMessageSplitter();
@@ -218,10 +215,9 @@ public void splitFluxReactive() {
218215

219216
StepVerifier.create(testFlux)
220217
.expectNext("x", "y", "z")
221-
.then(() ->
222-
((Subscriber<?>) TestUtils.getPropertyValue(replyChannel, "subscribers", List.class).get(0))
223-
.onComplete())
224-
.verifyComplete();
218+
.expectNoEvent(Duration.ofMillis(100))
219+
.thenCancel()
220+
.verify(Duration.ofSeconds(1));
225221
}
226222

227223
}

0 commit comments

Comments
 (0)