1 17 package org.columba.mail.folder.mbox; 18 19 import java.io.ByteArrayInputStream ; 20 21 import junit.framework.TestCase; 22 23 import org.columba.mail.folder.MHFolderFactory; 24 import org.columba.ristretto.io.Source; 25 26 public class MboxDataStorageTest extends TestCase { 27 28 private static final String mail1 = "From: alice1@columba-mail.org\r\nTo: bob@columba-mail.org\r\n\r\ntest 1 mail"; 29 private static final String mail2 = "From: alice2@columba-mail.org\r\nTo: bob@columba-mail.org\r\n\r\ntest 2 mail"; 30 private static final String mail3 = "From: alice3@columba-mail.org\r\nTo: bob@columba-mail.org\r\n\r\ntest 3 mail"; 31 32 public void testSaveMessage() throws Exception { 33 MboxDataStorage storage = new MboxDataStorage(new MHFolderFactory().createFolder(100)); 34 35 storage.saveMessage(new Integer (1), new ByteArrayInputStream (mail1.getBytes("US-ASCII"))); 36 37 Source source = storage.getMessageSource(new Integer (1)); 38 39 assertEquals(mail1, source.toString()); 40 41 storage.removeMessage(new Integer (1)); 42 43 assertFalse(storage.exists(new Integer (1))); 44 assertEquals(storage.getMessageCount(), 0); 45 } 46 47 public void testSaveMultipleMessages() throws Exception { 48 MboxDataStorage storage = new MboxDataStorage(new MHFolderFactory().createFolder(100)); 49 50 storage.saveMessage(new Integer (1), new ByteArrayInputStream (mail1.getBytes("US-ASCII"))); 51 storage.saveMessage(new Integer (2), new ByteArrayInputStream (mail2.getBytes("US-ASCII"))); 52 53 Source source = storage.getMessageSource(new Integer (1)); 54 assertEquals(mail1, source.toString()); 55 source = null; 56 57 storage.saveMessage(new Integer (3), new ByteArrayInputStream (mail3.getBytes("US-ASCII"))); 58 59 storage.removeMessage(new Integer (1)); 60 storage.removeMessage(new Integer (3)); 61 62 source = storage.getMessageSource(new Integer (2)); 63 assertEquals(mail2, source.toString()); 64 } 65 66 public void testLoadSave() throws Exception { 67 MboxDataStorage storage = new MboxDataStorage(new MHFolderFactory().createFolder(100)); 68 69 storage.saveMessage(new Integer (1), new ByteArrayInputStream (mail1.getBytes("US-ASCII"))); 70 storage.saveMessage(new Integer (2), new ByteArrayInputStream (mail2.getBytes("US-ASCII"))); 71 72 storage.save(); 73 74 storage.load(); 75 Source source = storage.getMessageSource(new Integer (1)); 76 assertEquals(mail1, source.toString()); 77 78 } 79 80 81 } 82 | Popular Tags |