1 package com.ozacc.mail.impl;
\r
5 import javax.mail.internet.InternetAddress;
\r
7 import junit.framework.TestCase;
\r
9 import org.apache.log4j.BasicConfigurator;
\r
10 import org.apache.velocity.VelocityContext;
\r
12 import com.ozacc.mail.Mail;
\r
13 import com.ozacc.mail.VelocityMailBuilder;
\r
14 import com.ozacc.mail.impl.JDomXMLMailBuilderTest.Customer;
\r
19 * @author Tomohiro Otsuka
\r
20 * @version $Id: XMLVelocityMailBuilderImplTest.java,v 1.1.2.1 2004/10/24 10:28:09 otsuka Exp $
\r
22 public class XMLVelocityMailBuilderImplTest extends TestCase {
\r
24 private VelocityMailBuilder builder;
\r
27 * @see TestCase#setUp()
\r
29 protected void setUp() throws Exception {
\r
31 BasicConfigurator.configure();
\r
32 builder = new XMLVelocityMailBuilderImpl();
\r
36 * @see junit.framework.TestCase#tearDown()
\r
38 protected void tearDown() throws Exception {
\r
39 BasicConfigurator.resetConfiguration();
\r
42 public void testBuildMailFromFile() throws Exception {
\r
43 String path = "src/test/com/ozacc/mail/test-mail3-velocity.xml";
\r
44 File file = new File(path);
\r
46 String name = "伊東美咲";
\r
47 String email = "misaki@example.com";
\r
48 Customer customer = new Customer(name, email);
\r
49 String item = "GIVE&TAKE (Beige)";
\r
51 InternetAddress from = new InternetAddress("shop@example.com", "XMLMailBuilderオンラインショップ");
\r
52 InternetAddress to = new InternetAddress(email, name);
\r
54 String subject = "XMLMailBuilderオンラインショップ - ご注文の確認";
\r
55 String text = name + "様\n\nお買い上げありがとうございました。\n\nGIVE&TAKE (Beige)";
\r
57 VelocityContext context = new VelocityContext();
\r
58 context.put("customer", customer);
\r
59 context.put("item", item);
\r
62 Mail result = builder.buildMail(file, context);
\r
64 assertEquals(from, result.getFrom());
\r
65 assertEquals(to, result.getTo()[0]);
\r
66 assertEquals(subject, result.getSubject());
\r
67 assertEquals(text, result.getText());
\r
70 public final void testBuildMailStringVelocityContext() throws Exception {
\r
71 String classPath = "/com/ozacc/mail/test-mail3-velocity.xml";
\r
73 String name = "伊東美咲";
\r
74 String email = "misaki@example.com";
\r
75 Customer customer = new Customer(name, email);
\r
76 String item = "GIVE&TAKE (Beige)";
\r
78 InternetAddress from = new InternetAddress("shop@example.com", "XMLMailBuilderオンラインショップ");
\r
79 InternetAddress to = new InternetAddress(email, name);
\r
81 String subject = "XMLMailBuilderオンラインショップ - ご注文の確認";
\r
82 String text = name + "様\n\nお買い上げありがとうございました。\n\nGIVE&TAKE (Beige)";
\r
84 VelocityContext context = new VelocityContext();
\r
85 context.put("customer", customer);
\r
86 context.put("item", item);
\r
89 Mail result = builder.buildMail(classPath, context);
\r
91 assertEquals(from, result.getFrom());
\r
92 assertEquals(to, result.getTo()[0]);
\r
93 assertEquals(subject, result.getSubject());
\r
94 assertEquals(text, result.getText());
\r
97 public final void testBuildMailStringVelocityContextWithCache() throws Exception {
\r
98 builder.setCacheEnabled(true);
\r
100 String classPath = "/com/ozacc/mail/test-mail3-velocity.xml";
\r
102 String name = "伊東美咲";
\r
103 String email = "misaki@example.com";
\r
104 Customer customer = new Customer(name, email);
\r
105 String item = "GIVE&TAKE (Beige)";
\r
107 InternetAddress from = new InternetAddress("shop@example.com", "XMLMailBuilderオンラインショップ");
\r
108 InternetAddress to = new InternetAddress(email, name);
\r
109 String subject = "XMLMailBuilderオンラインショップ - ご注文の確認";
\r
110 String text = name + "様\n\nお買い上げありがとうございました。\n\nGIVE&TAKE (Beige)";
\r
112 VelocityContext context = new VelocityContext();
\r
113 context.put("customer", customer);
\r
114 context.put("item", item);
\r
117 Mail result = builder.buildMail(classPath, context);
\r
118 Mail result2 = builder.buildMail(classPath, context);
\r
119 builder.clearCache();
\r
120 Mail result3 = builder.buildMail(classPath, context);
\r
122 assertEquals(from, result.getFrom());
\r
123 assertEquals(to, result.getTo()[0]);
\r
124 assertEquals(subject, result.getSubject());
\r
125 assertEquals(text, result.getText());
\r