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 no...@apache.org on 2010/12/30 16:04:53 UTC
svn commit: r1053908 - in /james/server/trunk:
pop3server/src/test/java/org/apache/james/pop3server/
remotemanager/src/test/java/org/apache/james/remotemanager/
smtpserver/src/test/java/org/apache/james/smtpserver/
Author: norman
Date: Thu Dec 30 15:04:53 2010
New Revision: 1053908
URL: http://svn.apache.org/viewvc?rev=1053908&view=rev
Log:
Merge abstract test classes with implementations
Added:
james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/POP3ServerTest.java
- copied, changed from r1052807, james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/AbstractAsyncPOP3ServerTest.java
james/server/trunk/remotemanager/src/test/java/org/apache/james/remotemanager/RemoteManagerTest.java
- copied, changed from r1052807, james/server/trunk/remotemanager/src/test/java/org/apache/james/remotemanager/AbstractRemoteManagerTest.java
james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
- copied, changed from r1052876, james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/AbstractSMTPServerTest.java
Removed:
james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/AbstractAsyncPOP3ServerTest.java
james/server/trunk/remotemanager/src/test/java/org/apache/james/remotemanager/AbstractRemoteManagerTest.java
james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/AbstractSMTPServerTest.java
Copied: james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/POP3ServerTest.java (from r1052807, james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/AbstractAsyncPOP3ServerTest.java)
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/POP3ServerTest.java?p2=james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/POP3ServerTest.java&p1=james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/AbstractAsyncPOP3ServerTest.java&r1=1052807&r2=1053908&rev=1053908&view=diff
==============================================================================
--- james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/AbstractAsyncPOP3ServerTest.java (original)
+++ james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/POP3ServerTest.java Thu Dec 30 15:04:53 2010
@@ -37,6 +37,7 @@ import org.apache.commons.logging.impl.S
import org.apache.commons.net.pop3.POP3Client;
import org.apache.commons.net.pop3.POP3MessageInfo;
import org.apache.commons.net.pop3.POP3Reply;
+import org.apache.james.pop3server.netty.POP3Server;
import org.apache.james.server.PortUtil;
import org.apache.james.server.mock.MockJSR250Loader;
import org.apache.james.server.mock.MockProtocolHandlerChain;
@@ -54,7 +55,7 @@ import org.apache.james.mailbox.store.Au
import org.apache.james.user.lib.mock.MockUsersRepository;
import org.apache.james.util.POP3BeforeSMTPHelper;
-public abstract class AbstractAsyncPOP3ServerTest extends TestCase {
+public class POP3ServerTest extends TestCase {
private int m_pop3ListenerPort = PortUtil.getNonPrivilegedPort();
private POP3TestConfiguration m_testConfiguration;
@@ -70,10 +71,33 @@ public abstract class AbstractAsyncPOP3S
"Subject: test\r\n\r\n"+
"Body Text POP3ServerTest.setupTestMails\r\n").getBytes();
- public AbstractAsyncPOP3ServerTest() {
+ public POP3ServerTest() {
super("AsyncPOP3ServerTest");
}
+ private POP3Server m_pop3Server;
+
+
+ protected void initPOP3Server(POP3TestConfiguration testConfiguration) throws Exception {
+ m_pop3Server.configure(testConfiguration);
+ m_pop3Server.init();
+ }
+
+
+ protected void setUpPOP3Server() throws Exception {
+
+ m_pop3Server = new POP3Server();
+ m_pop3Server.setDNSService(dnsservice);
+ m_pop3Server.setFileSystem(fSystem);
+ m_pop3Server.setProtocolHandlerChain(chain);
+
+
+ SimpleLog log = new SimpleLog("Mock");
+ log.setLevel(SimpleLog.LOG_LEVEL_DEBUG);
+ m_pop3Server.setLog(log);
+ }
+
+
protected void setUp() throws Exception {
setUpServiceManager();
@@ -92,9 +116,6 @@ public abstract class AbstractAsyncPOP3S
initPOP3Server(testConfiguration);
}
- protected abstract void setUpPOP3Server() throws Exception;
- protected abstract void initPOP3Server(POP3TestConfiguration testConfiguration) throws Exception;
-
protected void setUpServiceManager() throws Exception {
serviceManager = new MockJSR250Loader();
@@ -133,6 +154,7 @@ public abstract class AbstractAsyncPOP3S
return dns;
}
protected void tearDown() throws Exception {
+
if (m_pop3Protocol != null) {
if ( m_pop3Protocol.isConnected()){
m_pop3Protocol.sendCommand("quit");
@@ -143,6 +165,8 @@ public abstract class AbstractAsyncPOP3S
manager.deleteEverything();
//manager.deleteAll();
+ m_pop3Server.destroy();
+
super.tearDown();
}
Copied: james/server/trunk/remotemanager/src/test/java/org/apache/james/remotemanager/RemoteManagerTest.java (from r1052807, james/server/trunk/remotemanager/src/test/java/org/apache/james/remotemanager/AbstractRemoteManagerTest.java)
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager/src/test/java/org/apache/james/remotemanager/RemoteManagerTest.java?p2=james/server/trunk/remotemanager/src/test/java/org/apache/james/remotemanager/RemoteManagerTest.java&p1=james/server/trunk/remotemanager/src/test/java/org/apache/james/remotemanager/AbstractRemoteManagerTest.java&r1=1052807&r2=1053908&rev=1053908&view=diff
==============================================================================
--- james/server/trunk/remotemanager/src/test/java/org/apache/james/remotemanager/AbstractRemoteManagerTest.java (original)
+++ james/server/trunk/remotemanager/src/test/java/org/apache/james/remotemanager/RemoteManagerTest.java Thu Dec 30 15:04:53 2010
@@ -34,6 +34,7 @@ import junit.framework.TestCase;
import org.apache.commons.logging.impl.SimpleLog;
import org.apache.commons.net.telnet.TelnetClient;
+import org.apache.james.remotemanager.netty.RemoteManager;
import org.apache.james.server.PortUtil;
import org.apache.james.server.mock.MockJSR250Loader;
import org.apache.james.server.mock.MockProtocolHandlerChain;
@@ -47,7 +48,7 @@ import org.apache.james.user.lib.mock.Mo
import org.apache.james.util.InternetPrintWriter;
import org.apache.james.vut.lib.mock.MockVirtualUserTableManagementImpl;
-public abstract class AbstractRemoteManagerTest extends TestCase {
+public class RemoteManagerTest extends TestCase {
private int m_remoteManagerListenerPort = PortUtil.getNonPrivilegedPort();
private RemoteManagerTestConfiguration m_testConfiguration;
private String m_host = "127.0.0.1";
@@ -79,10 +80,31 @@ public abstract class AbstractRemoteMana
initRemoteManager(testConfiguration);
}
- protected abstract void setUpRemoteManager() throws Exception;
-
- protected abstract void initRemoteManager(RemoteManagerTestConfiguration testConfiguration) throws Exception;
+ private RemoteManager remotemanager;
+ protected void initRemoteManager(RemoteManagerTestConfiguration testConfiguration) throws Exception {
+ remotemanager.configure(testConfiguration);
+ remotemanager.init();
+ }
+
+ protected void setUpRemoteManager() throws Exception {
+
+ remotemanager = new RemoteManager();
+ remotemanager.setDNSService(dnsservice);
+ remotemanager.setFileSystem(filesystem);
+ remotemanager.setProtocolHandlerChain(chain);
+ SimpleLog log = new SimpleLog("Mock");
+ log.setLevel(SimpleLog.LOG_LEVEL_DEBUG);
+ remotemanager.setLog(log);
+
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ remotemanager.destroy();
+ }
+
protected void login() throws IOException {
login(m_testConfiguration.getLoginName(), m_testConfiguration.getLoginPassword());
}
Copied: james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java (from r1052876, james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/AbstractSMTPServerTest.java)
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java?p2=james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java&p1=james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/AbstractSMTPServerTest.java&r1=1052876&r2=1053908&rev=1053908&view=diff
==============================================================================
--- james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/AbstractSMTPServerTest.java (original)
+++ james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java Thu Dec 30 15:04:53 2010
@@ -42,11 +42,13 @@ import junit.framework.TestCase;
import org.apache.commons.logging.impl.SimpleLog;
import org.apache.commons.net.smtp.SMTPClient;
import org.apache.commons.net.smtp.SMTPReply;
+import org.apache.james.protocols.impl.AbstractChannelPipelineFactory;
import org.apache.james.queue.api.mock.MockMailQueue;
import org.apache.james.queue.api.mock.MockMailQueueFactory;
import org.apache.james.server.PortUtil;
import org.apache.james.server.mock.MockJSR250Loader;
import org.apache.james.server.mock.MockProtocolHandlerChain;
+import org.apache.james.smtpserver.netty.SMTPServer;
import org.apache.james.dnsservice.api.DNSService;
import org.apache.james.domainlist.api.mock.SimpleDomainList;
import org.apache.james.filesystem.api.mock.MockFileSystem;
@@ -58,7 +60,7 @@ import org.apache.mailet.HostAddress;
import org.apache.mailet.Mail;
import org.apache.mailet.MailAddress;
-public abstract class AbstractSMTPServerTest extends TestCase {
+public abstract class SMTPServerTest extends TestCase {
final class AlterableDNSServer implements DNSService {
@@ -151,7 +153,7 @@ public abstract class AbstractSMTPServer
protected MockMailQueueFactory queueFactory;
protected MockMailQueue queue;
- public AbstractSMTPServerTest() {
+ public SMTPServerTest() {
super("AsyncSMTPServerTest");
m_smtpListenerPort = PortUtil.getNonPrivilegedPort();
}
@@ -169,8 +171,78 @@ public abstract class AbstractSMTPServer
setUpSMTPServer();
}
- protected abstract void setUpSMTPServer() throws Exception;
- protected abstract void initSMTPServer(SMTPTestConfiguration testConfiguration) throws Exception;
+ private SMTPServer m_smtpServer;
+
+ protected void initSMTPServer(SMTPTestConfiguration testConfiguration) throws Exception {
+ m_smtpServer.configure(testConfiguration);
+ m_smtpServer.init();
+
+ }
+
+ protected void setUpSMTPServer() throws Exception {
+ SimpleLog log = new SimpleLog("SMTP");
+ log.setLevel(SimpleLog.LOG_LEVEL_ALL);
+ m_smtpServer = new SMTPServer();
+ m_smtpServer.setDNSService(m_dnsServer);
+ m_smtpServer.setFileSystem(fileSystem);
+
+ m_smtpServer.setProtocolHandlerChain(chain);
+
+ m_smtpServer.setLog(log);
+ }
+
+
+ public void testMaxLineLength() throws Exception {
+ finishSetUp(m_testConfiguration);
+
+ SMTPClient smtpProtocol = new SMTPClient();
+ smtpProtocol.connect("127.0.0.1", m_smtpListenerPort);
+
+ StringBuffer sb = new StringBuffer();
+ for (int i = 0; i < AbstractChannelPipelineFactory.MAX_LINE_LENGTH; i++) {
+ sb.append("A");
+ }
+ smtpProtocol.sendCommand("EHLO " + sb.toString());
+ System.out.println(smtpProtocol.getReplyString());
+ assertEquals("Line length exceed", 500, smtpProtocol.getReplyCode());
+
+ smtpProtocol.sendCommand("EHLO test");
+ assertEquals("Line length ok", 250, smtpProtocol.getReplyCode());
+
+
+ smtpProtocol.quit();
+ smtpProtocol.disconnect();
+ }
+
+ public void testConnectionLimit() throws Exception {
+ m_testConfiguration.setConnectionLimit(2);
+ finishSetUp(m_testConfiguration);
+
+ SMTPClient smtpProtocol = new SMTPClient();
+ smtpProtocol.connect("127.0.0.1", m_smtpListenerPort);
+ SMTPClient smtpProtocol2 = new SMTPClient();
+ smtpProtocol2.connect("127.0.0.1", m_smtpListenerPort);
+
+ SMTPClient smtpProtocol3 = new SMTPClient();
+
+ try {
+ smtpProtocol3.connect("127.0.0.1", m_smtpListenerPort);
+ Thread.sleep(3000);
+ fail("Shold disconnect connection 3");
+ } catch (Exception e) {
+
+ }
+
+ smtpProtocol.quit();
+ smtpProtocol.disconnect();
+ smtpProtocol2.quit();
+ smtpProtocol2.disconnect();
+
+ smtpProtocol3.connect("127.0.0.1", m_smtpListenerPort);
+ Thread.sleep(3000);
+
+
+ }
protected void finishSetUp(SMTPTestConfiguration testConfiguration) throws Exception {
testConfiguration.init();
@@ -185,6 +257,8 @@ public abstract class AbstractSMTPServer
protected void tearDown() throws Exception {
queue.clear();
+ m_smtpServer.destroy();
+
super.tearDown();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org