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 be...@apache.org on 2008/10/02 19:57:18 UTC
svn commit: r701200 -
/james/server/trunk/smtpserver-function/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
Author: berndf
Date: Thu Oct 2 10:57:18 2008
New Revision: 701200
URL: http://svn.apache.org/viewvc?rev=701200&view=rev
Log:
refactor duped code into common method and provide better diagnostics if DNS resolution fails
Modified:
james/server/trunk/smtpserver-function/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
Modified: james/server/trunk/smtpserver-function/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java?rev=701200&r1=701199&r2=701200&view=diff
==============================================================================
--- james/server/trunk/smtpserver-function/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java (original)
+++ james/server/trunk/smtpserver-function/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java Thu Oct 2 10:57:18 2008
@@ -380,37 +380,43 @@
m_testConfiguration.setAuthorizedAddresses("192.168.0.1");
finishSetUp(m_testConfiguration);
+ doTestHeloEhloResolv("helo");
+ }
- SMTPClient smtpProtocol1 = new SMTPClient();
- smtpProtocol1.connect("127.0.0.1", m_smtpListenerPort);
+ private void doTestHeloEhloResolv(String heloCommand) throws IOException {
+ SMTPClient smtpProtocol = new SMTPClient();
+ smtpProtocol.connect("127.0.0.1", m_smtpListenerPort);
- assertTrue("first connection taken", smtpProtocol1.isConnected());
+ assertTrue("first connection taken", smtpProtocol.isConnected());
// no message there, yet
assertNull("no mail received by mail server", m_mailServer.getLastMail());
- String helo1 = "abgsfe3rsf.de";
- String helo2 = "james.apache.org";
+ String fictionalDomain = "abgsfe3rsf.de";
+ String existingDomain = "james.apache.org";
String mail = "sender@james.apache.org";
String rcpt = "rcpt@localhost";
-
- smtpProtocol1.sendCommand("helo",helo1);
- smtpProtocol1.setSender(mail);
- smtpProtocol1.addRecipient(rcpt);
-
- // this should give a 501 code cause the helo could not resolved
- assertEquals("expected error: helo could not resolved", 501, smtpProtocol1.getReplyCode());
-
- smtpProtocol1.sendCommand("helo", helo2);
- smtpProtocol1.setSender(mail);
- smtpProtocol1.addRecipient(rcpt);
-
- // helo is resolvable. so this should give a 250 code
- assertEquals("Helo accepted", 250, smtpProtocol1.getReplyCode());
- smtpProtocol1.quit();
+ smtpProtocol.sendCommand(heloCommand, fictionalDomain);
+ smtpProtocol.setSender(mail);
+ smtpProtocol.addRecipient(rcpt);
+
+ // this should give a 501 code cause the helo/ehlo could not resolved
+ assertEquals("expected error: " + heloCommand + " could not resolved", 501, smtpProtocol.getReplyCode());
+
+ smtpProtocol.sendCommand(heloCommand, existingDomain);
+ smtpProtocol.setSender(mail);
+ smtpProtocol.addRecipient(rcpt);
+
+ if (smtpProtocol.getReplyCode() == 501) {
+ fail(existingDomain + " domain currently cannot be resolved (check your DNS/internet connection/proxy settings to make test pass)");
+ }
+ // helo/ehlo is resolvable. so this should give a 250 code
+ assertEquals(heloCommand + " accepted", 250, smtpProtocol.getReplyCode());
+
+ smtpProtocol.quit();
}
-
+
public void testHeloResolvDefault() throws Exception {
finishSetUp(m_testConfiguration);
@@ -434,18 +440,18 @@
SMTPClient smtpProtocol1 = new SMTPClient();
smtpProtocol1.connect("127.0.0.1", m_smtpListenerPort);
-
+
assertTrue("first connection taken", smtpProtocol1.isConnected());
-
+
// no message there, yet
assertNull("no mail received by mail server", m_mailServer
.getLastMail());
-
+
String helo1 = "abgsfe3rsf.de";
String helo2 = "james.apache.org";
String mail = "sender";
String rcpt = "recipient";
-
+
smtpProtocol1.sendCommand("helo", helo1);
smtpProtocol1.setSender(mail);
smtpProtocol1.addRecipient(rcpt);
@@ -625,35 +631,7 @@
m_testConfiguration.setAuthorizedAddresses("192.168.0.1");
finishSetUp(m_testConfiguration);
-
- SMTPClient smtpProtocol1 = new SMTPClient();
- smtpProtocol1.connect("127.0.0.1", m_smtpListenerPort);
-
- assertTrue("first connection taken", smtpProtocol1.isConnected());
-
- // no message there, yet
- assertNull("no mail received by mail server", m_mailServer.getLastMail());
-
- String ehlo1 = "abgsfe3rsf.de";
- String ehlo2 = "james.apache.org";
- String mail = "test@account";
- String rcpt = "test";
-
- smtpProtocol1.sendCommand("ehlo", ehlo1);
- smtpProtocol1.setSender(mail);
- smtpProtocol1.addRecipient(rcpt);
-
- // this should give a 501 code cause the ehlo could not resolved
- assertEquals("expected error: ehlo could not resolved", 501, smtpProtocol1.getReplyCode());
-
- smtpProtocol1.sendCommand("ehlo", ehlo2);
- smtpProtocol1.setSender(mail);
- smtpProtocol1.addRecipient(rcpt);
-
- // ehlo is resolvable. so this should give a 250 code
- assertEquals("ehlo accepted", 250, smtpProtocol1.getReplyCode());
-
- smtpProtocol1.quit();
+ doTestHeloEhloResolv("ehlo");
}
public void testEhloResolvDefault() throws Exception {
@@ -674,34 +652,7 @@
m_testConfiguration.setCheckAuthNetworks(true);
finishSetUp(m_testConfiguration);
-
- SMTPClient smtpProtocol1 = new SMTPClient();
- smtpProtocol1.connect("127.0.0.1", m_smtpListenerPort);
-
- assertTrue("first connection taken", smtpProtocol1.isConnected());
-
- // no message there, yet
- assertNull("no mail received by mail server", m_mailServer.getLastMail());
-
- String ehlo1 = "abgsfe3rsf.de";
- String ehlo2 = "james.apache.org";
- String mail = "sender@localhost";
- String rcpt = "test";
-
- smtpProtocol1.sendCommand("ehlo", ehlo1);
- smtpProtocol1.setSender(mail);
- smtpProtocol1.addRecipient(rcpt);
-
- // this should give a 501 code cause the ehlo could not resolved
- assertEquals("expected error: ehlo could not resolved", 501, smtpProtocol1.getReplyCode());
-
- smtpProtocol1.sendCommand("ehlo", ehlo2);
- smtpProtocol1.setSender(mail);
- smtpProtocol1.addRecipient(rcpt);
- // ehlo is resolvable. so this should give a 250 code
- assertEquals("ehlo accepted", 250, smtpProtocol1.getReplyCode());
-
- smtpProtocol1.quit();
+ doTestHeloEhloResolv("ehlo");
}
public void testReverseEqualsEhlo() throws Exception {
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org