1 36 package org.columba.ristretto.imap.parser; 37 38 import junit.framework.TestCase; 39 40 import org.columba.ristretto.imap.IMAPResponse; 41 import org.columba.ristretto.message.MailboxInfo; 42 43 public class MailboxInfoParserTest extends TestCase { 44 45 public void testInfo1() throws Exception { 46 IMAPResponse[] responses = new IMAPResponse[] { 47 IMAPResponseParser.parse( "* 172 EXISTS\r\n"), 48 IMAPResponseParser.parse( "* 1 RECENT\r\n"), 49 IMAPResponseParser.parse( "* OK [UNSEEN 12] Message 12 is first unseen\r\n"), 50 IMAPResponseParser.parse( "* OK [UIDVALIDITY 857529045] UIDs valid\r\n"), 51 IMAPResponseParser.parse( "* OK [UIDNEXT 4392] Predicted next UID\r\n"), 52 IMAPResponseParser.parse( "* FLAGS (\\Answered \\Flagged \\Deleted \\Seen \\Draft)\r\n"), 53 IMAPResponseParser.parse( "* OK [PERMANENTFLAGS (\\Deleted \\Seen \\*)] Limited\r\n"), 54 IMAPResponseParser.parse( "A142 OK [READ-WRITE] SELECT completed\r\n") 55 }; 56 57 MailboxInfo mailboxInfo = null; 58 59 for( int i=0; i<responses.length; i++ ) { 60 mailboxInfo = MailboxInfoParser.parse( responses[i], mailboxInfo ); 61 } 62 63 assertEquals( mailboxInfo.getRecent(), 1); 64 assertEquals( mailboxInfo.getExists(), 172); 65 assertEquals( mailboxInfo.getFirstUnseen(), 12); 66 assertEquals( mailboxInfo.getUidValidity(), 857529045); 67 assertEquals( mailboxInfo.getFirstUnseen(), 12); 68 assertTrue( mailboxInfo.isWriteAccess()); 69 70 String [] flags = new String [] { "\\Answered", "\\Flagged", "\\Deleted", "\\Seen", "\\Draft" }; 71 for( int i=0; i<flags.length; i++) { 72 assertEquals( flags[i], mailboxInfo.getDefinedFlags()[i]); 73 } 74 } 75 76 public void testInfo2() throws Exception { 77 IMAPResponse[] responses = new IMAPResponse[] { 78 IMAPResponseParser.parse( "* 172 EXISTS\r\n"), 79 IMAPResponseParser.parse( "* 1 RECENT\r\n"), 80 IMAPResponseParser.parse( "* OK [UNSEEN 12] Message 12 is first unseen\r\n"), 81 IMAPResponseParser.parse( "* OK [UIDNEXT 4392] Predicted next UID\r\n"), 82 IMAPResponseParser.parse( "A142 OK [READ-ONLY] SELECT completed\r\n") 83 }; 84 85 MailboxInfo mailboxInfo = null; 86 87 for( int i=0; i<responses.length; i++ ) { 88 mailboxInfo = MailboxInfoParser.parse( responses[i], mailboxInfo ); 89 } 90 91 assertEquals( mailboxInfo.getRecent(), 1); 92 assertEquals( mailboxInfo.getExists(), 172); 93 assertEquals( mailboxInfo.getFirstUnseen(), 12); 94 assertEquals( mailboxInfo.getUidValidity(), -1); 95 assertTrue( !mailboxInfo.isWriteAccess()); 96 97 } 98 99 public void testInfo3() throws Exception { 100 IMAPResponse[] responses = new IMAPResponse[] { 101 IMAPResponseParser.parse( "* 217 EXISTS\r\n"), 102 IMAPResponseParser.parse( "* 0 RECENT\r\n"), 103 IMAPResponseParser.parse( "* OK [UNSEEN 217] Message 217 is first unseen\r\n"), 104 IMAPResponseParser.parse( "* OK [UIDVALIDITY 396150377]\r\n"), 105 IMAPResponseParser.parse( "* FLAGS (\\Answered \\Flagged \\Draft \\Deleted \\Seen)\r\n"), 106 IMAPResponseParser.parse( "* OK [PERMANENTFLAGS (\\Answered \\Flagged \\Draft \\Deleted \\Seen)]\r\n"), 107 IMAPResponseParser.parse( "3 OK [READ_WRITE] completed\r\n") 108 }; 109 110 MailboxInfo mailboxInfo = null; 111 112 for( int i=0; i<responses.length; i++ ) { 113 mailboxInfo = MailboxInfoParser.parse( responses[i], mailboxInfo ); 114 } 115 116 assertEquals( mailboxInfo.getRecent(), 0); 117 assertEquals( mailboxInfo.getExists(), 217); 118 assertEquals( mailboxInfo.getFirstUnseen(), 217); 119 assertEquals( mailboxInfo.getUidValidity(), 396150377); 120 assertTrue( mailboxInfo.isWriteAccess()); 121 122 } 123 124 } 125 | Popular Tags |