1 package com.ozacc.mail.impl;
2
3 import java.io.File;
4
5 import javax.mail.internet.InternetAddress;
6
7 import org.apache.log4j.BasicConfigurator;
8
9 import junit.framework.TestCase;
10
11 import com.ozacc.mail.Mail;
12 import com.ozacc.mail.MailBuilder;
13
14 /***
15 *
16 * @since 1.0.1
17 * @author Tomohiro Otsuka
18 * @version $Id: XMLMailBuilderImplTest.java,v 1.6 2004/09/21 11:43:09 otsuka Exp $
19 */
20 public class XMLMailBuilderImplTest extends TestCase {
21
22 private MailBuilder builder;
23
24
25
26
27 protected void setUp() throws Exception {
28 super.setUp();
29 BasicConfigurator.configure();
30
31 builder = new XMLMailBuilderImpl();
32 }
33
34 /***
35 * @see junit.framework.TestCase#tearDown()
36 */
37 protected void tearDown() throws Exception {
38 super.tearDown();
39 BasicConfigurator.resetConfiguration();
40 }
41
42 public final void testBuildMailCDATA() throws Exception {
43 String classPath = "/com/ozacc/mail/test-mail6-cdata.xml";
44
45 String expectedBody = "¤³¤?¤ÏCDATA¤Î¥Æ¥¥¹¥È¤Ç¤¹¡£";
46
47 Mail result = builder.buildMail(classPath);
48
49 assertEquals(expectedBody, result.getText());
50 }
51
52 public final void testBuildMultipartMailFromFile() throws Exception {
53 String path = "src/test/com/ozacc/mail/test-mail1.xml";
54 File file = new File(path);
55
56 String subject = "XMLMailBuilder¤Î¥Æ¥¹¥È¥±¡¼¥¹";
57 String text = "²?¹Ô¤·¤Þ¤¹¡£\n²?¹Ô¤·¤Þ¤·¤¿¡£\n¥Æ¥¹¥È¤ÏÀ®¸ù¡£";
58 String htmlText = "<html><body>¤³¤?¤ÏHTML¥Æ¥¥¹¥È</body></html>";
59
60 InternetAddress from = new InternetAddress("from@example.com", "º¹½Ð¿Í");
61 InternetAddress returnPath = new InternetAddress("return@example.com");
62 InternetAddress replyTo = new InternetAddress("reply@example.com");
63
64 InternetAddress to1 = new InternetAddress("to1@example.com", "°¸À?1");
65 InternetAddress to2 = new InternetAddress("to2@example.com");
66
67 InternetAddress cc1 = new InternetAddress("cc1@example.com", "CC1");
68 InternetAddress cc2 = new InternetAddress("cc2@example.com");
69
70 InternetAddress bcc = new InternetAddress("bcc@example.com");
71
72 Mail result = builder.buildMail(file);
73
74 System.out.println(result);
75
76 assertEquals(subject, result.getSubject());
77 assertEquals(text, result.getText());
78
79 assertTrue(result.isMultipartMail());
80 assertTrue(result.isHtmlMail());
81 assertEquals(htmlText, result.getHtmlText());
82
83 assertEquals(from, result.getFrom());
84 assertEquals(returnPath, result.getReturnPath());
85 assertEquals(replyTo, result.getReplyTo());
86
87 InternetAddress[] tos = result.getTo();
88 assertEquals(2, tos.length);
89 assertEquals(to1, tos[0]);
90 assertEquals(to2, tos[1]);
91
92 InternetAddress[] ccs = result.getCc();
93 assertEquals(2, ccs.length);
94 assertEquals(cc1, ccs[0]);
95 assertEquals(cc2, ccs[1]);
96
97 InternetAddress[] bccs = result.getBcc();
98 assertEquals(1, bccs.length);
99 assertEquals(bcc, bccs[0]);
100 }
101
102
103
104
105 public final void testBuildMailFromClassPath() throws Exception {
106 String classPath = "/com/ozacc/mail/test-mail1.xml";
107
108 String subject = "XMLMailBuilder¤Î¥Æ¥¹¥È¥±¡¼¥¹";
109 String text = "²?¹Ô¤·¤Þ¤¹¡£\n²?¹Ô¤·¤Þ¤·¤¿¡£\n¥Æ¥¹¥È¤ÏÀ®¸ù¡£";
110
111 InternetAddress from = new InternetAddress("from@example.com", "º¹½Ð¿Í");
112 InternetAddress returnPath = new InternetAddress("return@example.com");
113 InternetAddress replyTo = new InternetAddress("reply@example.com");
114
115 InternetAddress to1 = new InternetAddress("to1@example.com", "°¸À?1");
116 InternetAddress to2 = new InternetAddress("to2@example.com");
117
118 InternetAddress cc1 = new InternetAddress("cc1@example.com", "CC1");
119 InternetAddress cc2 = new InternetAddress("cc2@example.com");
120
121 InternetAddress bcc = new InternetAddress("bcc@example.com");
122
123 Mail result = builder.buildMail(classPath);
124
125 assertEquals(subject, result.getSubject());
126 assertEquals(text, result.getText());
127
128 assertEquals(from, result.getFrom());
129 assertEquals(returnPath, result.getReturnPath());
130 assertEquals(replyTo, result.getReplyTo());
131
132 InternetAddress[] tos = result.getTo();
133 assertEquals(2, tos.length);
134 assertEquals(to1, tos[0]);
135 assertEquals(to2, tos[1]);
136
137 InternetAddress[] ccs = result.getCc();
138 assertEquals(2, ccs.length);
139 assertEquals(cc1, ccs[0]);
140 assertEquals(cc2, ccs[1]);
141
142 InternetAddress[] bccs = result.getBcc();
143 assertEquals(1, bccs.length);
144 assertEquals(bcc, bccs[0]);
145 }
146
147
148
149
150 public final void testBuildMailFile() throws Exception {
151 String path = "src/test/com/ozacc/mail/test-mail1.xml";
152 File file = new File(path);
153
154 String subject = "XMLMailBuilder¤Î¥Æ¥¹¥È¥±¡¼¥¹";
155 String text = "²?¹Ô¤·¤Þ¤¹¡£\n²?¹Ô¤·¤Þ¤·¤¿¡£\n¥Æ¥¹¥È¤ÏÀ®¸ù¡£";
156
157 InternetAddress from = new InternetAddress("from@example.com", "º¹½Ð¿Í");
158 InternetAddress returnPath = new InternetAddress("return@example.com");
159 InternetAddress replyTo = new InternetAddress("reply@example.com");
160
161 InternetAddress to1 = new InternetAddress("to1@example.com", "°¸À?1");
162 InternetAddress to2 = new InternetAddress("to2@example.com");
163
164 InternetAddress cc1 = new InternetAddress("cc1@example.com", "CC1");
165 InternetAddress cc2 = new InternetAddress("cc2@example.com");
166
167 InternetAddress bcc = new InternetAddress("bcc@example.com");
168
169 Mail result = builder.buildMail(file);
170
171 assertEquals(subject, result.getSubject());
172 assertEquals(text, result.getText());
173
174 assertEquals(from, result.getFrom());
175 assertEquals(returnPath, result.getReturnPath());
176 assertEquals(replyTo, result.getReplyTo());
177
178 InternetAddress[] tos = result.getTo();
179 assertEquals(2, tos.length);
180 assertEquals(to1, tos[0]);
181 assertEquals(to2, tos[1]);
182
183 InternetAddress[] ccs = result.getCc();
184 assertEquals(2, ccs.length);
185 assertEquals(cc1, ccs[0]);
186 assertEquals(cc2, ccs[1]);
187
188 InternetAddress[] bccs = result.getBcc();
189 assertEquals(1, bccs.length);
190 assertEquals(bcc, bccs[0]);
191 }
192
193 }