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  	 * @see TestCase#setUp()
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  	 * Class under test for Mail buildMail(String)
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 	 * Class under test for Mail buildMail(File)
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 }