    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
    9   import junit.framework.TestCase;
    10
    11  import com.ozacc.mail.Mail;
    12  import com.ozacc.mail.MailBuilder;
    13
    14  /***
    15   *
    16   * @since 1.0.1
    17   * @author Tomohiro Otsuka
    18   * @version $Id: XMLMailBuilderImplTest.java,v 1.6 2004/09/21 11:43:09 otsuka Exp $
    19   */
    20  public class XMLMailBuilderImplTest extends TestCase {
    21
    22  	private MailBuilder builder;
    23
    24  	/*
    25  	 * @see TestCase#setUp()
    26  	 */
    27  	protected void setUp() throws Exception {
    28  		super.setUp();
    29  		BasicConfigurator.configure();
    30
    31  		builder = new XMLMailBuilderImpl();
    32  	}
    33
    34  	/***
    35  	 * @see junit.framework.TestCase#tearDown()
    36  	 */
    37  	protected void tearDown() throws Exception {
    38  		super.tearDown();
    39  		BasicConfigurator.resetConfiguration();
    40  	}
    41
    42  	public final void testBuildMailCDATA() throws Exception {
    43  		String classPath = "/com/ozacc/mail/test-mail6-cdata.xml";
    44
    45  		String expectedBody = "¤³¤?¤ÏCDATA¤Î¥Æ¥¥¹¥È¤Ç¤¹¡£";
    46
    47  		Mail result = builder.buildMail(classPath);
    48
    49  		assertEquals(expectedBody, result.getText());
    50  	}
    51
    52  	public final void testBuildMultipartMailFromFile() throws Exception {
    53  		String path = "src/test/com/ozacc/mail/test-mail1.xml";
    54  		File file = new File(path);
    55
    56  		String subject = "XMLMailBuilder¤Î¥Æ¥¹¥È¥±¡¼¥¹";
    57  		String text = "²?¹Ô¤·¤Þ¤¹¡£\n²?¹Ô¤·¤Þ¤·¤¿¡£\n¥Æ¥¹¥È¤ÏÀ®¸ù¡£";
    58  		String htmlText = "<html><body>¤³¤?¤ÏHTML¥Æ¥¥¹¥È</body></html>";
    59
    60  		InternetAddress from = new InternetAddress("from@example.com", "º¹½Ð¿Í");
    61  		InternetAddress returnPath = new InternetAddress("return@example.com");
    62  		InternetAddress replyTo = new InternetAddress("reply@example.com");
    63
    64  		InternetAddress to1 = new InternetAddress("to1@example.com", "°¸À?1");
    65  		InternetAddress to2 = new InternetAddress("to2@example.com");
    66
    67  		InternetAddress cc1 = new InternetAddress("cc1@example.com", "CC1");
    68  		InternetAddress cc2 = new InternetAddress("cc2@example.com");
    69
    70  		InternetAddress bcc = new InternetAddress("bcc@example.com");
    71
    72  		Mail result = builder.buildMail(file);
    73
    74  		System.out.println(result);
    75
    76  		assertEquals(subject, result.getSubject());
    77  		assertEquals(text, result.getText());
    78
    79  		assertTrue(result.isMultipartMail());
    80  		assertTrue(result.isHtmlMail());
    81  		assertEquals(htmlText, result.getHtmlText());
    82
    83  		assertEquals(from, result.getFrom());
    84  		assertEquals(returnPath, result.getReturnPath());
    85  		assertEquals(replyTo, result.getReplyTo());
    86
    87  		InternetAddress[] tos = result.getTo();
    88  		assertEquals(2, tos.length);
    89  		assertEquals(to1, tos[0]);
    90  		assertEquals(to2, tos[1]);
    91
    92  		InternetAddress[] ccs = result.getCc();
    93  		assertEquals(2, ccs.length);
    94  		assertEquals(cc1, ccs[0]);
    95  		assertEquals(cc2, ccs[1]);
    96
    97  		InternetAddress[] bccs = result.getBcc();
    98  		assertEquals(1, bccs.length);
    99  		assertEquals(bcc, bccs[0]);
    100 	}
    101
    102 	/*
    103 	 * Class under test for Mail buildMail(String)
    104 	 */
    105 	public final void testBuildMailFromClassPath() throws Exception {
    106 		String classPath = "/com/ozacc/mail/test-mail1.xml";
    107
    108 		String subject = "XMLMailBuilder¤Î¥Æ¥¹¥È¥±¡¼¥¹";
    109 		String text = "²?¹Ô¤·¤Þ¤¹¡£\n²?¹Ô¤·¤Þ¤·¤¿¡£\n¥Æ¥¹¥È¤ÏÀ®¸ù¡£";
    110
    111 		InternetAddress from = new InternetAddress("from@example.com", "º¹½Ð¿Í");
    112 		InternetAddress returnPath = new InternetAddress("return@example.com");
    113 		InternetAddress replyTo = new InternetAddress("reply@example.com");
    114
    115 		InternetAddress to1 = new InternetAddress("to1@example.com", "°¸À?1");
    116 		InternetAddress to2 = new InternetAddress("to2@example.com");
    117
    118 		InternetAddress cc1 = new InternetAddress("cc1@example.com", "CC1");
    119 		InternetAddress cc2 = new InternetAddress("cc2@example.com");
    120
    121 		InternetAddress bcc = new InternetAddress("bcc@example.com");
    122
    123 		Mail result = builder.buildMail(classPath);
    124
    125 		assertEquals(subject, result.getSubject());
    126 		assertEquals(text, result.getText());
    127
    128 		assertEquals(from, result.getFrom());
    129 		assertEquals(returnPath, result.getReturnPath());
    130 		assertEquals(replyTo, result.getReplyTo());
    131
    132 		InternetAddress[] tos = result.getTo();
    133 		assertEquals(2, tos.length);
    134 		assertEquals(to1, tos[0]);
    135 		assertEquals(to2, tos[1]);
    136
    137 		InternetAddress[] ccs = result.getCc();
    138 		assertEquals(2, ccs.length);
    139 		assertEquals(cc1, ccs[0]);
    140 		assertEquals(cc2, ccs[1]);
    141
    142 		InternetAddress[] bccs = result.getBcc();
    143 		assertEquals(1, bccs.length);
    144 		assertEquals(bcc, bccs[0]);
    145 	}
    146
    147 	/*
    148 	 * Class under test for Mail buildMail(File)
    149 	 */
    150 	public final void testBuildMailFile() throws Exception {
    151 		String path = "src/test/com/ozacc/mail/test-mail1.xml";
    152 		File file = new File(path);
    153
    154 		String subject = "XMLMailBuilder¤Î¥Æ¥¹¥È¥±¡¼¥¹";
    155 		String text = "²?¹Ô¤·¤Þ¤¹¡£\n²?¹Ô¤·¤Þ¤·¤¿¡£\n¥Æ¥¹¥È¤ÏÀ®¸ù¡£";
    156
    157 		InternetAddress from = new InternetAddress("from@example.com", "º¹½Ð¿Í");
    158 		InternetAddress returnPath = new InternetAddress("return@example.com");
    159 		InternetAddress replyTo = new InternetAddress("reply@example.com");
    160
    161 		InternetAddress to1 = new InternetAddress("to1@example.com", "°¸À?1");
    162 		InternetAddress to2 = new InternetAddress("to2@example.com");
    163
    164 		InternetAddress cc1 = new InternetAddress("cc1@example.com", "CC1");
    165 		InternetAddress cc2 = new InternetAddress("cc2@example.com");
    166
    167 		InternetAddress bcc = new InternetAddress("bcc@example.com");
    168
    169 		Mail result = builder.buildMail(file);
    170
    171 		assertEquals(subject, result.getSubject());
    172 		assertEquals(text, result.getText());
    173
    174 		assertEquals(from, result.getFrom());
    175 		assertEquals(returnPath, result.getReturnPath());
    176 		assertEquals(replyTo, result.getReplyTo());
    177
    178 		InternetAddress[] tos = result.getTo();
    179 		assertEquals(2, tos.length);
    180 		assertEquals(to1, tos[0]);
    181 		assertEquals(to2, tos[1]);
    182
    183 		InternetAddress[] ccs = result.getCc();
    184 		assertEquals(2, ccs.length);
    185 		assertEquals(cc1, ccs[0]);
    186 		assertEquals(cc2, ccs[1]);
    187
    188 		InternetAddress[] bccs = result.getBcc();
    189 		assertEquals(1, bccs.length);
    190 		assertEquals(bcc, bccs[0]);
    191 	}
    192
    193 }