1 package org.columba.mail.folder.command; 17 18 import java.io.ByteArrayInputStream ; 19 import java.io.ByteArrayOutputStream ; 20 import java.io.IOException ; 21 import java.io.InputStream ; 22 import java.io.OutputStreamWriter ; 23 24 import org.columba.core.command.NullWorkerStatusController; 25 import org.columba.mail.command.MailFolderCommandReference; 26 import org.columba.mail.folder.AbstractFolderTst; 27 import org.columba.mail.folder.AbstractMessageFolder; 28 import org.columba.mail.folder.MailboxTstFactory; 29 30 33 public class MarkFolderAsReadCommandTest extends AbstractFolderTst { 34 35 public MarkFolderAsReadCommandTest(String arg0) { 36 super(arg0); 37 } 38 39 43 public MarkFolderAsReadCommandTest(MailboxTstFactory factory, String test) { 44 super(factory, test); 45 } 46 47 51 public void testExecute() throws Exception { 52 AbstractMessageFolder folder = getSourceFolder(); 53 54 Object uid1 = folder.addMessage(createMessageStream("sub1", "body1")); 55 Object uid2 = folder.addMessage(createMessageStream("sub2", "body2")); 56 Object uid3 = folder.addMessage(createMessageStream("sub3", "body3")); 57 Object uid4 = folder.addMessage(createMessageStream("sub4", "body4")); 58 Object uid5 = folder.addMessage(createMessageStream("sub5", "body5")); 59 60 assertNotNull("Msg 1's uid was null", uid1); 61 assertNotNull("Msg 2's uid was null", uid2); 62 assertNotNull("Msg 3's uid was null", uid3); 63 64 folder.markMessage(new Object []{uid1, uid3, uid5}, MarkMessageCommand.MARK_AS_UNREAD); 65 folder.markMessage(new Object []{uid2, uid4}, MarkMessageCommand.MARK_AS_READ); 66 67 assertNotNull("Flags for msg 1 was null", folder.getFlags(uid1)); 68 assertFalse("Msg 1 is read", folder.getFlags(uid1).getSeen()); 69 assertNotNull("Flags for msg 2 was null", folder.getFlags(uid2)); 70 assertTrue("Msg 2 is read", folder.getFlags(uid2).getSeen()); 71 assertNotNull("Flags for msg 3 was null", folder.getFlags(uid3)); 72 assertFalse("Msg 3 is read", folder.getFlags(uid3).getSeen()); 73 74 MailFolderCommandReference references = new MailFolderCommandReference(folder); 75 MarkFolderAsReadCommand command = new MarkFolderAsReadCommand(references); 76 command.execute(NullWorkerStatusController.getInstance()); 77 78 assertEquals("Message 1 isnt read", true, folder.getFlags(uid1).getSeen()); 79 assertEquals("Message 2 isnt read", true, folder.getFlags(uid2).getSeen()); 80 assertEquals("Message 3 isnt read", true, folder.getFlags(uid3).getSeen()); 81 assertEquals("Message 4 isnt read", true, folder.getFlags(uid4).getSeen()); 82 assertEquals("Message 5 isnt read", true, folder.getFlags(uid5).getSeen()); 83 } 84 85 92 private InputStream createMessageStream(String subject, String body) throws IOException { 93 ByteArrayOutputStream outputStream = new ByteArrayOutputStream (); 94 OutputStreamWriter writer = new OutputStreamWriter (outputStream); 95 96 writer.write("Subject: " + subject + "\n"); 97 writer.write("\n"); 98 writer.write(body); 99 100 return new ByteArrayInputStream (outputStream.toByteArray()); 101 } 102 103 } 104 | Popular Tags |