1   
2   package test.atlassian.mail.server;
3   
4   import com.atlassian.mail.MailProtocol;
5   import junit.framework.TestCase;
6   import test.mock.mail.server.MockAbstractMailServer;
7   
8   public class TestAbstractMailServer extends TestCase
9   {
10      private static final String SAMPLE_MAIL_PROP_KEY = "some.weird.javax.mail.property";
11  
12      public TestAbstractMailServer(String s)
13      {
14          super(s);
15      }
16  
17      public void testConstructor1()
18      {
19          MockAbstractMailServer mams = new MockAbstractMailServer(1L, "name", "desc", MailProtocol.POP,"serverName", "port", "username", "password");
20          assertEquals(new Long(1), mams.getId());
21          assertEquals("name", mams.getName());
22          assertEquals("desc", mams.getDescription());
23          assertEquals("pop3",mams.getMailProtocol().getProtocol());
24          assertEquals("serverName", mams.getHostname());
25          assertEquals("port",mams.getPort());
26          assertEquals("username", mams.getUsername());
27          assertEquals("password", mams.getPassword());
28          assertEquals(false,mams.getDebug());
29          assertEquals(10000,mams.getTimeout());
30      }
31  
32      public void testConstructor2()
33      {
34          MockAbstractMailServer mams = new MockAbstractMailServer(1L, "name", "desc", MailProtocol.POP,"serverName","port", "", "");
35          assertNull(mams.getUsername());
36          assertNull(mams.getPassword());
37      }
38      
39      public void testSystemPropertiesAreSet()
40      {
41          MockAbstractMailServer mams = new MockAbstractMailServer(1L, "name", "desc", MailProtocol.POP,"serverName","port", "", "");
42          assertFalse(mams.getProperties().containsKey(SAMPLE_MAIL_PROP_KEY));
43          
44          try
45          {
46              System.setProperty(SAMPLE_MAIL_PROP_KEY, "some.value");
47              mams = new MockAbstractMailServer(1L, "name", "desc", MailProtocol.POP,"serverName","port", "", "");
48              assertTrue(mams.getProperties().containsKey(SAMPLE_MAIL_PROP_KEY));
49              assertEquals("some.value", mams.getProperties().get(SAMPLE_MAIL_PROP_KEY));
50          }
51          finally 
52          {
53              System.clearProperty(SAMPLE_MAIL_PROP_KEY);
54          }
55      }
56  
57      public void testGetsSets()
58      {
59          MockAbstractMailServer mams = new MockAbstractMailServer(1L,"","", MailProtocol.POP, "", "", "", "");
60          mams.setId(new Long(100));
61          assertEquals(new Long(100), mams.getId());
62          mams.setName("name");
63          assertEquals("name", mams.getName());
64          mams.setDescription("desc");
65          assertEquals("desc", mams.getDescription());
66          mams.setMailProtocol(MailProtocol.SMTP);
67          assertEquals(MailProtocol.SMTP, mams.getMailProtocol());
68          mams.setHostname("serverName");
69          assertEquals("serverName", mams.getHostname());
70          mams.setPort("port");
71          assertEquals("port",mams.getPort());
72          mams.setUsername("username");
73          assertEquals("username", mams.getUsername());
74          mams.setPassword("password");
75          assertEquals("password", mams.getPassword());
76          mams.setUsername("");
77          assertNull(mams.getUsername());
78          mams.setPassword("");
79          assertNull(mams.getPassword());
80          mams.setUsername(null);
81          assertNull(mams.getUsername());
82          mams.setPassword(null);
83          assertNull(mams.getPassword());
84      }
85  }