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.2 2004/09/16 04:55:55 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  	/*
42  	 * Class under test for Mail buildMail(String)
43  	 */
44  	public final void testBuildMailFromClassPath() throws Exception {
45  		String classPath = "/com/ozacc/mail/test-mail1.xml";
46  
47  		String subject = "XMLMailBuilder¤Î¥Æ¥¹¥È¥±¡¼¥¹";
48  		String text = "²?¹Ô¤·¤Þ¤¹¡£\n²?¹Ô¤·¤Þ¤·¤¿¡£\n¥Æ¥¹¥È¤ÏÀ®¸ù¡£";
49  
50  		InternetAddress from = new InternetAddress("from@example.com", "º¹½Ð¿Í");
51  		InternetAddress returnPath = new InternetAddress("return@example.com");
52  		InternetAddress replyTo = new InternetAddress("reply@example.com");
53  
54  		InternetAddress to1 = new InternetAddress("to1@example.com", "°¸À?1");
55  		InternetAddress to2 = new InternetAddress("to2@example.com");
56  
57  		InternetAddress cc1 = new InternetAddress("cc1@example.com", "CC1");
58  		InternetAddress cc2 = new InternetAddress("cc2@example.com");
59  
60  		InternetAddress bcc = new InternetAddress("bcc@example.com");
61  
62  		Mail result = builder.buildMail(classPath);
63  
64  		assertEquals(subject, result.getSubject());
65  		assertEquals(text, result.getText());
66  
67  		assertEquals(from, result.getFrom());
68  		assertEquals(returnPath, result.getReturnPath());
69  		assertEquals(replyTo, result.getReplyTo());
70  
71  		InternetAddress[] tos = result.getTo();
72  		assertEquals(2, tos.length);
73  		assertEquals(to1, tos[0]);
74  		assertEquals(to2, tos[1]);
75  
76  		InternetAddress[] ccs = result.getCc();
77  		assertEquals(2, ccs.length);
78  		assertEquals(cc1, ccs[0]);
79  		assertEquals(cc2, ccs[1]);
80  
81  		InternetAddress[] bccs = result.getBcc();
82  		assertEquals(1, bccs.length);
83  		assertEquals(bcc, bccs[0]);
84  	}
85  
86  	/*
87  	 * Class under test for Mail buildMail(File)
88  	 */
89  	public final void testBuildMailFile() throws Exception {
90  		String path = "src/test/com/ozacc/mail/test-mail1.xml";
91  		File file = new File(path);
92  
93  		String subject = "XMLMailBuilder¤Î¥Æ¥¹¥È¥±¡¼¥¹";
94  		String text = "²?¹Ô¤·¤Þ¤¹¡£\n²?¹Ô¤·¤Þ¤·¤¿¡£\n¥Æ¥¹¥È¤ÏÀ®¸ù¡£";
95  
96  		InternetAddress from = new InternetAddress("from@example.com", "º¹½Ð¿Í");
97  		InternetAddress returnPath = new InternetAddress("return@example.com");
98  		InternetAddress replyTo = new InternetAddress("reply@example.com");
99  
100 		InternetAddress to1 = new InternetAddress("to1@example.com", "°¸À?1");
101 		InternetAddress to2 = new InternetAddress("to2@example.com");
102 
103 		InternetAddress cc1 = new InternetAddress("cc1@example.com", "CC1");
104 		InternetAddress cc2 = new InternetAddress("cc2@example.com");
105 
106 		InternetAddress bcc = new InternetAddress("bcc@example.com");
107 
108 		Mail result = builder.buildMail(file);
109 
110 		assertEquals(subject, result.getSubject());
111 		assertEquals(text, result.getText());
112 
113 		assertEquals(from, result.getFrom());
114 		assertEquals(returnPath, result.getReturnPath());
115 		assertEquals(replyTo, result.getReplyTo());
116 
117 		InternetAddress[] tos = result.getTo();
118 		assertEquals(2, tos.length);
119 		assertEquals(to1, tos[0]);
120 		assertEquals(to2, tos[1]);
121 
122 		InternetAddress[] ccs = result.getCc();
123 		assertEquals(2, ccs.length);
124 		assertEquals(cc1, ccs[0]);
125 		assertEquals(cc2, ccs[1]);
126 
127 		InternetAddress[] bccs = result.getBcc();
128 		assertEquals(1, bccs.length);
129 		assertEquals(bcc, bccs[0]);
130 	}
131 
132 }