|
@@ -69,12 +69,12 @@ public class MailMessageTest { |
|
|
*/ |
|
|
*/ |
|
|
@Test |
|
|
@Test |
|
|
public void testAPIExample() throws InterruptedException { |
|
|
public void testAPIExample() throws InterruptedException { |
|
|
|
|
|
|
|
|
ServerThread testMailServer = new ServerThread(); |
|
|
|
|
|
|
|
|
final int port = TEST_PORT + 1; |
|
|
|
|
|
ServerThread testMailServer = new ServerThread(port); |
|
|
Thread server = new Thread(testMailServer); |
|
|
Thread server = new Thread(testMailServer); |
|
|
server.start(); |
|
|
server.start(); |
|
|
|
|
|
|
|
|
ClientThread testMailClient = new ClientThread(); |
|
|
|
|
|
|
|
|
ClientThread testMailClient = new ClientThread(port); |
|
|
|
|
|
|
|
|
testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>"); |
|
|
testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>"); |
|
|
testMailClient.to("to@you.com"); |
|
|
testMailClient.to("to@you.com"); |
|
@@ -120,24 +120,6 @@ public class MailMessageTest { |
|
|
"250\r\n" + |
|
|
"250\r\n" + |
|
|
"QUIT\r\n" + |
|
|
"QUIT\r\n" + |
|
|
"221\r\n"; |
|
|
"221\r\n"; |
|
|
/*for (int icounter = 0; icounter<expectedResult.length(); icounter++) { |
|
|
|
|
|
if (icounter < result.length()) { |
|
|
|
|
|
if (expectedResult.charAt(icounter) != result.charAt(icounter)) { |
|
|
|
|
|
System.out.println("posit " + icounter + " expected " |
|
|
|
|
|
+ expectedResult.charAt(icounter) |
|
|
|
|
|
+ " result " + result.charAt(icounter)); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
if (expectedResult.length()>result.length()) { |
|
|
|
|
|
System.out.println("excedent of expected result " |
|
|
|
|
|
+ expectedResult.substring(result.length())); |
|
|
|
|
|
} |
|
|
|
|
|
if (expectedResult.length()<result.length()) { |
|
|
|
|
|
System.out.println("excedent of result " |
|
|
|
|
|
+ result.substring(expectedResult.length())); |
|
|
|
|
|
}*/ |
|
|
|
|
|
assertEquals(expectedResult.length(), result.length()); |
|
|
|
|
|
assertEquals(expectedResult, result); // order of headers cannot be guaranteed |
|
|
assertEquals(expectedResult, result); // order of headers cannot be guaranteed |
|
|
assertFalse(testMailClient.getFailMessage(), testMailClient.isFailed()); |
|
|
assertFalse(testMailClient.getFailMessage(), testMailClient.isFailed()); |
|
|
} |
|
|
} |
|
@@ -148,11 +130,12 @@ public class MailMessageTest { |
|
|
*/ |
|
|
*/ |
|
|
@Test |
|
|
@Test |
|
|
public void testToOnly() throws InterruptedException { |
|
|
public void testToOnly() throws InterruptedException { |
|
|
ServerThread testMailServer = new ServerThread(); |
|
|
|
|
|
|
|
|
final int port = TEST_PORT + 2; |
|
|
|
|
|
ServerThread testMailServer = new ServerThread(port); |
|
|
Thread server = new Thread(testMailServer); |
|
|
Thread server = new Thread(testMailServer); |
|
|
server.start(); |
|
|
server.start(); |
|
|
|
|
|
|
|
|
ClientThread testMailClient = new ClientThread(); |
|
|
|
|
|
|
|
|
ClientThread testMailClient = new ClientThread(port); |
|
|
|
|
|
|
|
|
testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>"); |
|
|
testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>"); |
|
|
testMailClient.to("to@you.com"); |
|
|
testMailClient.to("to@you.com"); |
|
@@ -188,7 +171,6 @@ public class MailMessageTest { |
|
|
"250\r\n" + |
|
|
"250\r\n" + |
|
|
"QUIT\r\n" + |
|
|
"QUIT\r\n" + |
|
|
"221\r\n"; |
|
|
"221\r\n"; |
|
|
assertEquals(expectedResult.length(), result.length()); |
|
|
|
|
|
assertEquals(expectedResult, result); // order of headers cannot be guaranteed |
|
|
assertEquals(expectedResult, result); // order of headers cannot be guaranteed |
|
|
assertFalse(testMailClient.getFailMessage(), testMailClient.isFailed()); |
|
|
assertFalse(testMailClient.getFailMessage(), testMailClient.isFailed()); |
|
|
} |
|
|
} |
|
@@ -200,11 +182,12 @@ public class MailMessageTest { |
|
|
*/ |
|
|
*/ |
|
|
@Test |
|
|
@Test |
|
|
public void testCcOnly() throws InterruptedException { |
|
|
public void testCcOnly() throws InterruptedException { |
|
|
ServerThread testMailServer = new ServerThread(); |
|
|
|
|
|
|
|
|
final int port = TEST_PORT + 3; |
|
|
|
|
|
ServerThread testMailServer = new ServerThread(port); |
|
|
Thread server = new Thread(testMailServer); |
|
|
Thread server = new Thread(testMailServer); |
|
|
server.start(); |
|
|
server.start(); |
|
|
|
|
|
|
|
|
ClientThread testMailClient = new ClientThread(); |
|
|
|
|
|
|
|
|
ClientThread testMailClient = new ClientThread(port); |
|
|
|
|
|
|
|
|
testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>"); |
|
|
testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>"); |
|
|
testMailClient.cc("cc@you.com"); |
|
|
testMailClient.cc("cc@you.com"); |
|
@@ -240,7 +223,6 @@ public class MailMessageTest { |
|
|
"250\r\n" + |
|
|
"250\r\n" + |
|
|
"QUIT\r\n" + |
|
|
"QUIT\r\n" + |
|
|
"221\r\n"; |
|
|
"221\r\n"; |
|
|
assertEquals(expectedResult.length(), result.length()); |
|
|
|
|
|
assertEquals(expectedResult, result); |
|
|
assertEquals(expectedResult, result); |
|
|
assertFalse(testMailClient.getFailMessage(), testMailClient.isFailed()); |
|
|
assertFalse(testMailClient.getFailMessage(), testMailClient.isFailed()); |
|
|
} |
|
|
} |
|
@@ -252,11 +234,12 @@ public class MailMessageTest { |
|
|
*/ |
|
|
*/ |
|
|
@Test |
|
|
@Test |
|
|
public void testBccOnly() throws InterruptedException { |
|
|
public void testBccOnly() throws InterruptedException { |
|
|
ServerThread testMailServer = new ServerThread(); |
|
|
|
|
|
|
|
|
final int port = TEST_PORT + 4; |
|
|
|
|
|
ServerThread testMailServer = new ServerThread(port); |
|
|
Thread server = new Thread(testMailServer); |
|
|
Thread server = new Thread(testMailServer); |
|
|
server.start(); |
|
|
server.start(); |
|
|
|
|
|
|
|
|
ClientThread testMailClient = new ClientThread(); |
|
|
|
|
|
|
|
|
ClientThread testMailClient = new ClientThread(port); |
|
|
|
|
|
|
|
|
testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>"); |
|
|
testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>"); |
|
|
testMailClient.bcc("bcc@you.com"); |
|
|
testMailClient.bcc("bcc@you.com"); |
|
@@ -291,7 +274,6 @@ public class MailMessageTest { |
|
|
"250\r\n" + |
|
|
"250\r\n" + |
|
|
"QUIT\r\n" + |
|
|
"QUIT\r\n" + |
|
|
"221\r\n"; |
|
|
"221\r\n"; |
|
|
assertEquals(expectedResult.length(), result.length()); |
|
|
|
|
|
assertEquals(expectedResult, result); |
|
|
assertEquals(expectedResult, result); |
|
|
assertFalse(testMailClient.getFailMessage(), testMailClient.isFailed()); |
|
|
assertFalse(testMailClient.getFailMessage(), testMailClient.isFailed()); |
|
|
} |
|
|
} |
|
@@ -304,11 +286,12 @@ public class MailMessageTest { |
|
|
*/ |
|
|
*/ |
|
|
@Test |
|
|
@Test |
|
|
public void testNoSubject() throws InterruptedException { |
|
|
public void testNoSubject() throws InterruptedException { |
|
|
ServerThread testMailServer = new ServerThread(); |
|
|
|
|
|
|
|
|
final int port = TEST_PORT + 5; |
|
|
|
|
|
ServerThread testMailServer = new ServerThread(port); |
|
|
Thread server = new Thread(testMailServer); |
|
|
Thread server = new Thread(testMailServer); |
|
|
server.start(); |
|
|
server.start(); |
|
|
|
|
|
|
|
|
ClientThread testMailClient = new ClientThread(); |
|
|
|
|
|
|
|
|
ClientThread testMailClient = new ClientThread(port); |
|
|
|
|
|
|
|
|
testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>"); |
|
|
testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>"); |
|
|
testMailClient.to("to@you.com"); |
|
|
testMailClient.to("to@you.com"); |
|
@@ -342,7 +325,6 @@ public class MailMessageTest { |
|
|
"250\r\n" + |
|
|
"250\r\n" + |
|
|
"QUIT\r\n" + |
|
|
"QUIT\r\n" + |
|
|
"221\r\n"; |
|
|
"221\r\n"; |
|
|
assertEquals(expectedResult.length(), result.length()); |
|
|
|
|
|
assertEquals(expectedResult, result); |
|
|
assertEquals(expectedResult, result); |
|
|
assertFalse(testMailClient.getFailMessage(), testMailClient.isFailed()); |
|
|
assertFalse(testMailClient.getFailMessage(), testMailClient.isFailed()); |
|
|
} |
|
|
} |
|
@@ -354,11 +336,12 @@ public class MailMessageTest { |
|
|
*/ |
|
|
*/ |
|
|
@Test |
|
|
@Test |
|
|
public void testEmptyBody() throws InterruptedException { |
|
|
public void testEmptyBody() throws InterruptedException { |
|
|
ServerThread testMailServer = new ServerThread(); |
|
|
|
|
|
|
|
|
final int port = TEST_PORT + 6; |
|
|
|
|
|
ServerThread testMailServer = new ServerThread(port); |
|
|
Thread server = new Thread(testMailServer); |
|
|
Thread server = new Thread(testMailServer); |
|
|
server.start(); |
|
|
server.start(); |
|
|
|
|
|
|
|
|
ClientThread testMailClient = new ClientThread(); |
|
|
|
|
|
|
|
|
ClientThread testMailClient = new ClientThread(port); |
|
|
|
|
|
|
|
|
testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>"); |
|
|
testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>"); |
|
|
testMailClient.to("to@you.com"); |
|
|
testMailClient.to("to@you.com"); |
|
@@ -392,7 +375,6 @@ public class MailMessageTest { |
|
|
"250\r\n" + |
|
|
"250\r\n" + |
|
|
"QUIT\r\n" + |
|
|
"QUIT\r\n" + |
|
|
"221\r\n"; |
|
|
"221\r\n"; |
|
|
assertEquals(expectedResult.length(), result.length()); |
|
|
|
|
|
assertEquals(expectedResult, result); |
|
|
assertEquals(expectedResult, result); |
|
|
assertFalse(testMailClient.getFailMessage(), testMailClient.isFailed()); |
|
|
assertFalse(testMailClient.getFailMessage(), testMailClient.isFailed()); |
|
|
} |
|
|
} |
|
@@ -406,12 +388,12 @@ public class MailMessageTest { |
|
|
*/ |
|
|
*/ |
|
|
@Test |
|
|
@Test |
|
|
public void testAsciiCharset() throws InterruptedException { |
|
|
public void testAsciiCharset() throws InterruptedException { |
|
|
|
|
|
|
|
|
ServerThread testMailServer = new ServerThread(); |
|
|
|
|
|
|
|
|
final int port = TEST_PORT + 7; |
|
|
|
|
|
ServerThread testMailServer = new ServerThread(port); |
|
|
Thread server = new Thread(testMailServer); |
|
|
Thread server = new Thread(testMailServer); |
|
|
server.start(); |
|
|
server.start(); |
|
|
|
|
|
|
|
|
ClientThread testMailClient = new ClientThread(); |
|
|
|
|
|
|
|
|
ClientThread testMailClient = new ClientThread(port); |
|
|
|
|
|
|
|
|
testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>"); |
|
|
testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>"); |
|
|
testMailClient.to("Ceki G\u00fclc\u00fc <abuse@mail-abuse.org>"); |
|
|
testMailClient.to("Ceki G\u00fclc\u00fc <abuse@mail-abuse.org>"); |
|
@@ -453,8 +435,6 @@ public class MailMessageTest { |
|
|
bos1.print(expectedResult); |
|
|
bos1.print(expectedResult); |
|
|
bos2.print(result); |
|
|
bos2.print(result); |
|
|
|
|
|
|
|
|
assertEquals("expected message length != actual message length " |
|
|
|
|
|
+ "in testAsciiCharset()", expectedResult.length(), result.length()); |
|
|
|
|
|
assertEquals("baos1 and baos2 should be the same in testAsciiCharset()", |
|
|
assertEquals("baos1 and baos2 should be the same in testAsciiCharset()", |
|
|
baos1.toString(), baos2.toString()); // order of headers cannot be guaranteed |
|
|
baos1.toString(), baos2.toString()); // order of headers cannot be guaranteed |
|
|
assertFalse(testMailClient.getFailMessage(), testMailClient.isFailed()); |
|
|
assertFalse(testMailClient.getFailMessage(), testMailClient.isFailed()); |
|
@@ -466,6 +446,7 @@ public class MailMessageTest { |
|
|
*/ |
|
|
*/ |
|
|
private class ServerThread implements Runnable { |
|
|
private class ServerThread implements Runnable { |
|
|
|
|
|
|
|
|
|
|
|
private final int port; |
|
|
private StringBuilder sb = null; |
|
|
private StringBuilder sb = null; |
|
|
private boolean loop = false; |
|
|
private boolean loop = false; |
|
|
ServerSocket ssock = null; |
|
|
ServerSocket ssock = null; |
|
@@ -474,10 +455,14 @@ public class MailMessageTest { |
|
|
BufferedReader in = null; |
|
|
BufferedReader in = null; |
|
|
private boolean data = false; // state engine: false=envelope, true=message |
|
|
private boolean data = false; // state engine: false=envelope, true=message |
|
|
|
|
|
|
|
|
|
|
|
ServerThread(int port) { |
|
|
|
|
|
this.port = port; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
public void run() { |
|
|
public void run() { |
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
ssock = new ServerSocket(TEST_PORT); |
|
|
|
|
|
|
|
|
ssock = new ServerSocket(port); |
|
|
sock = ssock.accept(); // wait for connection |
|
|
sock = ssock.accept(); // wait for connection |
|
|
in = new BufferedReader(new InputStreamReader( |
|
|
in = new BufferedReader(new InputStreamReader( |
|
|
sock.getInputStream())); |
|
|
sock.getInputStream())); |
|
@@ -582,6 +567,7 @@ public class MailMessageTest { |
|
|
*/ |
|
|
*/ |
|
|
private class ClientThread implements Runnable { |
|
|
private class ClientThread implements Runnable { |
|
|
|
|
|
|
|
|
|
|
|
private final int port; |
|
|
private MailMessage msg; |
|
|
private MailMessage msg; |
|
|
private boolean fail = false; |
|
|
private boolean fail = false; |
|
|
private String failMessage = null; |
|
|
private String failMessage = null; |
|
@@ -595,11 +581,14 @@ public class MailMessageTest { |
|
|
protected Vector ccList = new Vector(); |
|
|
protected Vector ccList = new Vector(); |
|
|
protected Vector bccList = new Vector(); |
|
|
protected Vector bccList = new Vector(); |
|
|
|
|
|
|
|
|
|
|
|
ClientThread(int port) { |
|
|
|
|
|
this.port = port; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
public void run() { |
|
|
public void run() { |
|
|
for (int i = 9; i > 0; i--) { |
|
|
for (int i = 9; i > 0; i--) { |
|
|
try { |
|
|
try { |
|
|
msg = new MailMessage("localhost", TEST_PORT); |
|
|
|
|
|
|
|
|
msg = new MailMessage("localhost", port); |
|
|
} catch (java.net.ConnectException ce) { |
|
|
} catch (java.net.ConnectException ce) { |
|
|
try { |
|
|
try { |
|
|
Thread.sleep(10 * 1000); |
|
|
Thread.sleep(10 * 1000); |
|
|