1   package com.ozacc.mail.spring;
2   
3   import junit.framework.TestCase;
4   
5   import org.springframework.context.ApplicationContext;
6   import org.springframework.context.support.FileSystemXmlApplicationContext;
7   
8   import com.ozacc.mail.Mail;
9   import com.ozacc.mail.mock.AssertionFailedException;
10  import com.ozacc.mail.mock.MockSendMail;
11  
12  /***
13   * XMLMailFactoryBean¤ÎTestCase¡£
14   * 
15   * @author Tomohiro Otsuka
16   * @version $Id: XMLMailFactoryBeanTest.java,v 1.4 2004/09/11 01:42:05 otsuka Exp $
17   */
18  public class XMLMailFactoryBeanTest extends TestCase {
19  
20  	Mail mail;
21  
22  	/***
23  	 * @see junit.framework.TestCase#setUp()
24  	 */
25  	public void setUp() throws Exception {
26  		super.setUp();
27  
28  		mail = new Mail();
29  		mail.setSubject("XMLMailBuilder¤Î¥Æ¥¹¥È¥±¡¼¥¹");
30  		mail.setText("²?¹Ô¤·¤Þ¤¹¡£\n²?¹Ô¤·¤Þ¤·¤¿¡£\n¥Æ¥¹¥È¤ÏÀ®¸ù¡£");
31  		mail.setFrom("from@example.com", "º¹½Ð¿Í");
32  		mail.setReturnPath("return@example.com");
33  		mail.setReplyTo("reply@example.com");
34  		mail.addTo("to1@example.com", "°¸À?1");
35  		mail.addTo("to2@example.com");
36  		mail.addCc("cc1@example.com", "CC1");
37  		mail.addCc("cc2@example.com");
38  		mail.addBcc("bcc@example.com");
39  	}
40  
41  	public void testMailFactoryBeanClassPathFail() throws Exception {
42  		mail.addBcc("ccb@example.com");
43  
44  		ApplicationContext context = new FileSystemXmlApplicationContext(
45  				"src/test/com/ozacc/mail/spring/testContext.xml");
46  		Mail result = (Mail)context.getBean("mail");
47  
48  		try {
49  			MockSendMail.checkEquality(mail, result, 1);
50  			fail("This should never be called.");
51  		} catch (AssertionFailedException expected) {
52  			//success
53  		}
54  	}
55  
56  	public void testMailFactoryBeanClassPath() throws Exception {
57  		ApplicationContext context = new FileSystemXmlApplicationContext(
58  				"src/test/com/ozacc/mail/spring/testContext.xml");
59  		Mail result = (Mail)context.getBean("mail");
60  
61  		MockSendMail.checkEquality(mail, result, 1);
62  	}
63  
64  	public void testMailFactoryBeanFilePath() throws Exception {
65  		ApplicationContext context = new FileSystemXmlApplicationContext(
66  				"src/test/com/ozacc/mail/spring/testContext.xml");
67  		Mail result = (Mail)context.getBean("mail2");
68  
69  		MockSendMail.checkEquality(mail, result, 1);
70  	}
71  
72  	public void testMailFactoryBeanLocation() throws Exception {
73  		ApplicationContext context = new FileSystemXmlApplicationContext(
74  				"src/test/com/ozacc/mail/spring/testContext.xml");
75  		Mail result = (Mail)context.getBean("mail3");
76  
77  		MockSendMail.checkEquality(mail, result, 1);
78  	}
79  
80  	public void testMailFactoryBeanLocationClasspath() throws Exception {
81  		ApplicationContext context = new FileSystemXmlApplicationContext(
82  				"src/test/com/ozacc/mail/spring/testContext.xml");
83  		Mail result = (Mail)context.getBean("mail4");
84  
85  		MockSendMail.checkEquality(mail, result, 1);
86  	}
87  
88  }