1   package test.atlassian.mail;
2   
3   import com.atlassian.mail.Email;
4   import junit.framework.TestCase;
5   
6   import java.util.Map;
7   
8   public class TestEmail extends TestCase
9   {
10      public void testSetters()
11      {
12          Email email = new Email("to");
13          email.setSubject("subject").setFrom("from").setFromName("fromName").setBcc("bcc").setBody("body").setCc("cc").setEncoding("encoding").setMimeType("mimeType").setReplyTo("replyTo");
14  
15          assertEquals("from", email.getFrom());
16          assertEquals("fromName", email.getFromName());
17          assertEquals("to", email.getTo());
18          assertEquals("subject", email.getSubject());
19          assertEquals("bcc", email.getBcc());
20          assertEquals("body", email.getBody());
21          assertEquals("cc", email.getCc());
22          assertEquals("encoding", email.getEncoding());
23          assertEquals("mimeType", email.getMimeType());
24          assertEquals("replyTo", email.getReplyTo());
25      }
26  
27      public void testHeaders()
28      {
29          Email email = new Email("to");
30          Map headers = email.getHeaders();
31  
32          assertEquals(headers.get("Auto-Submitted"), "auto-generated");
33          assertEquals(headers.get("Precedence"), "bulk");
34      }
35  
36      public void testForRequiredFields()
37      {
38          try
39          {
40              new Email(null);
41              fail();
42          }
43          catch (IllegalArgumentException e)
44          {
45              assertEquals("'To' is a required field", e.getMessage());
46          }
47      }
48  }