You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ba...@apache.org on 2006/09/17 04:39:07 UTC
svn commit: r447001 -
/james/server/trunk/src/test/org/apache/james/pop3server/POP3ServerTest.java
Author: bago
Date: Sat Sep 16 19:39:06 2006
New Revision: 447001
URL: http://svn.apache.org/viewvc?view=rev&rev=447001
Log:
More tests for POP3Server (60% => 77% coverage)
Modified:
james/server/trunk/src/test/org/apache/james/pop3server/POP3ServerTest.java
Modified: james/server/trunk/src/test/org/apache/james/pop3server/POP3ServerTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/test/org/apache/james/pop3server/POP3ServerTest.java?view=diff&rev=447001&r1=447000&r2=447001
==============================================================================
--- james/server/trunk/src/test/org/apache/james/pop3server/POP3ServerTest.java (original)
+++ james/server/trunk/src/test/org/apache/james/pop3server/POP3ServerTest.java Sat Sep 16 19:39:06 2006
@@ -149,15 +149,24 @@
InMemorySpoolRepository mockMailRepository = new InMemorySpoolRepository();
m_mailServer.setUserInbox("foo", mockMailRepository);
+ // not authenticated
+ POP3MessageInfo[] entries = m_pop3Protocol.listMessages();
+ assertNull(entries);
+
m_pop3Protocol.login("foo", "bar");
System.err.println(m_pop3Protocol.getState());
assertEquals(1, m_pop3Protocol.getState());
- POP3MessageInfo[] entries = m_pop3Protocol.listMessages();
+ entries = m_pop3Protocol.listMessages();
assertEquals(1, m_pop3Protocol.getState());
assertNotNull(entries);
assertEquals(entries.length, 0);
+
+ POP3MessageInfo p3i = m_pop3Protocol.listMessage(1);
+ assertEquals(1, m_pop3Protocol.getState());
+ assertNull(p3i);
+
ContainerUtil.dispose(mockMailRepository);
}
@@ -177,6 +186,109 @@
ContainerUtil.dispose(mockMailRepository);
}
+
+ public void testUnknownCommand() throws Exception {
+ finishSetUp(m_testConfiguration);
+
+ m_pop3Protocol = new POP3Client();
+ m_pop3Protocol.connect("127.0.0.1",m_pop3ListenerPort);
+
+ m_pop3Protocol.sendCommand("unkn");
+ assertEquals(0, m_pop3Protocol.getState());
+ assertEquals("Expected -ERR as result for an unknown command", m_pop3Protocol.getReplyString().substring(0,4),"-ERR");
+ }
+
+ public void testUidlCommand() throws Exception {
+ finishSetUp(m_testConfiguration);
+
+ m_usersRepository.addUser("foo", "bar");
+ InMemorySpoolRepository mockMailRepository = new InMemorySpoolRepository();
+ m_mailServer.setUserInbox("foo", mockMailRepository);
+
+ m_pop3Protocol = new POP3Client();
+ m_pop3Protocol.connect("127.0.0.1",m_pop3ListenerPort);
+
+ m_pop3Protocol.sendCommand("uidl");
+ assertEquals(0, m_pop3Protocol.getState());
+
+ m_pop3Protocol.login("foo", "bar");
+
+ POP3MessageInfo[] list = m_pop3Protocol.listUniqueIdentifiers();
+ assertEquals("Found unexpected messages", 0, list.length);
+
+ m_pop3Protocol.disconnect();
+
+ setupTestMails(mockMailRepository);
+
+ m_pop3Protocol.connect("127.0.0.1",m_pop3ListenerPort);
+ m_pop3Protocol.login("foo", "bar");
+
+ list = m_pop3Protocol.listUniqueIdentifiers();
+ assertEquals("Expected 2 messages, found: "+list.length, 2, list.length);
+ assertEquals("name", list[0].identifier);
+ assertEquals("name2", list[1].identifier);
+
+ POP3MessageInfo p3i = m_pop3Protocol.listUniqueIdentifier(1);
+ assertNotNull(p3i);
+ assertEquals("name", p3i.identifier);
+
+ }
+
+ public void testMiscCommandsWithWithoutAuth() throws Exception {
+ finishSetUp(m_testConfiguration);
+
+ m_usersRepository.addUser("foo", "bar");
+ InMemorySpoolRepository mockMailRepository = new InMemorySpoolRepository();
+ m_mailServer.setUserInbox("foo", mockMailRepository);
+
+ m_pop3Protocol = new POP3Client();
+ m_pop3Protocol.connect("127.0.0.1",m_pop3ListenerPort);
+
+ m_pop3Protocol.sendCommand("noop");
+ assertEquals(0, m_pop3Protocol.getState());
+ assertEquals("-ERR", m_pop3Protocol.getReplyString().substring(0,4));
+
+ m_pop3Protocol.sendCommand("stat");
+ assertEquals(0, m_pop3Protocol.getState());
+ assertEquals("-ERR", m_pop3Protocol.getReplyString().substring(0,4));
+
+ m_pop3Protocol.sendCommand("pass");
+ assertEquals(0, m_pop3Protocol.getState());
+ assertEquals("-ERR", m_pop3Protocol.getReplyString().substring(0,4));
+
+ m_pop3Protocol.sendCommand("auth");
+ assertEquals(0, m_pop3Protocol.getState());
+ assertEquals("-ERR", m_pop3Protocol.getReplyString().substring(0,4));
+
+ m_pop3Protocol.sendCommand("rset");
+ assertEquals(0, m_pop3Protocol.getState());
+ assertEquals("-ERR", m_pop3Protocol.getReplyString().substring(0,4));
+
+ m_pop3Protocol.login("foo", "bar");
+
+ POP3MessageInfo[] list = m_pop3Protocol.listUniqueIdentifiers();
+ assertEquals("Found unexpected messages", 0, list.length);
+
+ m_pop3Protocol.sendCommand("noop");
+ assertEquals(1, m_pop3Protocol.getState());
+
+ m_pop3Protocol.sendCommand("pass");
+ assertEquals(1, m_pop3Protocol.getState());
+ assertEquals("-ERR", m_pop3Protocol.getReplyString().substring(0,4));
+
+ m_pop3Protocol.sendCommand("auth");
+ assertEquals(1, m_pop3Protocol.getState());
+ assertEquals("-ERR", m_pop3Protocol.getReplyString().substring(0,4));
+
+ m_pop3Protocol.sendCommand("user");
+ assertEquals(1, m_pop3Protocol.getState());
+ assertEquals("-ERR", m_pop3Protocol.getReplyString().substring(0,4));
+
+ m_pop3Protocol.sendCommand("rset");
+ assertEquals(1, m_pop3Protocol.getState());
+
+ }
+
public void testKnownUserInboxWithMessages() throws Exception {
finishSetUp(m_testConfiguration);
@@ -189,6 +301,10 @@
setupTestMails(mailRep);
m_mailServer.setUserInbox("foo2", mailRep);
+
+ m_pop3Protocol.sendCommand("retr","1");
+ assertEquals(0, m_pop3Protocol.getState());
+ assertEquals("-ERR", m_pop3Protocol.getReplyString().substring(0,4));
m_pop3Protocol.login("foo2", "bar2");
assertEquals(1, m_pop3Protocol.getState());
@@ -207,10 +323,17 @@
assertNotNull(r2);
r2.close();
+ // existing message
boolean deleted = m_pop3Protocol.deleteMessage(entries[0].number);
-
assertTrue(deleted);
- assertEquals(1, m_pop3Protocol.getState());
+
+ // already deleted message
+ deleted = m_pop3Protocol.deleteMessage(entries[0].number);
+ assertFalse(deleted);
+
+ // unexisting message
+ deleted = m_pop3Protocol.deleteMessage(10);
+ assertFalse(deleted);
m_pop3Protocol.sendCommand("quit");
m_pop3Protocol.disconnect();
@@ -232,6 +355,10 @@
assertEquals(1, entries.length);
assertEquals(1, m_pop3Protocol.getState());
+ // top without arguments
+ m_pop3Protocol.sendCommand("top");
+ assertEquals("-ERR", m_pop3Protocol.getReplyString().substring(0,4));
+
Reader r3 = m_pop3Protocol.retrieveMessageTop(entries[0].number, 0);
assertNotNull(r3);
r3.close();
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org