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
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 }