@@ -994,7 +994,7 @@ private void setUpScheduler(ImapMailReceiver mailReceiver, ThreadPoolTaskSchedul
994994 @ Test
995995 public void receiveAndMarkAsReadDontDeleteWithThrowingWhenCopying () throws Exception {
996996 AbstractMailReceiver receiver = new ImapMailReceiver ();
997- MimeMessage msg1 = GreenMailUtil .newMimeMessage ("test1" );
997+ MimeMessage msg1 = spy ( GreenMailUtil .newMimeMessage ("test1" ) );
998998 MimeMessage greenMailMsg2 = GreenMailUtil .newMimeMessage ("test2" );
999999 TestThrowingMimeMessage msg2 = new TestThrowingMimeMessage (greenMailMsg2 );
10001000 receiver = receiveAndMarkAsReadDontDeleteGuts (receiver , msg1 , msg2 , false );
@@ -1006,12 +1006,13 @@ public void receiveAndMarkAsReadDontDeleteWithThrowingWhenCopying() throws Excep
10061006 .hasMessage ("Simulated exception" );
10071007 assertThat (msg1 .getFlags ().contains (Flag .SEEN )).isFalse ();
10081008 assertThat (msg2 .getFlags ().contains (Flag .SEEN )).isFalse ();
1009- assertThat ( msg2 . getMyTestFlags (). contains ( Flag . SEEN )). isFalse ( );
1009+ verify ( msg1 , times ( 0 )). setFlags ( Mockito . any (), Mockito . anyBoolean () );
10101010
10111011 receiver .receive ();
10121012 assertThat (msg1 .getFlags ().contains (Flag .SEEN )).isTrue ();
10131013 assertThat (msg2 .getFlags ().contains (Flag .SEEN )).isTrue ();
1014- assertThat (msg2 .getMyTestFlags ().contains (Flag .SEEN )).isTrue ();
1014+ // msg2 is marked with the user and seen flags
1015+ verify (msg1 , times (2 )).setFlags (Mockito .any (), Mockito .anyBoolean ());
10151016 verify (receiver , times (0 )).deleteMessages (Mockito .any ());
10161017 }
10171018
@@ -1054,8 +1055,6 @@ private static class TestThrowingMimeMessage extends MimeMessage {
10541055
10551056 protected final AtomicBoolean throwExceptionBeforeWrite = new AtomicBoolean (true );
10561057
1057- protected final Flags myTestFlags = new Flags ();
1058-
10591058 private TestThrowingMimeMessage (MimeMessage source ) throws MessagingException {
10601059 super (source );
10611060 }
@@ -1067,21 +1066,6 @@ public void writeTo(OutputStream os) throws IOException, MessagingException {
10671066 }
10681067 super .writeTo (os );
10691068 }
1070-
1071- @ Override
1072- public synchronized void setFlags (Flags flag , boolean set ) throws MessagingException {
1073- super .setFlags (flag , set );
1074- if (set ) {
1075- myTestFlags .add (flag );
1076- }
1077- else {
1078- myTestFlags .remove (flag );
1079- }
1080- }
1081-
1082- private Flags getMyTestFlags () {
1083- return myTestFlags ;
1084- }
10851069 }
10861070
10871071}
0 commit comments