List of usage examples for org.apache.commons.net.pop3 POP3Client POP3Client
POP3Client
From source file:org.apache.james.pop3server.POP3ServerTest.java
@Test public void testUnknownCommand() throws Exception { finishSetUp(pop3Configuration); pop3Client = new POP3Client(); pop3Client.connect("127.0.0.1", pop3Port); pop3Client.sendCommand("unkn"); assertEquals(0, pop3Client.getState()); assertEquals("Expected -ERR as result for an unknown command", pop3Client.getReplyString().substring(0, 4), "-ERR"); }
From source file:org.apache.james.pop3server.POP3ServerTest.java
@Test public void testUidlCommand() throws Exception { finishSetUp(pop3Configuration); usersRepository.addUser("foo", "bar"); pop3Client = new POP3Client(); pop3Client.connect("127.0.0.1", pop3Port); pop3Client.sendCommand("uidl"); assertEquals(0, pop3Client.getState()); pop3Client.login("foo", "bar"); POP3MessageInfo[] list = pop3Client.listUniqueIdentifiers(); assertEquals("Found unexpected messages", 0, list.length); pop3Client.disconnect();/*w w w .j av a 2s .c o m*/ MailboxPath mailboxPath = new MailboxPath(MailboxConstants.USER_NAMESPACE, "foo", "INBOX"); MailboxSession session = mailboxManager.login("foo", "bar", LoggerFactory.getLogger("Test")); if (!mailboxManager.mailboxExists(mailboxPath, session)) { mailboxManager.createMailbox(mailboxPath, session); } setupTestMails(session, mailboxManager.getMailbox(mailboxPath, session)); pop3Client.connect("127.0.0.1", pop3Port); pop3Client.login("foo", "bar"); list = pop3Client.listUniqueIdentifiers(); assertEquals("Expected 2 messages, found: " + list.length, 2, list.length); POP3MessageInfo p3i = pop3Client.listUniqueIdentifier(1); assertNotNull(p3i); mailboxManager.deleteMailbox(mailboxPath, session); }
From source file:org.apache.james.pop3server.POP3ServerTest.java
@Test public void testMiscCommandsWithWithoutAuth() throws Exception { finishSetUp(pop3Configuration); usersRepository.addUser("foo", "bar"); pop3Client = new POP3Client(); pop3Client.connect("127.0.0.1", pop3Port); pop3Client.sendCommand("noop"); assertEquals(0, pop3Client.getState()); assertEquals("-ERR", pop3Client.getReplyString().substring(0, 4)); pop3Client.sendCommand("stat"); assertEquals(0, pop3Client.getState()); assertEquals("-ERR", pop3Client.getReplyString().substring(0, 4)); pop3Client.sendCommand("pass"); assertEquals(0, pop3Client.getState()); assertEquals("-ERR", pop3Client.getReplyString().substring(0, 4)); pop3Client.sendCommand("auth"); assertEquals(0, pop3Client.getState()); assertEquals("-ERR", pop3Client.getReplyString().substring(0, 4)); pop3Client.sendCommand("rset"); assertEquals(0, pop3Client.getState()); assertEquals("-ERR", pop3Client.getReplyString().substring(0, 4)); pop3Client.login("foo", "bar"); POP3MessageInfo[] list = pop3Client.listUniqueIdentifiers(); assertEquals("Found unexpected messages", 0, list.length); pop3Client.sendCommand("noop"); assertEquals(1, pop3Client.getState()); pop3Client.sendCommand("pass"); assertEquals(1, pop3Client.getState()); assertEquals("-ERR", pop3Client.getReplyString().substring(0, 4)); pop3Client.sendCommand("auth"); assertEquals(1, pop3Client.getState()); assertEquals("-ERR", pop3Client.getReplyString().substring(0, 4)); pop3Client.sendCommand("user"); assertEquals(1, pop3Client.getState()); assertEquals("-ERR", pop3Client.getReplyString().substring(0, 4)); pop3Client.sendCommand("rset"); assertEquals(1, pop3Client.getState()); }
From source file:org.apache.james.pop3server.POP3ServerTest.java
@Test public void testKnownUserInboxWithMessages() throws Exception { finishSetUp(pop3Configuration); pop3Client = new POP3Client(); pop3Client.connect("127.0.0.1", pop3Port); usersRepository.addUser("foo2", "bar2"); MailboxPath mailboxPath = new MailboxPath(MailboxConstants.USER_NAMESPACE, "foo2", "INBOX"); MailboxSession session = mailboxManager.login("foo2", "bar2", LoggerFactory.getLogger("Test")); if (!mailboxManager.mailboxExists(mailboxPath, session)) { mailboxManager.createMailbox(mailboxPath, session); }/* w ww . j a va 2 s . co m*/ setupTestMails(session, mailboxManager.getMailbox(mailboxPath, session)); pop3Client.sendCommand("retr", "1"); assertEquals(0, pop3Client.getState()); assertEquals("-ERR", pop3Client.getReplyString().substring(0, 4)); pop3Client.login("foo2", "bar2"); assertEquals(1, pop3Client.getState()); POP3MessageInfo[] entries = pop3Client.listMessages(); assertNotNull(entries); assertEquals(2, entries.length); assertEquals(1, pop3Client.getState()); Reader r = pop3Client.retrieveMessageTop(entries[0].number, 0); assertNotNull(r); r.close(); Reader r2 = pop3Client.retrieveMessage(entries[0].number); assertNotNull(r2); r2.close(); // existing message boolean deleted = pop3Client.deleteMessage(entries[0].number); assertTrue(deleted); // already deleted message deleted = pop3Client.deleteMessage(entries[0].number); // TODO: Understand why this fails... assertFalse(deleted); // unexisting message deleted = pop3Client.deleteMessage(10); assertFalse(deleted); pop3Client.logout(); //m_pop3Protocol.disconnect(); pop3Client.connect("127.0.0.1", pop3Port); pop3Client.login("foo2", "bar2"); assertEquals(1, pop3Client.getState()); entries = null; POP3MessageInfo stats = pop3Client.status(); assertEquals(1, stats.number); assertEquals(5, stats.size); entries = pop3Client.listMessages(); assertNotNull(entries); assertEquals(1, entries.length); assertEquals(1, pop3Client.getState()); // top without arguments pop3Client.sendCommand("top"); assertEquals("-ERR", pop3Client.getReplyString().substring(0, 4)); Reader r3 = pop3Client.retrieveMessageTop(entries[0].number, 0); assertNotNull(r3); r3.close(); mailboxManager.deleteMailbox(mailboxPath, session); }
From source file:org.apache.james.pop3server.POP3ServerTest.java
/** * Test for JAMES-1202 - Which shows that UIDL,STAT and LIST all show the same message numbers. *///w w w . j a v a 2 s . c o m @Test public void testStatUidlList() throws Exception { finishSetUp(pop3Configuration); pop3Client = new POP3Client(); pop3Client.connect("127.0.0.1", pop3Port); usersRepository.addUser("foo2", "bar2"); MailboxPath mailboxPath = new MailboxPath(MailboxConstants.USER_NAMESPACE, "foo2", "INBOX"); MailboxSession session = mailboxManager.login("foo2", "bar2", LoggerFactory.getLogger("Test")); if (!mailboxManager.mailboxExists(mailboxPath, session)) { mailboxManager.createMailbox(mailboxPath, session); } int msgCount = 100; for (int i = 0; i < msgCount; i++) { mailboxManager.getMailbox(mailboxPath, session).appendMessage( new ByteArrayInputStream(("Subject: test\r\n\r\n" + i).getBytes()), new Date(), session, true, new Flags()); } pop3Client.login("foo2", "bar2"); assertEquals(1, pop3Client.getState()); POP3MessageInfo[] listEntries = pop3Client.listMessages(); POP3MessageInfo[] uidlEntries = pop3Client.listUniqueIdentifiers(); POP3MessageInfo statInfo = pop3Client.status(); assertEquals(msgCount, listEntries.length); assertEquals(msgCount, uidlEntries.length); assertEquals(msgCount, statInfo.number); pop3Client.sendCommand("quit"); pop3Client.disconnect(); pop3Client.connect("127.0.0.1", pop3Port); pop3Client.login("foo2", "bar2"); assertEquals(1, pop3Client.getState()); mailboxManager.deleteMailbox(mailboxPath, session); }
From source file:org.apache.james.pop3server.POP3ServerTest.java
/** * Test for JAMES-1202 - This was failing before as the more then one connection to the same * mailbox was not handled the right way *//*from w ww . j a va 2 s . co m*/ @Test @Ignore public void testStatUidlListTwoConnections() throws Exception { finishSetUp(pop3Configuration); pop3Client = new POP3Client(); pop3Client.connect("127.0.0.1", pop3Port); usersRepository.addUser("foo2", "bar2"); MailboxPath mailboxPath = new MailboxPath(MailboxConstants.USER_NAMESPACE, "foo2", "INBOX"); MailboxSession session = mailboxManager.login("foo2", "bar2", LoggerFactory.getLogger("Test")); if (!mailboxManager.mailboxExists(mailboxPath, session)) { mailboxManager.createMailbox(mailboxPath, session); } int msgCount = 100; for (int i = 0; i < msgCount; i++) { mailboxManager.getMailbox(mailboxPath, session).appendMessage( new ByteArrayInputStream(("Subject: test\r\n\r\n" + i).getBytes()), new Date(), session, true, new Flags()); } pop3Client.login("foo2", "bar2"); assertEquals(1, pop3Client.getState()); POP3MessageInfo[] listEntries = pop3Client.listMessages(); POP3MessageInfo[] uidlEntries = pop3Client.listUniqueIdentifiers(); POP3MessageInfo statInfo = pop3Client.status(); assertEquals(msgCount, listEntries.length); assertEquals(msgCount, uidlEntries.length); assertEquals(msgCount, statInfo.number); POP3Client m_pop3Protocol2 = new POP3Client(); m_pop3Protocol2.connect("127.0.0.1", pop3Port); m_pop3Protocol2.login("foo2", "bar2"); assertEquals(1, m_pop3Protocol2.getState()); POP3MessageInfo[] listEntries2 = m_pop3Protocol2.listMessages(); POP3MessageInfo[] uidlEntries2 = m_pop3Protocol2.listUniqueIdentifiers(); POP3MessageInfo statInfo2 = m_pop3Protocol2.status(); assertEquals(msgCount, listEntries2.length); assertEquals(msgCount, uidlEntries2.length); assertEquals(msgCount, statInfo2.number); pop3Client.deleteMessage(1); listEntries = pop3Client.listMessages(); uidlEntries = pop3Client.listUniqueIdentifiers(); statInfo = pop3Client.status(); assertEquals(msgCount - 1, listEntries.length); assertEquals(msgCount - 1, uidlEntries.length); assertEquals(msgCount - 1, statInfo.number); // even after the message was deleted it should get displayed in the // second connection listEntries2 = m_pop3Protocol2.listMessages(); uidlEntries2 = m_pop3Protocol2.listUniqueIdentifiers(); statInfo2 = m_pop3Protocol2.status(); assertEquals(msgCount, listEntries2.length); assertEquals(msgCount, uidlEntries2.length); assertEquals(msgCount, statInfo2.number); assertTrue(pop3Client.logout()); pop3Client.disconnect(); // even after the message was deleted and the session was quit it should // get displayed in the second connection listEntries2 = m_pop3Protocol2.listMessages(); uidlEntries2 = m_pop3Protocol2.listUniqueIdentifiers(); statInfo2 = m_pop3Protocol2.status(); assertEquals(msgCount, listEntries2.length); assertEquals(msgCount, uidlEntries2.length); assertEquals(msgCount, statInfo2.number); // This both should error and so return null assertNull(m_pop3Protocol2.retrieveMessageTop(1, 100)); assertNull(m_pop3Protocol2.retrieveMessage(1)); m_pop3Protocol2.sendCommand("quit"); m_pop3Protocol2.disconnect(); mailboxManager.deleteMailbox(mailboxPath, session); }
From source file:org.apache.james.pop3server.POP3ServerTest.java
@Test public void testIpStored() throws Exception { finishSetUp(pop3Configuration); pop3Client = new POP3Client(); pop3Client.connect("127.0.0.1", pop3Port); String pass = "password"; usersRepository.addUser("foo", pass); pop3Client.login("foo", pass); assertEquals(1, pop3Client.getState()); assertTrue(POP3BeforeSMTPHelper.isAuthorized("127.0.0.1")); }
From source file:org.apache.james.pop3server.POP3ServerTest.java
@Test public void testCapa() throws Exception { finishSetUp(pop3Configuration); pop3Client = new POP3Client(); pop3Client.connect("127.0.0.1", pop3Port); String pass = "password"; usersRepository.addUser("foo", pass); assertEquals(POP3Reply.OK, pop3Client.sendCommand("CAPA")); pop3Client.getAdditionalReply();/*from w ww . ja v a2s . com*/ pop3Client.getReplyString(); List<String> replies = Arrays.asList(pop3Client.getReplyStrings()); assertTrue("contains USER", replies.contains("USER")); pop3Client.login("foo", pass); assertEquals(POP3Reply.OK, pop3Client.sendCommand("CAPA")); pop3Client.getAdditionalReply(); pop3Client.getReplyString(); replies = Arrays.asList(pop3Client.getReplyStrings()); assertTrue("contains USER", replies.contains("USER")); assertTrue("contains UIDL", replies.contains("UIDL")); assertTrue("contains TOP", replies.contains("TOP")); }
From source file:org.apache.james.pop3server.POP3ServerTest.java
@Test public void testDeadlockOnRetr() throws Exception { finishSetUp(pop3Configuration); pop3Client = new POP3Client(); pop3Client.connect("127.0.0.1", pop3Port); usersRepository.addUser("foo6", "bar6"); MailboxSession session = mailboxManager.login("foo6", "bar6", LoggerFactory.getLogger("Test")); MailboxPath mailboxPath = MailboxPath.inbox(session); mailboxManager.startProcessingRequest(session); if (!mailboxManager.mailboxExists(mailboxPath, session)) { mailboxManager.createMailbox(mailboxPath, session); }/*from w ww .j a v a 2 s.com*/ ByteArrayOutputStream out = new ByteArrayOutputStream(); out.write(content); byte[] bigMail = new byte[1024 * 1024 * 10]; int c = 0; for (int i = 0; i < bigMail.length; i++) { bigMail[i] = 'X'; c++; if (c == 1000 || i + 3 == bigMail.length) { c = 0; bigMail[++i] = '\r'; bigMail[++i] = '\n'; } } out.write(bigMail); bigMail = null; mailboxManager.getMailbox(mailboxPath, session).appendMessage(new ByteArrayInputStream(out.toByteArray()), new Date(), session, false, new Flags()); mailboxManager.startProcessingRequest(session); pop3Client.login("foo6", "bar6"); assertEquals(1, pop3Client.getState()); POP3MessageInfo[] entries = pop3Client.listMessages(); assertNotNull(entries); assertEquals(1, entries.length); assertEquals(1, pop3Client.getState()); Reader r = pop3Client.retrieveMessage(entries[0].number); assertNotNull(r); r.close(); mailboxManager.deleteMailbox(mailboxPath, session); }
From source file:org.apache.james.protocols.pop3.AbstractPOP3ServerTest.java
protected POP3Client createClient() { return new POP3Client(); }