Improve IMAP IDLE tests

This forces the race condition that was fixed in #3535 consistently.
Before the `IdleCanceler` was used to cancel the `idle()` call in addition to the normal flow. 
That should not be necessary any more.
This commit is contained in:
Alexander Pinske
2021-04-09 21:57:04 +02:00
committed by GitHub
parent d8c7ae7b2f
commit 3c27241d31
2 changed files with 2 additions and 6 deletions

View File

@@ -185,13 +185,10 @@ public class ImapMailReceiverTests {
receiver.setMaxFetchSize(1);
receiver.setShouldDeleteMessages(false);
receiver.setShouldMarkMessagesAsRead(true);
receiver.setCancelIdleInterval(1);
ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
setUpScheduler(receiver, taskScheduler);
receiver.setUserFlag("testSIUserFlag");
receiver.afterPropertiesSet();
LogAccessor logger = spy(TestUtils.getPropertyValue(receiver, "logger", LogAccessor.class));
new DirectFieldAccessor(receiver).setPropertyValue("logger", logger);
ImapIdleChannelAdapter adapter = new ImapIdleChannelAdapter(receiver);
QueueChannel channel = new QueueChannel();
adapter.setOutputChannel(channel);
@@ -237,7 +234,6 @@ public class ImapMailReceiverTests {
}
assertThat(channel.receive(20000)).isNotNull(); // new message after idle
assertThat(channel.receive(100)).isNull(); // no new message after second and third idle
verify(logger).debug("Canceling IDLE");
adapter.stop();
taskScheduler.shutdown();