Upgrade to Mockito-5.3.0
Fix `ImapMailReceiverTests` and `Pop3MailReceiverTests` to not use mocks for messages
This commit is contained in:
@@ -89,7 +89,7 @@ ext {
|
||||
mailVersion = '1.0.0'
|
||||
micrometerTracingVersion = '1.1.0-RC1'
|
||||
micrometerVersion = '1.11.0-RC1'
|
||||
mockitoVersion = '5.2.0'
|
||||
mockitoVersion = '5.3.0'
|
||||
mongoDriverVersion = '4.9.1'
|
||||
mysqlVersion = '8.0.32'
|
||||
pahoMqttClientVersion = '1.2.5'
|
||||
|
||||
@@ -104,7 +104,7 @@ import static org.mockito.Mockito.when;
|
||||
@SpringJUnitConfig
|
||||
@ContextConfiguration(
|
||||
"classpath:org/springframework/integration/mail/config/ImapIdleChannelAdapterParserTests-context.xml")
|
||||
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
|
||||
@DirtiesContext
|
||||
public class ImapMailReceiverTests {
|
||||
|
||||
private AtomicInteger failed;
|
||||
@@ -269,11 +269,11 @@ public class ImapMailReceiverTests {
|
||||
user.deliver(GreenMailUtil.createTextEmail("user", "sender", "subject", "body",
|
||||
imapIdleServer.getImap().getServerSetup()));
|
||||
AbstractMailReceiver receiver = new ImapMailReceiver();
|
||||
Message msg1 = spy(GreenMailUtil.newMimeMessage("test1"));
|
||||
Message msg2 = spy(GreenMailUtil.newMimeMessage("test2"));
|
||||
Message msg1 = GreenMailUtil.newMimeMessage("test1");
|
||||
Message msg2 = GreenMailUtil.newMimeMessage("test2");
|
||||
receiver = receiveAndMarkAsReadDontDeleteGuts(receiver, msg1, msg2);
|
||||
verify(msg1, times(1)).setFlag(Flag.SEEN, true);
|
||||
verify(msg2, times(1)).setFlag(Flag.SEEN, true);
|
||||
assertThat(msg1.getFlags().contains(Flag.SEEN)).isTrue();
|
||||
assertThat(msg2.getFlags().contains(Flag.SEEN)).isTrue();
|
||||
verify(receiver, times(0)).deleteMessages(Mockito.any());
|
||||
}
|
||||
|
||||
@@ -312,28 +312,28 @@ public class ImapMailReceiverTests {
|
||||
@Test
|
||||
public void receiveAndMarkAsReadDontDeletePassingFilter() throws Exception {
|
||||
AbstractMailReceiver receiver = new ImapMailReceiver();
|
||||
Message msg1 = spy(GreenMailUtil.newMimeMessage("test1"));
|
||||
Message msg2 = spy(GreenMailUtil.newMimeMessage("test2"));
|
||||
Message msg1 = GreenMailUtil.newMimeMessage("test1");
|
||||
Message msg2 = GreenMailUtil.newMimeMessage("test2");
|
||||
Expression selectorExpression = new SpelExpressionParser().parseExpression("true");
|
||||
receiver.setSelectorExpression(selectorExpression);
|
||||
receiver = receiveAndMarkAsReadDontDeleteGuts(receiver, msg1, msg2);
|
||||
verify(msg1, times(1)).setFlag(Flag.SEEN, true);
|
||||
verify(msg2, times(1)).setFlag(Flag.SEEN, true);
|
||||
assertThat(msg1.getFlags().contains(Flag.SEEN)).isTrue();
|
||||
assertThat(msg2.getFlags().contains(Flag.SEEN)).isTrue();
|
||||
verify(receiver, times(0)).deleteMessages(Mockito.any());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void receiveAndMarkAsReadDontDeleteFiltered() throws Exception {
|
||||
AbstractMailReceiver receiver = new ImapMailReceiver();
|
||||
Message msg1 = spy(GreenMailUtil.newMimeMessage("test1"));
|
||||
Message msg2 = spy(GreenMailUtil.newMimeMessage("test2"));
|
||||
Message msg1 = GreenMailUtil.newMimeMessage("test1");
|
||||
Message msg2 = GreenMailUtil.newMimeMessage("test2");
|
||||
given(msg2.getSubject()).willReturn("foo"); // should not be marked seen
|
||||
Expression selectorExpression = new SpelExpressionParser()
|
||||
.parseExpression("subject == null OR !subject.equals('foo')");
|
||||
receiver.setSelectorExpression(selectorExpression);
|
||||
receiver = receiveAndMarkAsReadDontDeleteGuts(receiver, msg1, msg2);
|
||||
verify(msg1, times(1)).setFlag(Flag.SEEN, true);
|
||||
verify(msg2, never()).setFlag(Flag.SEEN, true);
|
||||
assertThat(msg1.getFlags().contains(Flag.SEEN)).isTrue();
|
||||
assertThat(msg2.getFlags().contains(Flag.SEEN)).isTrue();
|
||||
verify(receiver, times(0)).deleteMessages(Mockito.any());
|
||||
}
|
||||
|
||||
@@ -400,8 +400,8 @@ public class ImapMailReceiverTests {
|
||||
given(folder.getPermanentFlags()).willReturn(new Flags(Flags.Flag.USER));
|
||||
folderField.set(receiver, folder);
|
||||
|
||||
Message msg1 = spy(GreenMailUtil.newMimeMessage("test1"));
|
||||
Message msg2 = spy(GreenMailUtil.newMimeMessage("test2"));
|
||||
Message msg1 = GreenMailUtil.newMimeMessage("test1");
|
||||
Message msg2 = GreenMailUtil.newMimeMessage("test2");
|
||||
final Message[] messages = new Message[] {msg1, msg2};
|
||||
willAnswer(invocation -> {
|
||||
DirectFieldAccessor accessor = new DirectFieldAccessor(invocation.getMock());
|
||||
@@ -416,8 +416,10 @@ public class ImapMailReceiverTests {
|
||||
|
||||
willAnswer(invocation -> null).given(receiver).fetchMessages(messages);
|
||||
receiver.receive();
|
||||
verify(msg1, times(1)).setFlag(Flag.SEEN, true);
|
||||
verify(msg2, times(1)).setFlag(Flag.SEEN, true);
|
||||
|
||||
assertThat(msg1.getFlags().contains(Flag.SEEN)).isTrue();
|
||||
assertThat(msg2.getFlags().contains(Flag.SEEN)).isTrue();
|
||||
|
||||
verify(receiver, times(1)).deleteMessages(Mockito.any());
|
||||
}
|
||||
|
||||
@@ -436,8 +438,8 @@ public class ImapMailReceiverTests {
|
||||
folderField.set(receiver, folder);
|
||||
|
||||
|
||||
Message msg1 = spy(GreenMailUtil.newMimeMessage("test1"));
|
||||
Message msg2 = spy(GreenMailUtil.newMimeMessage("test2"));
|
||||
Message msg1 = GreenMailUtil.newMimeMessage("test1");
|
||||
Message msg2 = GreenMailUtil.newMimeMessage("test2");
|
||||
final Message[] messages = new Message[] {msg1, msg2};
|
||||
willAnswer(invocation -> null).given(receiver).openFolder();
|
||||
|
||||
@@ -446,8 +448,8 @@ public class ImapMailReceiverTests {
|
||||
willAnswer(invocation -> null).given(receiver).fetchMessages(messages);
|
||||
receiver.afterPropertiesSet();
|
||||
receiver.receive();
|
||||
verify(msg1, times(0)).setFlag(Flag.SEEN, true);
|
||||
verify(msg2, times(0)).setFlag(Flag.SEEN, true);
|
||||
assertThat(msg1.getFlags().contains(Flag.SEEN)).isFalse();
|
||||
assertThat(msg2.getFlags().contains(Flag.SEEN)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -465,8 +467,8 @@ public class ImapMailReceiverTests {
|
||||
given(folder.getPermanentFlags()).willReturn(new Flags(Flags.Flag.USER));
|
||||
folderField.set(receiver, folder);
|
||||
|
||||
Message msg1 = spy(GreenMailUtil.newMimeMessage("test1"));
|
||||
Message msg2 = spy(GreenMailUtil.newMimeMessage("test2"));
|
||||
Message msg1 = GreenMailUtil.newMimeMessage("test1");
|
||||
Message msg2 = GreenMailUtil.newMimeMessage("test2");
|
||||
final Message[] messages = new Message[] {msg1, msg2};
|
||||
willAnswer(invocation -> {
|
||||
DirectFieldAccessor accessor = new DirectFieldAccessor(invocation.getMock());
|
||||
@@ -482,10 +484,11 @@ public class ImapMailReceiverTests {
|
||||
willAnswer(invocation -> null).given(receiver).fetchMessages(messages);
|
||||
receiver.afterPropertiesSet();
|
||||
receiver.receive();
|
||||
verify(msg1, times(0)).setFlag(Flag.SEEN, true);
|
||||
verify(msg2, times(0)).setFlag(Flag.SEEN, true);
|
||||
verify(msg1, times(1)).setFlag(Flag.DELETED, true);
|
||||
verify(msg2, times(1)).setFlag(Flag.DELETED, true);
|
||||
|
||||
assertThat(msg1.getFlags().contains(Flag.SEEN)).isFalse();
|
||||
assertThat(msg2.getFlags().contains(Flag.SEEN)).isFalse();
|
||||
assertThat(msg1.getFlags().contains(Flag.DELETED)).isTrue();
|
||||
assertThat(msg2.getFlags().contains(Flag.DELETED)).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -501,8 +504,8 @@ public class ImapMailReceiverTests {
|
||||
given(folder.getPermanentFlags()).willReturn(new Flags(Flags.Flag.USER));
|
||||
folderField.set(receiver, folder);
|
||||
|
||||
Message msg1 = spy(GreenMailUtil.newMimeMessage("test1"));
|
||||
Message msg2 = spy(GreenMailUtil.newMimeMessage("test2"));
|
||||
Message msg1 = GreenMailUtil.newMimeMessage("test1");
|
||||
Message msg2 = GreenMailUtil.newMimeMessage("test2");
|
||||
final Message[] messages = new Message[] {msg1, msg2};
|
||||
willAnswer(invocation -> {
|
||||
DirectFieldAccessor accessor = new DirectFieldAccessor(invocation.getMock());
|
||||
@@ -517,8 +520,8 @@ public class ImapMailReceiverTests {
|
||||
|
||||
willAnswer(invocation -> null).given(receiver).fetchMessages(messages);
|
||||
receiver.receive();
|
||||
verify(msg1, times(1)).setFlag(Flag.SEEN, true);
|
||||
verify(msg2, times(1)).setFlag(Flag.SEEN, true);
|
||||
assertThat(msg1.getFlags().contains(Flag.SEEN)).isTrue();
|
||||
assertThat(msg2.getFlags().contains(Flag.SEEN)).isTrue();
|
||||
verify(receiver, times(0)).deleteMessages(Mockito.any());
|
||||
}
|
||||
|
||||
@@ -535,9 +538,7 @@ public class ImapMailReceiverTests {
|
||||
DirectFieldAccessor adapterAccessor = new DirectFieldAccessor(adapter);
|
||||
adapterAccessor.setPropertyValue("mailReceiver", receiver);
|
||||
|
||||
Message mailMessage = spy(GreenMailUtil.newMimeMessage("test1"));
|
||||
Flags flags = mock(Flags.class);
|
||||
given(mailMessage.getFlags()).willReturn(flags);
|
||||
Message mailMessage = GreenMailUtil.newMimeMessage("test1");
|
||||
final Message[] messages = new Message[] {mailMessage};
|
||||
|
||||
willAnswer(invocation -> {
|
||||
@@ -603,10 +604,8 @@ public class ImapMailReceiverTests {
|
||||
DirectFieldAccessor adapterAccessor = new DirectFieldAccessor(adapter);
|
||||
adapterAccessor.setPropertyValue("mailReceiver", receiver);
|
||||
|
||||
Message mailMessage = spy(GreenMailUtil.newMimeMessage("test1"));
|
||||
Flags flags = mock(Flags.class);
|
||||
given(mailMessage.getFlags()).willReturn(flags);
|
||||
final Message[] messages = new Message[] {mailMessage};
|
||||
Message mailMessage = GreenMailUtil.newMimeMessage("test1");
|
||||
Message[] messages = new Message[] {mailMessage};
|
||||
|
||||
willAnswer(invocation -> messages).given(receiver).searchForNewMessages();
|
||||
|
||||
@@ -650,9 +649,7 @@ public class ImapMailReceiverTests {
|
||||
|
||||
willAnswer(invocation -> folder).given(receiver).getFolder();
|
||||
|
||||
Message mailMessage = spy(GreenMailUtil.newMimeMessage("test1"));
|
||||
Flags flags = mock(Flags.class);
|
||||
given(mailMessage.getFlags()).willReturn(flags);
|
||||
Message mailMessage = GreenMailUtil.newMimeMessage("test1");
|
||||
final Message[] messages = new Message[] {mailMessage};
|
||||
|
||||
final AtomicInteger shouldFindMessagesCounter = new AtomicInteger(2);
|
||||
@@ -724,9 +721,7 @@ public class ImapMailReceiverTests {
|
||||
|
||||
willAnswer(invocation -> folder).given(receiver).getFolder();
|
||||
|
||||
Message mailMessage = spy(GreenMailUtil.newMimeMessage("test1"));
|
||||
Flags flags = mock(Flags.class);
|
||||
given(mailMessage.getFlags()).willReturn(flags);
|
||||
Message mailMessage = GreenMailUtil.newMimeMessage("test1");
|
||||
final Message[] messages = new Message[] {mailMessage};
|
||||
|
||||
willAnswer(invocation -> messages).given(receiver).searchForNewMessages();
|
||||
@@ -747,7 +742,7 @@ public class ImapMailReceiverTests {
|
||||
* not receive any early messages.
|
||||
*/
|
||||
assertThat(channel.receive(100)).isNull();
|
||||
assertThat(channel.receive(10000)).isNotNull();
|
||||
assertThat(channel.receive(20000)).isNotNull();
|
||||
assertThat(idles.await(10, TimeUnit.SECONDS)).isTrue();
|
||||
adapter.stop();
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2022 the original author or authors.
|
||||
* Copyright 2002-2023 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -28,11 +28,10 @@ import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.DirectFieldAccessor;
|
||||
import org.springframework.beans.factory.BeanFactory;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.Mockito.doAnswer;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
/**
|
||||
@@ -57,8 +56,8 @@ public class Pop3MailReceiverTests {
|
||||
when(folder.getPermanentFlags()).thenReturn(new Flags(Flags.Flag.USER));
|
||||
folderField.set(receiver, folder);
|
||||
|
||||
Message msg1 = spy(GreenMailUtil.newMimeMessage("test1"));
|
||||
Message msg2 = spy(GreenMailUtil.newMimeMessage("test2"));
|
||||
Message msg1 = GreenMailUtil.newMimeMessage("test1");
|
||||
Message msg2 = GreenMailUtil.newMimeMessage("test2");
|
||||
final Message[] messages = new Message[] {msg1, msg2};
|
||||
doAnswer(invocation -> {
|
||||
DirectFieldAccessor accessor = new DirectFieldAccessor(invocation.getMock());
|
||||
@@ -74,8 +73,9 @@ public class Pop3MailReceiverTests {
|
||||
doAnswer(invocation -> null).when(receiver).fetchMessages(messages);
|
||||
receiver.afterPropertiesSet();
|
||||
receiver.receive();
|
||||
verify(msg1, times(1)).setFlag(Flag.DELETED, true);
|
||||
verify(msg2, times(1)).setFlag(Flag.DELETED, true);
|
||||
|
||||
assertThat(msg1.getFlags().contains(Flag.DELETED)).isTrue();
|
||||
assertThat(msg2.getFlags().contains(Flag.DELETED)).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -92,8 +92,8 @@ public class Pop3MailReceiverTests {
|
||||
when(folder.getPermanentFlags()).thenReturn(new Flags(Flags.Flag.USER));
|
||||
folderField.set(receiver, folder);
|
||||
|
||||
Message msg1 = spy(GreenMailUtil.newMimeMessage("test1"));
|
||||
Message msg2 = spy(GreenMailUtil.newMimeMessage("test2"));
|
||||
Message msg1 = GreenMailUtil.newMimeMessage("test1");
|
||||
Message msg2 = GreenMailUtil.newMimeMessage("test2");
|
||||
final Message[] messages = new Message[] {msg1, msg2};
|
||||
doAnswer(invocation -> null).when(receiver).openFolder();
|
||||
|
||||
@@ -102,8 +102,9 @@ public class Pop3MailReceiverTests {
|
||||
doAnswer(invocation -> null).when(receiver).fetchMessages(messages);
|
||||
receiver.afterPropertiesSet();
|
||||
receiver.receive();
|
||||
verify(msg1, times(0)).setFlag(Flag.DELETED, true);
|
||||
verify(msg2, times(0)).setFlag(Flag.DELETED, true);
|
||||
|
||||
assertThat(msg1.getFlags().contains(Flag.DELETED)).isFalse();
|
||||
assertThat(msg2.getFlags().contains(Flag.DELETED)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -119,8 +120,8 @@ public class Pop3MailReceiverTests {
|
||||
when(folder.getPermanentFlags()).thenReturn(new Flags(Flags.Flag.USER));
|
||||
folderField.set(receiver, folder);
|
||||
|
||||
Message msg1 = spy(GreenMailUtil.newMimeMessage("test1"));
|
||||
Message msg2 = spy(GreenMailUtil.newMimeMessage("test2"));
|
||||
Message msg1 = GreenMailUtil.newMimeMessage("test1");
|
||||
Message msg2 = GreenMailUtil.newMimeMessage("test2");
|
||||
final Message[] messages = new Message[] {msg1, msg2};
|
||||
doAnswer(invocation -> null).when(receiver).openFolder();
|
||||
|
||||
@@ -129,8 +130,9 @@ public class Pop3MailReceiverTests {
|
||||
doAnswer(invocation -> null).when(receiver).fetchMessages(messages);
|
||||
receiver.afterPropertiesSet();
|
||||
receiver.receive();
|
||||
verify(msg1, times(0)).setFlag(Flag.DELETED, true);
|
||||
verify(msg2, times(0)).setFlag(Flag.DELETED, true);
|
||||
|
||||
assertThat(msg1.getFlags().contains(Flag.DELETED)).isFalse();
|
||||
assertThat(msg2.getFlags().contains(Flag.DELETED)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -146,8 +148,8 @@ public class Pop3MailReceiverTests {
|
||||
when(folder.getPermanentFlags()).thenReturn(new Flags(Flags.Flag.USER));
|
||||
folderField.set(receiver, folder);
|
||||
|
||||
Message msg1 = spy(GreenMailUtil.newMimeMessage("test1"));
|
||||
Message msg2 = spy(GreenMailUtil.newMimeMessage("test2"));
|
||||
Message msg1 = GreenMailUtil.newMimeMessage("test1");
|
||||
Message msg2 = GreenMailUtil.newMimeMessage("test2");
|
||||
final Message[] messages = new Message[] {msg1, msg2};
|
||||
doAnswer(invocation -> null).when(receiver).openFolder();
|
||||
|
||||
@@ -156,8 +158,9 @@ public class Pop3MailReceiverTests {
|
||||
doAnswer(invocation -> null).when(receiver).fetchMessages(messages);
|
||||
receiver.afterPropertiesSet();
|
||||
receiver.receive();
|
||||
verify(msg1, times(0)).setFlag(Flag.DELETED, true);
|
||||
verify(msg2, times(0)).setFlag(Flag.DELETED, true);
|
||||
|
||||
assertThat(msg1.getFlags().contains(Flag.DELETED)).isFalse();
|
||||
assertThat(msg2.getFlags().contains(Flag.DELETED)).isFalse();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user