1 package org.columba.mail.folder.command; 17 18 import java.io.ByteArrayInputStream ; 19 import java.io.InputStream ; 20 21 import org.columba.core.command.NullWorkerStatusController; 22 import org.columba.mail.command.MailFolderCommandReference; 23 import org.columba.mail.folder.AbstractFolderTst; 24 import org.columba.mail.folder.FolderTstHelper; 25 import org.columba.mail.folder.IMailboxInfo; 26 import org.columba.mail.folder.MailboxTstFactory; 27 import org.columba.ristretto.message.Flags; 28 29 33 public class CopyMessageCommandTest extends AbstractFolderTst { 34 35 public CopyMessageCommandTest(String arg0) { 36 super(arg0); 37 } 38 39 42 public CopyMessageCommandTest(MailboxTstFactory factory, String arg0) { 43 super(factory, arg0); 44 } 45 46 51 public void testCopyMessage() throws Exception { 52 String input = FolderTstHelper.getString(0); 54 System.out.println("input=" + input); 55 ByteArrayInputStream inputStream = FolderTstHelper 57 .getByteArrayInputStream(input); 58 Object uid = getSourceFolder().addMessage(inputStream); 60 61 MailFolderCommandReference ref = new MailFolderCommandReference( 63 getSourceFolder(), getDestFolder(), new Object [] { uid }); 64 65 CopyMessageCommand command = new CopyMessageCommand(ref); 67 68 command.execute(NullWorkerStatusController.getInstance()); 71 72 InputStream outputStream = destFolder.getMessageSourceStream(uid); 74 String output = FolderTstHelper.getStringFromInputStream(outputStream); 76 assertEquals(input, output); 78 Object [] uids = getDestFolder().getUids(); 79 assertEquals("one message should be in destination folder", 1, 80 uids.length); 81 IMailboxInfo info = getDestFolder().getMessageFolderInfo(); 82 assertEquals("one message should be in destination folder", 1, info 83 .getExists()); 84 inputStream.close(); 86 outputStream.close(); 87 } 88 89 95 public void testCopyMessageAttribute() throws Exception { 96 String input = FolderTstHelper.getString(0); 98 System.out.println("input=" + input); 99 ByteArrayInputStream inputStream = FolderTstHelper 101 .getByteArrayInputStream(input); 102 Object uid = getSourceFolder().addMessage(inputStream); 104 Flags oldFlags = getSourceFolder().getFlags(uid); 106 oldFlags.setSeen(false); 108 112 113 MailFolderCommandReference ref = new MailFolderCommandReference( 115 getSourceFolder(), getDestFolder(), new Object [] { uid }); 116 117 CopyMessageCommand command = new CopyMessageCommand(ref); 119 120 command.execute(NullWorkerStatusController.getInstance()); 123 124 Flags flags = getDestFolder().getFlags(uid); 125 126 assertEquals("copied message should be marked as not seen", false, 127 flags.getSeen()); 128 134 inputStream.close(); 136 137 } 138 139 } | Popular Tags |