1 package com.ozacc.mail.impl;
5 import javax.mail.internet.InternetAddress;
7 import junit.framework.TestCase;
9 import org.apache.log4j.BasicConfigurator;
11 import com.ozacc.mail.Mail;
12 import com.ozacc.mail.MailBuildException;
13 import com.ozacc.mail.MultipleMailBuilder;
18 * @author Tomohiro Otsuka
19 * @version $Id: XMLMailBuilderImplTest.java,v 1.6.2.1 2005/01/21 22:17:27 otsuka Exp $
21 public class XMLMailBuilderImplTest extends TestCase {
23 private MultipleMailBuilder builder;
26 * @see TestCase#setUp()
28 protected void setUp() throws Exception {
30 BasicConfigurator.configure();
32 builder = new XMLMailBuilderImpl();
36 * @see junit.framework.TestCase#tearDown()
38 protected void tearDown() throws Exception {
40 BasicConfigurator.resetConfiguration();
43 public final void testBuildMailCDATA() throws Exception {
44 String classPath = "/com/ozacc/mail/test-mail6-cdata.xml";
46 String expectedBody = "これはCDATAのテキストです。";
48 Mail result = builder.buildMail(classPath);
50 assertEquals(expectedBody, result.getText());
53 public final void testBuildMultipartMailFromFile() throws Exception {
54 String path = "src/test/java/com/ozacc/mail/test-mail1.xml";
55 File file = new File(path);
57 String subject = "XMLMailBuilderのテストケース";
58 String text = "改行します。\n改行しました。\nテストは成功。";
59 String htmlText = "<html><body>これはHTMLテキスト</body></html>";
61 InternetAddress from = new InternetAddress("from@example.com", "差出人");
62 InternetAddress returnPath = new InternetAddress("return@example.com");
63 InternetAddress replyTo = new InternetAddress("reply@example.com");
65 InternetAddress to1 = new InternetAddress("to1@example.com", "宛先1");
66 InternetAddress to2 = new InternetAddress("to2@example.com");
68 InternetAddress cc1 = new InternetAddress("cc1@example.com", "CC1");
69 InternetAddress cc2 = new InternetAddress("cc2@example.com");
71 InternetAddress bcc = new InternetAddress("bcc@example.com");
73 Mail result = builder.buildMail(file);
75 System.out.println(result);
77 assertEquals(subject, result.getSubject());
78 assertEquals(text, result.getText());
80 assertTrue(result.isMultipartMail());
81 assertTrue(result.isHtmlMail());
82 assertEquals(htmlText, result.getHtmlText());
84 assertEquals(from, result.getFrom());
85 assertEquals(returnPath, result.getReturnPath());
86 assertEquals(replyTo, result.getReplyTo());
88 InternetAddress[] tos = result.getTo();
89 assertEquals(2, tos.length);
90 assertEquals(to1, tos[0]);
91 assertEquals(to2, tos[1]);
93 InternetAddress[] ccs = result.getCc();
94 assertEquals(2, ccs.length);
95 assertEquals(cc1, ccs[0]);
96 assertEquals(cc2, ccs[1]);
98 InternetAddress[] bccs = result.getBcc();
99 assertEquals(1, bccs.length);
100 assertEquals(bcc, bccs[0]);
104 * Class under test for Mail buildMail(String)
106 public final void testBuildMailFromClassPath() throws Exception {
107 String classPath = "/com/ozacc/mail/test-mail1.xml";
109 String subject = "XMLMailBuilderのテストケース";
110 String text = "改行します。\n改行しました。\nテストは成功。";
112 InternetAddress from = new InternetAddress("from@example.com", "差出人");
113 InternetAddress returnPath = new InternetAddress("return@example.com");
114 InternetAddress replyTo = new InternetAddress("reply@example.com");
116 InternetAddress to1 = new InternetAddress("to1@example.com", "宛先1");
117 InternetAddress to2 = new InternetAddress("to2@example.com");
119 InternetAddress cc1 = new InternetAddress("cc1@example.com", "CC1");
120 InternetAddress cc2 = new InternetAddress("cc2@example.com");
122 InternetAddress bcc = new InternetAddress("bcc@example.com");
124 Mail result = builder.buildMail(classPath);
126 assertEquals(subject, result.getSubject());
127 assertEquals(text, result.getText());
129 assertEquals(from, result.getFrom());
130 assertEquals(returnPath, result.getReturnPath());
131 assertEquals(replyTo, result.getReplyTo());
133 InternetAddress[] tos = result.getTo();
134 assertEquals(2, tos.length);
135 assertEquals(to1, tos[0]);
136 assertEquals(to2, tos[1]);
138 InternetAddress[] ccs = result.getCc();
139 assertEquals(2, ccs.length);
140 assertEquals(cc1, ccs[0]);
141 assertEquals(cc2, ccs[1]);
143 InternetAddress[] bccs = result.getBcc();
144 assertEquals(1, bccs.length);
145 assertEquals(bcc, bccs[0]);
149 * Class under test for Mail buildMail(File)
151 public final void testBuildMailFile() throws Exception {
152 String path = "src/test/java/com/ozacc/mail/test-mail1.xml";
153 File file = new File(path);
155 String subject = "XMLMailBuilderのテストケース";
156 String text = "改行します。\n改行しました。\nテストは成功。";
158 InternetAddress from = new InternetAddress("from@example.com", "差出人");
159 InternetAddress returnPath = new InternetAddress("return@example.com");
160 InternetAddress replyTo = new InternetAddress("reply@example.com");
162 InternetAddress to1 = new InternetAddress("to1@example.com", "宛先1");
163 InternetAddress to2 = new InternetAddress("to2@example.com");
165 InternetAddress cc1 = new InternetAddress("cc1@example.com", "CC1");
166 InternetAddress cc2 = new InternetAddress("cc2@example.com");
168 InternetAddress bcc = new InternetAddress("bcc@example.com");
170 Mail result = builder.buildMail(file);
172 assertEquals(subject, result.getSubject());
173 assertEquals(text, result.getText());
175 assertEquals(from, result.getFrom());
176 assertEquals(returnPath, result.getReturnPath());
177 assertEquals(replyTo, result.getReplyTo());
179 InternetAddress[] tos = result.getTo();
180 assertEquals(2, tos.length);
181 assertEquals(to1, tos[0]);
182 assertEquals(to2, tos[1]);
184 InternetAddress[] ccs = result.getCc();
185 assertEquals(2, ccs.length);
186 assertEquals(cc1, ccs[0]);
187 assertEquals(cc2, ccs[1]);
189 InternetAddress[] bccs = result.getBcc();
190 assertEquals(1, bccs.length);
191 assertEquals(bcc, bccs[0]);
194 public void testBuildMailFromMultipleMailsTemplate() throws Exception {
195 String path = "src/test/java/com/ozacc/mail/test-mail7-multiple.xml";
196 File file = new File(path);
198 Mail result1 = builder.buildMail(file, "first");
199 assertEquals("1通目", result1.getText());
201 Mail result2 = builder.buildMail(file, "second");
202 assertEquals("2通目", result2.getText());
205 builder.buildMail(file, "サード");
206 } catch (MailBuildException expected) {