Skip to content

Commit 20348ae

Browse files
committed
Fix compatibility with the latest Reactor
* Fix missed long-running tests according components under testing changes
1 parent d020d7a commit 20348ae

File tree

3 files changed

+43
-45
lines changed

3 files changed

+43
-45
lines changed

spring-integration-core/src/main/java/org/springframework/integration/gateway/MessagingGatewaySupport.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -894,7 +894,7 @@ private static class MonoReplyChannel implements MessageChannel, ReactiveStreams
894894

895895
@Override
896896
public boolean send(Message<?> message, long timeout) {
897-
return this.replyMono.tryEmitValue(message).hasSucceeded();
897+
return this.replyMono.tryEmitValue(message).isSuccess();
898898
}
899899

900900
@Override

spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/TcpOutboundGatewayTests.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -147,12 +147,12 @@ void testGoodNetSingle() throws Exception {
147147
gateway.setRemoteTimeout(60000);
148148
gateway.setSendTimeout(61000);
149149
// ensure this did NOT change the remote timeout
150-
assertThat(TestUtils.getPropertyValue(gateway, "remoteTimeoutExpression.literalValue")).isEqualTo("60000");
150+
assertThat(TestUtils.getPropertyValue(gateway, "remoteTimeoutExpression.value")).isEqualTo(60000L);
151151
gateway.setRequestTimeout(60000);
152152
for (int i = 100; i < 200; i++) {
153153
gateway.handleMessage(MessageBuilder.withPayload("Test" + i).build());
154154
}
155-
Set<String> replies = new HashSet<String>();
155+
Set<String> replies = new HashSet<>();
156156
for (int i = 100; i < 200; i++) {
157157
Message<?> m = replyChannel.receive(10000);
158158
assertThat(m).isNotNull();
@@ -207,7 +207,7 @@ void testGoodNetMultiplex() throws Exception {
207207
for (int i = 100; i < 110; i++) {
208208
gateway.handleMessage(MessageBuilder.withPayload("Test" + i).build());
209209
}
210-
Set<String> replies = new HashSet<String>();
210+
Set<String> replies = new HashSet<>();
211211
for (int i = 100; i < 110; i++) {
212212
Message<?> m = replyChannel.receive(10000);
213213
assertThat(m).isNotNull();
@@ -348,7 +348,7 @@ private void testGoodNetGWTimeoutGuts(AbstractClientConnectionFactory ccf,
348348
* The payload of the last message received by the remote side;
349349
* used to verify the correct response is received.
350350
*/
351-
final AtomicReference<String> lastReceived = new AtomicReference<String>();
351+
final AtomicReference<String> lastReceived = new AtomicReference<>();
352352
final CountDownLatch serverLatch = new CountDownLatch(2);
353353

354354
this.executor.execute(() -> {
@@ -447,7 +447,7 @@ private void testGoodNetGWTimeoutGuts(AbstractClientConnectionFactory ccf,
447447

448448
@Test
449449
void testCachingFailover() throws Exception {
450-
final AtomicReference<ServerSocket> serverSocket = new AtomicReference<ServerSocket>();
450+
final AtomicReference<ServerSocket> serverSocket = new AtomicReference<>();
451451
final CountDownLatch latch = new CountDownLatch(1);
452452
final AtomicBoolean done = new AtomicBoolean();
453453
final CountDownLatch serverLatch = new CountDownLatch(1);
@@ -489,7 +489,7 @@ void testCachingFailover() throws Exception {
489489
TcpConnectionSupport mockConn1 = makeMockConnection();
490490
when(factory1.getConnection()).thenReturn(mockConn1);
491491
doThrow(new UncheckedIOException(new IOException("fail")))
492-
.when(mockConn1).send(Mockito.any(Message.class));
492+
.when(mockConn1).send(Mockito.any(Message.class));
493493

494494
AbstractClientConnectionFactory factory2 = new TcpNetClientConnectionFactory("localhost",
495495
serverSocket.get().getLocalPort());
@@ -498,7 +498,7 @@ void testCachingFailover() throws Exception {
498498
factory2.setSoTimeout(10000);
499499
factory2.setSingleUse(false);
500500

501-
List<AbstractClientConnectionFactory> factories = new ArrayList<AbstractClientConnectionFactory>();
501+
List<AbstractClientConnectionFactory> factories = new ArrayList<>();
502502
factories.add(factory1);
503503
factories.add(factory2);
504504
FailoverClientConnectionFactory failoverFactory = new FailoverClientConnectionFactory(factories);
@@ -515,7 +515,7 @@ void testCachingFailover() throws Exception {
515515
gateway.afterPropertiesSet();
516516
gateway.start();
517517

518-
GenericMessage<String> message = new GenericMessage<String>("foo");
518+
GenericMessage<String> message = new GenericMessage<>("foo");
519519
gateway.handleMessage(message);
520520
Message<?> reply = outputChannel.receive(0);
521521
assertThat(reply).isNotNull();
@@ -572,7 +572,7 @@ void testFailoverCached() throws Exception {
572572
when(factory1.getConnection()).thenReturn(mockConn1);
573573
when(factory1.isSingleUse()).thenReturn(true);
574574
doThrow(new UncheckedIOException(new IOException("fail")))
575-
.when(mockConn1).send(Mockito.any(Message.class));
575+
.when(mockConn1).send(Mockito.any(Message.class));
576576
CachingClientConnectionFactory cachingFactory1 = new CachingClientConnectionFactory(factory1, 1);
577577

578578
AbstractClientConnectionFactory factory2 = new TcpNetClientConnectionFactory("localhost",
@@ -584,7 +584,7 @@ void testFailoverCached() throws Exception {
584584
CachingClientConnectionFactory cachingFactory2 = new CachingClientConnectionFactory(factory2, 1);
585585

586586
// Failover
587-
List<AbstractClientConnectionFactory> factories = new ArrayList<AbstractClientConnectionFactory>();
587+
List<AbstractClientConnectionFactory> factories = new ArrayList<>();
588588
factories.add(cachingFactory1);
589589
factories.add(cachingFactory2);
590590
FailoverClientConnectionFactory failoverFactory = new FailoverClientConnectionFactory(factories);
@@ -600,7 +600,7 @@ void testFailoverCached() throws Exception {
600600
gateway.afterPropertiesSet();
601601
gateway.start();
602602

603-
GenericMessage<String> message = new GenericMessage<String>("foo");
603+
GenericMessage<String> message = new GenericMessage<>("foo");
604604
gateway.handleMessage(message);
605605
Message<?> reply = outputChannel.receive(0);
606606
assertThat(reply).isNotNull();

spring-integration-mail/src/test/java/org/springframework/integration/mail/ImapMailReceiverTests.java

Lines changed: 31 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2019 the original author or authors.
2+
* Copyright 2002-2020 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -54,37 +54,36 @@
5454
import javax.mail.search.FlagTerm;
5555
import javax.mail.search.FromTerm;
5656

57-
import org.apache.commons.logging.Log;
58-
import org.junit.After;
59-
import org.junit.Before;
60-
import org.junit.ClassRule;
61-
import org.junit.Test;
62-
import org.junit.runner.RunWith;
57+
import org.junit.jupiter.api.AfterEach;
58+
import org.junit.jupiter.api.BeforeEach;
59+
import org.junit.jupiter.api.Test;
6360
import org.mockito.Mockito;
6461

6562
import org.springframework.beans.DirectFieldAccessor;
6663
import org.springframework.beans.factory.BeanFactory;
6764
import org.springframework.beans.factory.annotation.Autowired;
6865
import org.springframework.context.ApplicationContext;
6966
import org.springframework.core.io.ClassPathResource;
67+
import org.springframework.core.log.LogAccessor;
7068
import org.springframework.expression.Expression;
7169
import org.springframework.expression.spel.standard.SpelExpressionParser;
7270
import org.springframework.integration.channel.DirectChannel;
7371
import org.springframework.integration.channel.QueueChannel;
7472
import org.springframework.integration.handler.AbstractReplyProducingMessageHandler;
7573
import org.springframework.integration.history.MessageHistory;
7674
import org.springframework.integration.mail.support.DefaultMailHeaderMapper;
75+
import org.springframework.integration.test.condition.LongRunningTest;
7776
import org.springframework.integration.test.mail.TestMailServer;
7877
import org.springframework.integration.test.mail.TestMailServer.ImapServer;
79-
import org.springframework.integration.test.support.LongRunningIntegrationTest;
8078
import org.springframework.integration.test.util.TestUtils;
8179
import org.springframework.messaging.MessageHeaders;
8280
import org.springframework.messaging.PollableChannel;
8381
import org.springframework.scheduling.TaskScheduler;
8482
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
8583
import org.springframework.test.annotation.DirtiesContext;
8684
import org.springframework.test.context.ContextConfiguration;
87-
import org.springframework.test.context.junit4.SpringRunner;
85+
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
86+
import org.springframework.util.MimeTypeUtils;
8887

8988
import com.sun.mail.imap.IMAPFolder;
9089

@@ -93,23 +92,21 @@
9392
* @author Gary Russell
9493
* @author Artem Bilan
9594
*/
96-
@RunWith(SpringRunner.class)
95+
@SpringJUnitConfig
9796
@ContextConfiguration(
9897
"classpath:org/springframework/integration/mail/config/ImapIdleChannelAdapterParserTests-context.xml")
9998
@DirtiesContext
99+
@LongRunningTest
100100
public class ImapMailReceiverTests {
101101

102-
@ClassRule
103-
public static final LongRunningIntegrationTest longTests = new LongRunningIntegrationTest();
104-
105102
private AtomicInteger failed;
106103

107104
private ImapServer imapIdleServer;
108105

109106
@Autowired
110107
private ApplicationContext context;
111108

112-
@Before
109+
@BeforeEach
113110
public void setup() throws InterruptedException {
114111
failed = new AtomicInteger(0);
115112
this.imapIdleServer = TestMailServer.imap(0);
@@ -120,7 +117,7 @@ public void setup() throws InterruptedException {
120117
assertThat(n < 100).isTrue();
121118
}
122119

123-
@After
120+
@AfterEach
124121
public void tearDown() {
125122
this.imapIdleServer.stop();
126123
}
@@ -192,7 +189,7 @@ public void testIdleWithServerGuts(ImapMailReceiver receiver, boolean mapped, bo
192189
setUpScheduler(receiver, taskScheduler);
193190
receiver.setUserFlag("testSIUserFlag");
194191
receiver.afterPropertiesSet();
195-
Log logger = spy(TestUtils.getPropertyValue(receiver, "logger", Log.class));
192+
LogAccessor logger = spy(TestUtils.getPropertyValue(receiver, "logger", LogAccessor.class));
196193
new DirectFieldAccessor(receiver).setPropertyValue("logger", logger);
197194
ImapIdleChannelAdapter adapter = new ImapIdleChannelAdapter(receiver);
198195
QueueChannel channel = new QueueChannel();
@@ -222,7 +219,7 @@ public void testIdleWithServerGuts(ImapMailReceiver receiver, boolean mapped, bo
222219
MessageHeaders headers = received.getHeaders();
223220
assertThat(headers.get(MailHeaders.RAW_HEADERS)).isNotNull();
224221
assertThat(headers.get(MailHeaders.CONTENT_TYPE)).isEqualTo("TEXT/PLAIN; charset=ISO-8859-1");
225-
assertThat(headers.get(MessageHeaders.CONTENT_TYPE)).isEqualTo("TEXT/PLAIN; charset=ISO-8859-1");
222+
assertThat(headers.get(MessageHeaders.CONTENT_TYPE)).isEqualTo(MimeTypeUtils.TEXT_PLAIN_VALUE);
226223
assertThat(headers.get(MailHeaders.FROM)).isEqualTo("Bar <bar@baz>");
227224
String[] toHeader = headers.get(MailHeaders.TO, String[].class);
228225
assertThat(toHeader).isNotEmpty();
@@ -259,6 +256,7 @@ public void receiveAndMarkAsReadDontDelete() throws Exception {
259256

260257
private AbstractMailReceiver receiveAndMarkAsReadDontDeleteGuts(AbstractMailReceiver receiver, Message msg1,
261258
Message msg2) throws NoSuchFieldException, IllegalAccessException, MessagingException {
259+
262260
((ImapMailReceiver) receiver).setShouldMarkMessagesAsRead(true);
263261
receiver = spy(receiver);
264262
receiver.setBeanFactory(mock(BeanFactory.class));
@@ -269,7 +267,7 @@ private AbstractMailReceiver receiveAndMarkAsReadDontDeleteGuts(AbstractMailRece
269267
given(folder.getPermanentFlags()).willReturn(new Flags(Flags.Flag.USER));
270268
folderField.set(receiver, folder);
271269

272-
final Message[] messages = new Message[] { msg1, msg2 };
270+
final Message[] messages = new Message[]{ msg1, msg2 };
273271

274272
willAnswer(invocation -> {
275273
DirectFieldAccessor accessor = new DirectFieldAccessor(invocation.getMock());
@@ -334,7 +332,7 @@ public void receiveMarkAsReadAndDelete() throws Exception {
334332

335333
Message msg1 = mock(MimeMessage.class);
336334
Message msg2 = mock(MimeMessage.class);
337-
final Message[] messages = new Message[] { msg1, msg2 };
335+
final Message[] messages = new Message[]{ msg1, msg2 };
338336
willAnswer(invocation -> {
339337
DirectFieldAccessor accessor = new DirectFieldAccessor(invocation.getMock());
340338
int folderOpenMode = (int) accessor.getPropertyValue("folderOpenMode");
@@ -370,7 +368,7 @@ public void receiveAndDontMarkAsRead() throws Exception {
370368

371369
Message msg1 = mock(MimeMessage.class);
372370
Message msg2 = mock(MimeMessage.class);
373-
final Message[] messages = new Message[] { msg1, msg2 };
371+
final Message[] messages = new Message[]{ msg1, msg2 };
374372
willAnswer(invocation -> null).given(receiver).openFolder();
375373

376374
willAnswer(invocation -> messages).given(receiver).searchForNewMessages();
@@ -399,7 +397,7 @@ public void receiveAndDontMarkAsReadButDelete() throws Exception {
399397

400398
Message msg1 = mock(MimeMessage.class);
401399
Message msg2 = mock(MimeMessage.class);
402-
final Message[] messages = new Message[] { msg1, msg2 };
400+
final Message[] messages = new Message[]{ msg1, msg2 };
403401
willAnswer(invocation -> {
404402
DirectFieldAccessor accessor = new DirectFieldAccessor(invocation.getMock());
405403
int folderOpenMode = (int) accessor.getPropertyValue("folderOpenMode");
@@ -435,7 +433,7 @@ public void receiveAndIgnoreMarkAsReadDontDelete() throws Exception {
435433

436434
Message msg1 = mock(MimeMessage.class);
437435
Message msg2 = mock(MimeMessage.class);
438-
final Message[] messages = new Message[] { msg1, msg2 };
436+
final Message[] messages = new Message[]{ msg1, msg2 };
439437
willAnswer(invocation -> {
440438
DirectFieldAccessor accessor = new DirectFieldAccessor(invocation.getMock());
441439
int folderOpenMode = (int) accessor.getPropertyValue("folderOpenMode");
@@ -470,7 +468,7 @@ public void testMessageHistory() throws Exception {
470468
MimeMessage mailMessage = mock(MimeMessage.class);
471469
Flags flags = mock(Flags.class);
472470
given(mailMessage.getFlags()).willReturn(flags);
473-
final Message[] messages = new Message[] { mailMessage };
471+
final Message[] messages = new Message[]{ mailMessage };
474472

475473
willAnswer(invocation -> {
476474
DirectFieldAccessor accessor = new DirectFieldAccessor((invocation.getMock()));
@@ -538,7 +536,7 @@ protected Object handleRequestMessage(org.springframework.messaging.Message<?> r
538536
MimeMessage mailMessage = mock(MimeMessage.class);
539537
Flags flags = mock(Flags.class);
540538
given(mailMessage.getFlags()).willReturn(flags);
541-
final Message[] messages = new Message[] { mailMessage };
539+
final Message[] messages = new Message[]{ mailMessage };
542540

543541
willAnswer(invocation -> messages).given(receiver).searchForNewMessages();
544542

@@ -585,7 +583,7 @@ public void testNoInitialIdleDelayWhenRecentNotSupported() throws Exception {
585583
MimeMessage mailMessage = mock(MimeMessage.class);
586584
Flags flags = mock(Flags.class);
587585
given(mailMessage.getFlags()).willReturn(flags);
588-
final Message[] messages = new Message[] { mailMessage };
586+
final Message[] messages = new Message[]{ mailMessage };
589587

590588
final AtomicInteger shouldFindMessagesCounter = new AtomicInteger(2);
591589
willAnswer(invocation -> {
@@ -658,7 +656,7 @@ public void testInitialIdleDelayWhenRecentIsSupported() throws Exception {
658656
MimeMessage mailMessage = mock(MimeMessage.class);
659657
Flags flags = mock(Flags.class);
660658
given(mailMessage.getFlags()).willReturn(flags);
661-
final Message[] messages = new Message[] { mailMessage };
659+
final Message[] messages = new Message[]{ mailMessage };
662660

663661
willAnswer(invocation -> messages).given(receiver).searchForNewMessages();
664662

@@ -667,7 +665,7 @@ public void testInitialIdleDelayWhenRecentIsSupported() throws Exception {
667665
final CountDownLatch idles = new CountDownLatch(2);
668666
willAnswer(invocation -> {
669667
idles.countDown();
670-
Thread.sleep(1000);
668+
Thread.sleep(500);
671669
return null;
672670
}).given(folder).idle();
673671

@@ -714,7 +712,7 @@ public void testImapLifecycleForRaceCondition() throws Exception {
714712
Folder folder = mock(Folder.class);
715713
given(folder.exists()).willReturn(true);
716714
given(folder.isOpen()).willReturn(true);
717-
given(folder.search(Mockito.any())).willReturn(new Message[] { });
715+
given(folder.search(Mockito.any())).willReturn(new Message[]{ });
718716
given(store.getFolder(Mockito.any(URLName.class))).willReturn(folder);
719717
given(folder.getPermanentFlags()).willReturn(new Flags(Flags.Flag.USER));
720718

@@ -796,7 +794,7 @@ private Folder testAttachmentsGuts(final ImapMailReceiver receiver) throws Messa
796794
given(folder.isOpen()).willReturn(true);
797795

798796
Message message = new MimeMessage(null, new ClassPathResource("test.mail").getInputStream());
799-
given(folder.search(Mockito.any())).willReturn(new Message[] { message });
797+
given(folder.search(Mockito.any())).willReturn(new Message[]{ message });
800798
given(store.getFolder(Mockito.any(URLName.class))).willReturn(folder);
801799
given(folder.getPermanentFlags()).willReturn(new Flags(Flags.Flag.USER));
802800
DirectFieldAccessor df = new DirectFieldAccessor(receiver);
@@ -811,8 +809,8 @@ private Folder testAttachmentsGuts(final ImapMailReceiver receiver) throws Messa
811809
public void testNullMessages() throws Exception {
812810
Message message1 = mock(Message.class);
813811
Message message2 = mock(Message.class);
814-
final Message[] messages1 = new Message[] { null, null, message1 };
815-
final Message[] messages2 = new Message[] { message2 };
812+
final Message[] messages1 = new Message[]{ null, null, message1 };
813+
final Message[] messages2 = new Message[]{ message2 };
816814
final SearchTermStrategy searchTermStrategy = mock(SearchTermStrategy.class);
817815
class TestReceiver extends ImapMailReceiver {
818816

@@ -872,9 +870,9 @@ public void testIdleReconnects() throws Exception {
872870
storeField.set(receiver, store);
873871

874872
ImapIdleChannelAdapter adapter = new ImapIdleChannelAdapter(receiver);
875-
Log logger = spy(TestUtils.getPropertyValue(adapter, "logger", Log.class));
873+
LogAccessor logger = spy(TestUtils.getPropertyValue(adapter, "logger", LogAccessor.class));
876874
new DirectFieldAccessor(adapter).setPropertyValue("logger", logger);
877-
willDoNothing().given(logger).warn(anyString(), any(Throwable.class));
875+
willDoNothing().given(logger).warn(any(Throwable.class), anyString());
878876
willAnswer(i -> {
879877
i.callRealMethod();
880878
throw new FolderClosedException(folder, "test");

0 commit comments

Comments
 (0)