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