1 | void testToOnly() {↵ | | |
|
2 | ServerThread testMailServer = new ServerThread();↵ | | |
|
3 | Thread server = new Thread(testMailServer);↵ | | |
|
4 | server.start();↵ | | |
|
|
5 | ClientThread testMailClient = new ClientThread();↵ | | |
|
|
6 | testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>");↵ | | |
|
7 | testMailClient.to("to@you.com");↵ | | |
|
8 | testMailClient.setSubject("Test subject");↵ | | |
|
9 | testMailClient.setMessage( "test line 1\n" +↵ | | |
|
10 | "test line 2" );↵ | | |
|
|
11 | Thread client = new Thread(testMailClient);↵ | | |
|
12 | client.start();↵ | | |
|
|
13 | try {↵ | | |
|
14 | server.join(60 * 1000); // 60s↵ | | |
|
15 | client.join(30 * 1000); // a further 30s↵ | | |
|
16 | } catch (InterruptedException ie ) {↵ | | |
|
17 | fail("InterruptedException: " + ie);↵ | | |
|
18 | }↵ | | |
|
|
19 | String result = testMailServer.getResult();↵ | | |
|
20 | String expectedResult = "220 test SMTP EmailTaskTest\r\n" +↵ | | |
|
21 | "HELO " + local + "\r\n" +↵ | | |
|
22 | "250 " + local + " Hello " + local + " [127.0.0.1], pleased to meet you\r\n" +↵ | | |
|
23 | "MAIL FROM: <EmailTaskTest@ant.apache.org>\r\n" +↵ | | |
|
24 | "250\r\n" +↵ | | |
|
25 | "RCPT TO: <to@you.com>\r\n" +↵ | | |
|
26 | "250\r\n" +↵ | | |
|
27 | "DATA\r\n" +↵ | | |
|
28 | "354\r\n" +↵ | | |
|
29 | "Subject: Test subject\r\n" +↵ | | |
|
30 | "From: Mail Message <EmailTaskTest@ant.apache.org>\r\n" +↵ | | |
|
31 | "To: to@you.com\r\n" +↵ | | |
|
32 | "X-Mailer: org.apache.tools.mail.MailMessage (ant.apache.org)\r\n" +↵ | | |
|
33 | "\r\n" +↵ | | |
|
34 | "test line 1\r\n" +↵ | | |
|
35 | "test line 2\r\n" +↵ | | |
|
36 | "\r\n" +↵ | | |
|
37 | ".\r\n" +↵ | | |
|
38 | "250\r\n" +↵ | | |
|
39 | "QUIT\r\n" +↵ | | |
|
40 | "221\r\n";↵ | | |
|
41 | assertEquals(expectedResult.length(), result.length());↵ | | |
|
42 | assertEquals(expectedResult, result); // order of headers cannot be guaranteed↵ | | |
|
43 | if (testMailClient.isFailed()) {↵ | | |
|
44 | fail(testMailClient.getFailMessage());↵ | | |
|
45 | }↵ | | |
|
46 | }↵ | | |
|
|
|
47 | /**↵ | | |
|
48 | * Test a MailMessage with no to or bcc lines↵ | | |
|
49 | */↵ | | |
|
50 | public void testCcOnly() {↵ | | 1 | void testCcOnly() {↵
|
51 | ServerThread testMailServer = new ServerThread();↵ | | 2 | ServerThread testMailServer = new ServerThread();↵
|
52 | Thread server = new Thread(testMailServer);↵ | | 3 | Thread server = new Thread(testMailServer);↵
|
53 | server.start();↵ | | 4 | server.start();↵
|
|
54 | ClientThread testMailClient = new ClientThread();↵ | | 5 | ClientThread testMailClient = new ClientThread();↵
|
|
55 | testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>");↵ | | 6 | testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>");↵
|
56 | testMailClient.cc("cc@you.com");↵ | | 7 | testMailClient.cc("cc@you.com");↵
|
57 | testMailClient.setSubject("Test subject");↵ | | 8 | testMailClient.setSubject("Test subject");↵
|
58 | testMailClient.setMessage( "test line 1\n" +↵ | | 9 | testMailClient.setMessage( "test line 1\n" +↵
|
59 | "test line 2" );↵ | | 10 | "test line 2" );↵
|
|
60 | Thread client = new Thread(testMailClient);↵ | | 11 | Thread client = new Thread(testMailClient);↵
|
61 | client.start();↵ | | 12 | client.start();↵
|
|
62 | try {↵ | | 13 | try {↵
|
63 | server.join(60 * 1000); // 60s↵ | | 14 | server.join(60 * 1000); // 60s↵
|
64 | client.join(30 * 1000); // a further 30s↵ | | 15 | client.join(30 * 1000); // a further 30s↵
|
65 | } catch (InterruptedException ie ) {↵ | | 16 | } catch (InterruptedException ie ) {↵
|
66 | fail( "InterruptedException: " + ie );↵ | | 17 | fail( "InterruptedException: " + ie );↵
|
67 | }↵ | | 18 | }↵
|
|
68 | String result = testMailServer.getResult();↵ | | 19 | String result = testMailServer.getResult();↵
|
69 | String expectedResult = "220 test SMTP EmailTaskTest\r\n" +↵ | | 20 | String expectedResult = "220 test SMTP EmailTaskTest\r\n" +↵
|
70 | "HELO " + local + "\r\n" +↵ | | 21 | "HELO " + local + "\r\n" +↵
|
71 | "250 " + local + " Hello " + local + " [127.0.0.1], pleased to meet you\r\n" +↵ | | 22 | "250 " + local + " Hello " + local + " [127.0.0.1], pleased to meet you\r\n" +↵
|
72 | "MAIL FROM: <EmailTaskTest@ant.apache.org>\r\n" +↵ | | 23 | "MAIL FROM: <EmailTaskTest@ant.apache.org>\r\n" +↵
|
73 | "250\r\n" +↵ | | 24 | "250\r\n" +↵
|
74 | "RCPT TO: <cc@you.com>\r\n" +↵ | | 25 | "RCPT TO: <cc@you.com>\r\n" +↵
|
75 | "250\r\n" +↵ | | 26 | "250\r\n" +↵
|
76 | "DATA\r\n" +↵ | | 27 | "DATA\r\n" +↵
|
77 | "354\r\n" +↵ | | 28 | "354\r\n" +↵
|
78 | "Subject: Test subject\r\n" +↵ | | 29 | "Subject: Test subject\r\n" +↵
|
79 | "From: Mail Message <EmailTaskTest@ant.apache.org>\r\n" +↵ | | 30 | "From: Mail Message <EmailTaskTest@ant.apache.org>\r\n" +↵
|
80 | "Cc: cc@you.com\r\n" +↵ | | 31 | "Cc: cc@you.com\r\n" +↵
|
81 | "X-Mailer: org.apache.tools.mail.MailMessage (ant.apache.org)\r\n" +↵ | | 32 | "X-Mailer: org.apache.tools.mail.MailMessage (ant.apache.org)\r\n" +↵
|
82 | "\r\n" +↵ | | 33 | "\r\n" +↵
|
83 | "test line 1\r\n" +↵ | | 34 | "test line 1\r\n" +↵
|
84 | "test line 2\r\n" +↵ | | 35 | "test line 2\r\n" +↵
|
85 | "\r\n" +↵ | | 36 | "\r\n" +↵
|
86 | ".\r\n" +↵ | | 37 | ".\r\n" +↵
|
87 | "250\r\n" +↵ | | 38 | "250\r\n" +↵
|
88 | "QUIT\r\n" +↵ | | 39 | "QUIT\r\n" +↵
|
89 | "221\r\n";↵ | | 40 | "221\r\n";↵
|
90 | assertEquals(expectedResult.length(), result.length());↵ | | 41 | assertEquals(expectedResult.length(), result.length());↵
|
91 | assertEquals(expectedResult, result);↵ | | 42 | assertEquals(expectedResult, result);↵
|
92 | if (testMailClient.isFailed()) {↵ | | 43 | if (testMailClient.isFailed()) {↵
|
93 | fail(testMailClient.getFailMessage());↵ | | 44 | fail(testMailClient.getFailMessage());↵
|
94 | }↵ | | 45 | }↵
|
95 | }↵ | | 46 | }↵
|
|
|
96 | /**↵ | | 47 | /**↵
|
97 | * Test a MailMessage with no to or cc lines↵ | | 48 | * Test a MailMessage with no to or cc lines↵
|
98 | */↵ | | 49 | */↵
|
99 | public void testBccOnly() {↵ | | 50 | public void testBccOnly() {↵
|
100 | ServerThread testMailServer = new ServerThread();↵ | | 51 | ServerThread testMailServer = new ServerThread();↵
|
101 | Thread server = new Thread(testMailServer);↵ | | 52 | Thread server = new Thread(testMailServer);↵
|
102 | server.start();↵ | | 53 | server.start();↵
|
|
103 | ClientThread testMailClient = new ClientThread();↵ | | 54 | ClientThread testMailClient = new ClientThread();↵
|
|
104 | testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>");↵ | | 55 | testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>");↵
|
105 | testMailClient.bcc("bcc@you.com");↵ | | 56 | testMailClient.bcc("bcc@you.com");↵
|
106 | testMailClient | | 57 | testMailClient.setSubject("Test subject");↵
|
| | | 58 | testMailClient.setMessage( "test line 1\n" +↵
|
| | | 59 | "test line 2" );↵
|
|
| | | 60 | Thread client = new Thread(testMailClient);↵
|
| | | 61 | client.start();↵
|
|
| | | 62 | try {↵
|
| | | 63 | server.join(60 * 1000); // 60s↵
|
| | | 64 | client.join(30 * 1000); // a further 30s↵
|
| | | 65 | } catch (InterruptedException ie ) {↵
|
| | | 66 | fail( "InterruptedException: " + ie );↵
|
| | | 67 | }↵
|
|
| | | 68 | String result = testMailServer.getResult();↵
|
| | | 69 | String expectedResult = "220 test SMTP EmailTaskTest\r\n" +↵
|
| | | 70 | "HELO " + local + "\r\n" +↵
|
| | | 71 | "250 " + local + " Hello " + local + " [127.0.0.1], pleased to meet you\r\n" +↵
|
| | | 72 | "MAIL FROM: <EmailTaskTest@ant.apache.org>\r\n" +↵
|
| | | 73 | "250\r\n" +↵
|
| | | 74 | "RCPT TO: <bcc@you.com>\r\n" +↵
|
| | | 75 | "250\r\n" +↵
|
| | | 76 | "DATA\r\n" +↵
|
| | | 77 | "354\r\n" +↵
|
| | | 78 | "Subject: Test subject\r\n" +↵
|
| | | 79 | "From: Mail Message <EmailTaskTest@ant.apache.org>\r\n" +↵
|
| | | 80 | "X-Mailer: org.apache.tools.mail.MailMessage (ant.apache.org)\r\n" +↵
|
| | | 81 | "\r\n" +↵
|
| | | 82 | "test line 1\r\n" +↵
|
| | | 83 | "test line 2\r\n" +↵
|
| | | 84 | "\r\n" +↵
|
| | | 85 | ".\r\n" +↵
|
| | | 86 | "250\r\n" +↵
|
| | | 87 | "QUIT\r\n" +↵
|
| | | 88 | "221\r\n";↵
|
| | | 89 | assertEquals( expectedResult.length(), result.length() );↵
|
| | | 90 | assertEquals( expectedResult, result );↵
|
| | | 91 | if ( testMailClient.isFailed() ) {↵
|
| | | 92 | fail( testMailClient.getFailMessage() );↵
|
| | | 93 | }↵
|
| | | 94 | }↵
|
|
|
| | | 95 | /**↵
|
| | | 96 | * Test a MailMessage with no subject line↵
|
| | | 97 | * Subject is an optional field (RFC 822 s4.1)↵
|
| | | 98 | */↵
|
| | | 99 | public void testNoSubject() {↵
|
| | | 100 | ServerThread testMailServer = new ServerThread();↵
|
| | | 101 | Thread server = new Thread(testMailServer);↵
|
| | | 102 | server.start();↵
|
|
| | | 103 | ClientThread testMailClient = new ClientThread();↵
|
|
| | | 104 | testMailClient.from("Mail Message <EmailTaskTest@ant.apache.org>");↵
|
| | | 105 | testMailClient.to("to@you.com");↵
|
| | | 106 | testMailClient
|