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