1   package com.ozacc.mail.impl;
2   
3   import java.io.File;
4   
5   import javax.mail.internet.InternetAddress;
6   
7   import org.apache.log4j.BasicConfigurator;
8   import org.apache.velocity.VelocityContext;
9   
10  import junit.framework.TestCase;
11  
12  import com.ozacc.mail.Mail;
13  import com.ozacc.mail.VelocityMailBuilder;
14  import com.ozacc.mail.impl.JDomXMLMailBuilderTest.Customer;
15  
16  /***
17   * 
18   * @since 1.0.1
19   * @author Tomohiro Otsuka
20   * @version $Id: XMLVelocityMailBuilderImplTest.java,v 1.2 2004/10/05 12:02:33 otsuka Exp $
21   */
22  public class XMLVelocityMailBuilderImplTest extends TestCase {
23  
24  	private VelocityMailBuilder builder;
25  
26  	/*
27  	 * @see TestCase#setUp()
28  	 */
29  	protected void setUp() throws Exception {
30  		super.setUp();
31  
32  		BasicConfigurator.configure();
33  
34  		builder = new XMLVelocityMailBuilderImpl();
35  	}
36  
37  	/***
38  	 * @see junit.framework.TestCase#tearDown()
39  	 */
40  	protected void tearDown() throws Exception {
41  		BasicConfigurator.resetConfiguration();
42  	}
43  
44  	public void testBuildMailFromFile() throws Exception {
45  		String path = "src/test/com/ozacc/mail/test-mail3-velocity.xml";
46  		File file = new File(path);
47  
48  		String name = "°ËÅ?È?º?";
49  		String email = "misaki@example.com";
50  		Customer customer = new Customer(name, email);
51  		String item = "GIVE&TAKE (Beige)";
52  
53  		InternetAddress from = new InternetAddress("shop@example.com", "XMLMailBuilder¥ª¥ó¥é¥¤¥ó¥·¥ç¥Ã¥×");
54  		InternetAddress to = new InternetAddress(email, name);
55  
56  		String subject = "XMLMailBuilder¥ª¥ó¥é¥¤¥ó¥·¥ç¥Ã¥× - ¤´Ãú渤γÎǧ";
57  		String text = name + "ÍÍ\n\n¤ªÇ㤤¾å¤²¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£\n\nGIVE&TAKE (Beige)";
58  
59  		VelocityContext context = new VelocityContext();
60  		context.put("customer", customer);
61  		context.put("item", item);
62  
63  		// ¥á¡¼¥?À¸À®¼Â¹Ô
64  		Mail result = builder.buildMail(file, context);
65  
66  		assertEquals(from, result.getFrom());
67  		assertEquals(to, result.getTo()[0]);
68  		assertEquals(subject, result.getSubject());
69  		assertEquals(text, result.getText());
70  	}
71  
72  	public final void testBuildMailStringVelocityContext() throws Exception {
73  		String classPath = "/com/ozacc/mail/test-mail3-velocity.xml";
74  
75  		String name = "°ËÅ?È?º?";
76  		String email = "misaki@example.com";
77  		Customer customer = new Customer(name, email);
78  		String item = "GIVE&TAKE (Beige)";
79  
80  		InternetAddress from = new InternetAddress("shop@example.com", "XMLMailBuilder¥ª¥ó¥é¥¤¥ó¥·¥ç¥Ã¥×");
81  		InternetAddress to = new InternetAddress(email, name);
82  
83  		String subject = "XMLMailBuilder¥ª¥ó¥é¥¤¥ó¥·¥ç¥Ã¥× - ¤´Ãú渤γÎǧ";
84  		String text = name + "ÍÍ\n\n¤ªÇ㤤¾å¤²¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£\n\nGIVE&TAKE (Beige)";
85  		
86  
87  		VelocityContext context = new VelocityContext();
88  		context.put("customer", customer);
89  		context.put("item", item);
90  
91  		// ¥á¡¼¥?À¸À®¼Â¹Ô
92  		Mail result = builder.buildMail(classPath, context);
93  
94  		assertEquals(from, result.getFrom());
95  		assertEquals(to, result.getTo()[0]);
96  		assertEquals(subject, result.getSubject());
97  		assertEquals(text, result.getText());
98  	}
99  }