104
104
@ SpringJUnitConfig
105
105
@ ContextConfiguration (
106
106
"classpath:org/springframework/integration/mail/config/ImapIdleChannelAdapterParserTests-context.xml" )
107
- @ DirtiesContext ( classMode = DirtiesContext . ClassMode . AFTER_EACH_TEST_METHOD )
107
+ @ DirtiesContext
108
108
public class ImapMailReceiverTests {
109
109
110
110
private AtomicInteger failed ;
@@ -269,11 +269,11 @@ public void receiveAndMarkAsReadDontDelete() throws Exception {
269
269
user .deliver (GreenMailUtil .createTextEmail ("user" , "sender" , "subject" , "body" ,
270
270
imapIdleServer .getImap ().getServerSetup ()));
271
271
AbstractMailReceiver receiver = new ImapMailReceiver ();
272
- Message msg1 = spy ( GreenMailUtil .newMimeMessage ("test1" ) );
273
- Message msg2 = spy ( GreenMailUtil .newMimeMessage ("test2" ) );
272
+ Message msg1 = GreenMailUtil .newMimeMessage ("test1" );
273
+ Message msg2 = GreenMailUtil .newMimeMessage ("test2" );
274
274
receiver = receiveAndMarkAsReadDontDeleteGuts (receiver , msg1 , msg2 );
275
- verify (msg1 , times ( 1 )). setFlag (Flag .SEEN , true );
276
- verify (msg2 , times ( 1 )). setFlag (Flag .SEEN , true );
275
+ assertThat (msg1 . getFlags (). contains (Flag .SEEN )). isTrue ( );
276
+ assertThat (msg2 . getFlags (). contains (Flag .SEEN )). isTrue ( );
277
277
verify (receiver , times (0 )).deleteMessages (Mockito .any ());
278
278
}
279
279
@@ -312,28 +312,28 @@ private AbstractMailReceiver receiveAndMarkAsReadDontDeleteGuts(AbstractMailRece
312
312
@ Test
313
313
public void receiveAndMarkAsReadDontDeletePassingFilter () throws Exception {
314
314
AbstractMailReceiver receiver = new ImapMailReceiver ();
315
- Message msg1 = spy ( GreenMailUtil .newMimeMessage ("test1" ) );
316
- Message msg2 = spy ( GreenMailUtil .newMimeMessage ("test2" ) );
315
+ Message msg1 = GreenMailUtil .newMimeMessage ("test1" );
316
+ Message msg2 = GreenMailUtil .newMimeMessage ("test2" );
317
317
Expression selectorExpression = new SpelExpressionParser ().parseExpression ("true" );
318
318
receiver .setSelectorExpression (selectorExpression );
319
319
receiver = receiveAndMarkAsReadDontDeleteGuts (receiver , msg1 , msg2 );
320
- verify (msg1 , times ( 1 )). setFlag (Flag .SEEN , true );
321
- verify (msg2 , times ( 1 )). setFlag (Flag .SEEN , true );
320
+ assertThat (msg1 . getFlags (). contains (Flag .SEEN )). isTrue ( );
321
+ assertThat (msg2 . getFlags (). contains (Flag .SEEN )). isTrue ( );
322
322
verify (receiver , times (0 )).deleteMessages (Mockito .any ());
323
323
}
324
324
325
325
@ Test
326
326
public void receiveAndMarkAsReadDontDeleteFiltered () throws Exception {
327
327
AbstractMailReceiver receiver = new ImapMailReceiver ();
328
- Message msg1 = spy ( GreenMailUtil .newMimeMessage ("test1" ) );
329
- Message msg2 = spy ( GreenMailUtil .newMimeMessage ("test2" ) );
328
+ Message msg1 = GreenMailUtil .newMimeMessage ("test1" );
329
+ Message msg2 = GreenMailUtil .newMimeMessage ("test2" );
330
330
given (msg2 .getSubject ()).willReturn ("foo" ); // should not be marked seen
331
331
Expression selectorExpression = new SpelExpressionParser ()
332
332
.parseExpression ("subject == null OR !subject.equals('foo')" );
333
333
receiver .setSelectorExpression (selectorExpression );
334
334
receiver = receiveAndMarkAsReadDontDeleteGuts (receiver , msg1 , msg2 );
335
- verify (msg1 , times ( 1 )). setFlag (Flag .SEEN , true );
336
- verify (msg2 , never ()). setFlag (Flag .SEEN , true );
335
+ assertThat (msg1 . getFlags (). contains (Flag .SEEN )). isTrue ( );
336
+ assertThat (msg2 . getFlags (). contains (Flag .SEEN )). isTrue ( );
337
337
verify (receiver , times (0 )).deleteMessages (Mockito .any ());
338
338
}
339
339
@@ -400,8 +400,8 @@ public void receiveMarkAsReadAndDelete() throws Exception {
400
400
given (folder .getPermanentFlags ()).willReturn (new Flags (Flags .Flag .USER ));
401
401
folderField .set (receiver , folder );
402
402
403
- Message msg1 = spy ( GreenMailUtil .newMimeMessage ("test1" ) );
404
- Message msg2 = spy ( GreenMailUtil .newMimeMessage ("test2" ) );
403
+ Message msg1 = GreenMailUtil .newMimeMessage ("test1" );
404
+ Message msg2 = GreenMailUtil .newMimeMessage ("test2" );
405
405
final Message [] messages = new Message [] {msg1 , msg2 };
406
406
willAnswer (invocation -> {
407
407
DirectFieldAccessor accessor = new DirectFieldAccessor (invocation .getMock ());
@@ -416,8 +416,10 @@ public void receiveMarkAsReadAndDelete() throws Exception {
416
416
417
417
willAnswer (invocation -> null ).given (receiver ).fetchMessages (messages );
418
418
receiver .receive ();
419
- verify (msg1 , times (1 )).setFlag (Flag .SEEN , true );
420
- verify (msg2 , times (1 )).setFlag (Flag .SEEN , true );
419
+
420
+ assertThat (msg1 .getFlags ().contains (Flag .SEEN )).isTrue ();
421
+ assertThat (msg2 .getFlags ().contains (Flag .SEEN )).isTrue ();
422
+
421
423
verify (receiver , times (1 )).deleteMessages (Mockito .any ());
422
424
}
423
425
@@ -436,8 +438,8 @@ public void receiveAndDontMarkAsRead() throws Exception {
436
438
folderField .set (receiver , folder );
437
439
438
440
439
- Message msg1 = spy ( GreenMailUtil .newMimeMessage ("test1" ) );
440
- Message msg2 = spy ( GreenMailUtil .newMimeMessage ("test2" ) );
441
+ Message msg1 = GreenMailUtil .newMimeMessage ("test1" );
442
+ Message msg2 = GreenMailUtil .newMimeMessage ("test2" );
441
443
final Message [] messages = new Message [] {msg1 , msg2 };
442
444
willAnswer (invocation -> null ).given (receiver ).openFolder ();
443
445
@@ -446,8 +448,8 @@ public void receiveAndDontMarkAsRead() throws Exception {
446
448
willAnswer (invocation -> null ).given (receiver ).fetchMessages (messages );
447
449
receiver .afterPropertiesSet ();
448
450
receiver .receive ();
449
- verify (msg1 , times ( 0 )). setFlag (Flag .SEEN , true );
450
- verify (msg2 , times ( 0 )). setFlag (Flag .SEEN , true );
451
+ assertThat (msg1 . getFlags (). contains (Flag .SEEN )). isFalse ( );
452
+ assertThat (msg2 . getFlags (). contains (Flag .SEEN )). isFalse ( );
451
453
}
452
454
453
455
@ Test
@@ -465,8 +467,8 @@ public void receiveAndDontMarkAsReadButDelete() throws Exception {
465
467
given (folder .getPermanentFlags ()).willReturn (new Flags (Flags .Flag .USER ));
466
468
folderField .set (receiver , folder );
467
469
468
- Message msg1 = spy ( GreenMailUtil .newMimeMessage ("test1" ) );
469
- Message msg2 = spy ( GreenMailUtil .newMimeMessage ("test2" ) );
470
+ Message msg1 = GreenMailUtil .newMimeMessage ("test1" );
471
+ Message msg2 = GreenMailUtil .newMimeMessage ("test2" );
470
472
final Message [] messages = new Message [] {msg1 , msg2 };
471
473
willAnswer (invocation -> {
472
474
DirectFieldAccessor accessor = new DirectFieldAccessor (invocation .getMock ());
@@ -482,10 +484,11 @@ public void receiveAndDontMarkAsReadButDelete() throws Exception {
482
484
willAnswer (invocation -> null ).given (receiver ).fetchMessages (messages );
483
485
receiver .afterPropertiesSet ();
484
486
receiver .receive ();
485
- verify (msg1 , times (0 )).setFlag (Flag .SEEN , true );
486
- verify (msg2 , times (0 )).setFlag (Flag .SEEN , true );
487
- verify (msg1 , times (1 )).setFlag (Flag .DELETED , true );
488
- verify (msg2 , times (1 )).setFlag (Flag .DELETED , true );
487
+
488
+ assertThat (msg1 .getFlags ().contains (Flag .SEEN )).isFalse ();
489
+ assertThat (msg2 .getFlags ().contains (Flag .SEEN )).isFalse ();
490
+ assertThat (msg1 .getFlags ().contains (Flag .DELETED )).isTrue ();
491
+ assertThat (msg2 .getFlags ().contains (Flag .DELETED )).isTrue ();
489
492
}
490
493
491
494
@ Test
@@ -501,8 +504,8 @@ public void receiveAndIgnoreMarkAsReadDontDelete() throws Exception {
501
504
given (folder .getPermanentFlags ()).willReturn (new Flags (Flags .Flag .USER ));
502
505
folderField .set (receiver , folder );
503
506
504
- Message msg1 = spy ( GreenMailUtil .newMimeMessage ("test1" ) );
505
- Message msg2 = spy ( GreenMailUtil .newMimeMessage ("test2" ) );
507
+ Message msg1 = GreenMailUtil .newMimeMessage ("test1" );
508
+ Message msg2 = GreenMailUtil .newMimeMessage ("test2" );
506
509
final Message [] messages = new Message [] {msg1 , msg2 };
507
510
willAnswer (invocation -> {
508
511
DirectFieldAccessor accessor = new DirectFieldAccessor (invocation .getMock ());
@@ -517,8 +520,8 @@ public void receiveAndIgnoreMarkAsReadDontDelete() throws Exception {
517
520
518
521
willAnswer (invocation -> null ).given (receiver ).fetchMessages (messages );
519
522
receiver .receive ();
520
- verify (msg1 , times ( 1 )). setFlag (Flag .SEEN , true );
521
- verify (msg2 , times ( 1 )). setFlag (Flag .SEEN , true );
523
+ assertThat (msg1 . getFlags (). contains (Flag .SEEN )). isTrue ( );
524
+ assertThat (msg2 . getFlags (). contains (Flag .SEEN )). isTrue ( );
522
525
verify (receiver , times (0 )).deleteMessages (Mockito .any ());
523
526
}
524
527
@@ -535,9 +538,7 @@ public void testMessageHistory() throws Exception {
535
538
DirectFieldAccessor adapterAccessor = new DirectFieldAccessor (adapter );
536
539
adapterAccessor .setPropertyValue ("mailReceiver" , receiver );
537
540
538
- Message mailMessage = spy (GreenMailUtil .newMimeMessage ("test1" ));
539
- Flags flags = mock (Flags .class );
540
- given (mailMessage .getFlags ()).willReturn (flags );
541
+ Message mailMessage = GreenMailUtil .newMimeMessage ("test1" );
541
542
final Message [] messages = new Message [] {mailMessage };
542
543
543
544
willAnswer (invocation -> {
@@ -603,10 +604,8 @@ protected Object handleRequestMessage(org.springframework.messaging.Message<?> r
603
604
DirectFieldAccessor adapterAccessor = new DirectFieldAccessor (adapter );
604
605
adapterAccessor .setPropertyValue ("mailReceiver" , receiver );
605
606
606
- Message mailMessage = spy (GreenMailUtil .newMimeMessage ("test1" ));
607
- Flags flags = mock (Flags .class );
608
- given (mailMessage .getFlags ()).willReturn (flags );
609
- final Message [] messages = new Message [] {mailMessage };
607
+ Message mailMessage = GreenMailUtil .newMimeMessage ("test1" );
608
+ Message [] messages = new Message [] {mailMessage };
610
609
611
610
willAnswer (invocation -> messages ).given (receiver ).searchForNewMessages ();
612
611
@@ -650,9 +649,7 @@ public void testNoInitialIdleDelayWhenRecentNotSupported() throws Exception {
650
649
651
650
willAnswer (invocation -> folder ).given (receiver ).getFolder ();
652
651
653
- Message mailMessage = spy (GreenMailUtil .newMimeMessage ("test1" ));
654
- Flags flags = mock (Flags .class );
655
- given (mailMessage .getFlags ()).willReturn (flags );
652
+ Message mailMessage = GreenMailUtil .newMimeMessage ("test1" );
656
653
final Message [] messages = new Message [] {mailMessage };
657
654
658
655
final AtomicInteger shouldFindMessagesCounter = new AtomicInteger (2 );
@@ -724,9 +721,7 @@ public void testInitialIdleDelayWhenRecentIsSupported() throws Exception {
724
721
725
722
willAnswer (invocation -> folder ).given (receiver ).getFolder ();
726
723
727
- Message mailMessage = spy (GreenMailUtil .newMimeMessage ("test1" ));
728
- Flags flags = mock (Flags .class );
729
- given (mailMessage .getFlags ()).willReturn (flags );
724
+ Message mailMessage = GreenMailUtil .newMimeMessage ("test1" );
730
725
final Message [] messages = new Message [] {mailMessage };
731
726
732
727
willAnswer (invocation -> messages ).given (receiver ).searchForNewMessages ();
@@ -747,7 +742,7 @@ public void testInitialIdleDelayWhenRecentIsSupported() throws Exception {
747
742
* not receive any early messages.
748
743
*/
749
744
assertThat (channel .receive (100 )).isNull ();
750
- assertThat (channel .receive (10000 )).isNotNull ();
745
+ assertThat (channel .receive (20000 )).isNotNull ();
751
746
assertThat (idles .await (10 , TimeUnit .SECONDS )).isTrue ();
752
747
adapter .stop ();
753
748
}
0 commit comments