Skip to content

Commit 6b98192

Browse files
committed
Increase timeout in fluky aggregator test
* Rework `DefaultMessageAggregatorIntegrationTests` to Junit 5 * Add `@DirtiesContext` to release a `TaskScheduler` resources when the `ApplicationContext` is closed
1 parent e9f9119 commit 6b98192

File tree

2 files changed

+19
-26
lines changed

2 files changed

+19
-26
lines changed

spring-integration-core/src/test/java/org/springframework/integration/aggregator/integration/DefaultMessageAggregatorIntegrationTests-context.xml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
http://www.springframework.org/schema/task https://www.springframework.org/schema/task/spring-task.xsd
88
http://www.springframework.org/schema/integration https://www.springframework.org/schema/integration/spring-integration.xsd">
99

10-
<annotation-config />
11-
1210
<channel id="input">
1311
<queue capacity="5" />
1412
</channel>

spring-integration-core/src/test/java/org/springframework/integration/aggregator/integration/DefaultMessageAggregatorIntegrationTests.java

Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -19,30 +19,27 @@
1919
import static org.assertj.core.api.Assertions.assertThat;
2020

2121
import java.util.Arrays;
22-
import java.util.HashMap;
2322
import java.util.List;
24-
import java.util.Map;
2523

26-
import org.junit.Test;
27-
import org.junit.runner.RunWith;
24+
import org.junit.jupiter.api.Test;
2825

2926
import org.springframework.beans.factory.annotation.Autowired;
3027
import org.springframework.beans.factory.annotation.Qualifier;
31-
import org.springframework.integration.IntegrationMessageHeaderAccessor;
28+
import org.springframework.integration.support.MessageBuilder;
29+
import org.springframework.messaging.Message;
3230
import org.springframework.messaging.MessageChannel;
3331
import org.springframework.messaging.PollableChannel;
34-
import org.springframework.messaging.support.GenericMessage;
35-
import org.springframework.test.context.ContextConfiguration;
36-
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
32+
import org.springframework.test.annotation.DirtiesContext;
33+
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
3734

3835
/**
3936
* @author Alex Peters
4037
* @author Iwein Fuld
4138
* @author Gunnar Hillert
4239
* @author Artem Bilan
4340
*/
44-
@RunWith(SpringJUnit4ClassRunner.class)
45-
@ContextConfiguration
41+
@SpringJUnitConfig
42+
@DirtiesContext
4643
public class DefaultMessageAggregatorIntegrationTests {
4744

4845
@Autowired
@@ -53,26 +50,24 @@ public class DefaultMessageAggregatorIntegrationTests {
5350
@Qualifier("output")
5451
private PollableChannel output;
5552

56-
@SuppressWarnings({ "unchecked", "rawtypes" })
57-
@Test(timeout = 10000)
53+
@Test
5854
public void testAggregation() {
5955
for (int i = 0; i < 5; i++) {
60-
Map<String, Object> headers = stubHeaders(i, 5, 1);
61-
this.input.send(new GenericMessage<>(i, headers));
56+
this.input.send(prepareSequenceMessage(i, 5, 1));
6257
}
63-
Object payload = this.output.receive().getPayload();
64-
assertThat(payload).isInstanceOf(List.class);
65-
assertThat(((List) payload).containsAll(Arrays.asList(0, 1, 2, 3, 4)))
66-
.as(payload + " doesn't contain all of {0,1,2,3,4}").isTrue();
58+
Object payload = this.output.receive(20_000).getPayload();
59+
assertThat(payload).isInstanceOf(List.class)
60+
.asList()
61+
.containsAll(Arrays.asList(0, 1, 2, 3, 4));
6762
}
6863

6964

70-
private Map<String, Object> stubHeaders(int sequenceNumber, int sequenceSize, int correllationId) {
71-
Map<String, Object> headers = new HashMap<>();
72-
headers.put(IntegrationMessageHeaderAccessor.SEQUENCE_NUMBER, sequenceNumber);
73-
headers.put(IntegrationMessageHeaderAccessor.SEQUENCE_SIZE, sequenceSize);
74-
headers.put(IntegrationMessageHeaderAccessor.CORRELATION_ID, correllationId);
75-
return headers;
65+
private static Message<?> prepareSequenceMessage(int sequenceNumber, int sequenceSize, int correlationId) {
66+
return MessageBuilder.withPayload(sequenceNumber)
67+
.setSequenceNumber(sequenceNumber)
68+
.setSequenceSize(sequenceSize)
69+
.setCorrelationId(correlationId)
70+
.build();
7671
}
7772

7873
}

0 commit comments

Comments
 (0)