INT-3744: Fix IMAPMessage receivedDate

JIRA: https://jira.spring.io/browse/INT-3744

MimeMessages are copied to eagerly fetch IMAP messages, this process loses
the `receivedDate` property.

Keep a reference to the source Message and delegate to its `receiveDate()`.

Cover more "void" getters
This commit is contained in:
Gary Russell
2015-06-16 09:29:09 -04:00
committed by Artem Bilan
parent f32fd1967b
commit 58e99b01e1
2 changed files with 30 additions and 4 deletions

View File

@@ -157,7 +157,12 @@ public class ImapMailReceiverTests {
adapter.setOutputChannel(channel);
adapter.setTaskScheduler(taskScheduler);
adapter.start();
assertNotNull(channel.receive(6000));
@SuppressWarnings("unchecked")
org.springframework.messaging.Message<MimeMessage> received =
(org.springframework.messaging.Message<MimeMessage>) channel.receive(6000);
assertNotNull(received);
assertNotNull(received.getPayload().getReceivedDate());
assertTrue(received.getPayload().getLineCount() > -1);
assertNotNull(channel.receive(6000)); // new message after idle
assertNull(channel.receive(10000)); // no new message after second and third idle
verify(logger).debug("Canceling IDLE");
@@ -755,9 +760,9 @@ public class ImapMailReceiverTests {
@Override
public void publishEvent(Object event) {
}
});
ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
taskScheduler.initialize();