Author: norman
Date: Mon Mar  7 08:45:57 2011
New Revision: 1078713

URL: http://svn.apache.org/viewvc?rev=1078713&view=rev
Log:
Add junit test to prove that UIDL, LIST and STAT show the same message numbers. 
As it pass it seem like the problem is in the JPA implementation. See JAMES-1202

Modified:
    
james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/POP3ServerTest.java

Modified: 
james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/POP3ServerTest.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/POP3ServerTest.java?rev=1078713&r1=1078712&r2=1078713&view=diff
==============================================================================
--- 
james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/POP3ServerTest.java
 (original)
+++ 
james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/POP3ServerTest.java
 Mon Mar  7 08:45:57 2011
@@ -446,6 +446,48 @@ public class POP3ServerTest extends Test
         mailbox.appendMessage(new ByteArrayInputStream(content2), new Date(), 
session, true, new Flags());
     }
 
+    // Test for JAMES-1202
+    // Which shows that UIDL,STAT and LIST all show the same message numbers
+    public void testStatUidlList() throws Exception {
+        finishSetUp(m_testConfiguration);
+
+        m_pop3Protocol = new POP3Client();
+        m_pop3Protocol.connect("127.0.0.1",m_pop3ListenerPort);
+
+        m_usersRepository.addUser("foo2", "bar2");
+
+        MailboxPath mailboxPath = new 
MailboxPath(MailboxConstants.USER_NAMESPACE, "foo2", "INBOX");
+        MailboxSession session = manager.login("foo2", "bar2", 
LoggerFactory.getLogger("Test"));
+        
+        if (manager.mailboxExists(mailboxPath, session) == false) {
+            manager.createMailbox(mailboxPath, session);
+        }
+        
+        int msgCount = 100;
+        for (int i = 0; i < msgCount;i++) {
+            manager.getMailbox(mailboxPath, session).appendMessage(new 
ByteArrayInputStream(("Subject: test\r\n\r\n" +i).getBytes()), new Date(), 
session, true, new Flags());
+        }
+        
+        m_pop3Protocol.login("foo2", "bar2");
+        assertEquals(1, m_pop3Protocol.getState());
+
+        POP3MessageInfo[] listEntries = m_pop3Protocol.listMessages();
+        POP3MessageInfo[] uidlEntries = m_pop3Protocol.listUniqueIdentifiers();
+        POP3MessageInfo statInfo = m_pop3Protocol.status();
+        assertEquals(msgCount, listEntries.length);
+        assertEquals(msgCount, uidlEntries.length);
+        assertEquals(msgCount, statInfo.number);
+
+        m_pop3Protocol.sendCommand("quit");
+        m_pop3Protocol.disconnect();
+
+        m_pop3Protocol.connect("127.0.0.1",m_pop3ListenerPort);
+
+        m_pop3Protocol.login("foo2", "bar2");
+        assertEquals(1, m_pop3Protocol.getState());
+
+        manager.deleteMailbox(mailboxPath, session);
+    }
     /*
     public void testTwoSimultaneousMails() throws Exception {
         finishSetUp(m_testConfiguration);



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to