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", "socksHost", "socksPort");
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          assertEquals("socksHost", mams.getSocksHost());
31          assertEquals("socksPort", mams.getSocksPort());
32  		assertTrue(mams.toString().contains("password=***"));
33  		MockAbstractMailServer mams2 = new MockAbstractMailServer(1L, "name", "desc", MailProtocol.POP,"serverName", "port", "username", null, "socksHost", "socksPort");
34  		assertTrue(mams2.toString().contains("password=<unset>"));
35  
36      }
37  
38      public void testConstructor2()
39      {
40          MockAbstractMailServer mams = new MockAbstractMailServer(1L, "name", "desc", MailProtocol.POP,"serverName","port", "", "", "socksHost", "socksPort");
41          assertNull(mams.getUsername());
42          assertNull(mams.getPassword());
43      }
44  
45      public void testSystemPropertiesAreSet()
46      {
47          MockAbstractMailServer mams = new MockAbstractMailServer(1L, "name", "desc", MailProtocol.POP,"serverName","port", "", "", "socksHost", "socksPort");
48          assertFalse(mams.getProperties().containsKey(SAMPLE_MAIL_PROP_KEY));
49  
50          try
51          {
52              System.setProperty(SAMPLE_MAIL_PROP_KEY, "some.value");
53              mams = new MockAbstractMailServer(1L, "name", "desc", MailProtocol.POP,"serverName","port", "", "", "socksHost", "socksPort");
54              assertTrue(mams.getProperties().containsKey(SAMPLE_MAIL_PROP_KEY));
55              assertEquals("some.value", mams.getProperties().get(SAMPLE_MAIL_PROP_KEY));
56          }
57          finally
58          {
59              System.clearProperty(SAMPLE_MAIL_PROP_KEY);
60          }
61      }
62  
63      public void testGetsSets()
64      {
65          MockAbstractMailServer mams = new MockAbstractMailServer(1L,"","", MailProtocol.POP, "", "", "", "", "", "");
66          mams.setId(new Long(100));
67          assertEquals(new Long(100), mams.getId());
68          mams.setName("name");
69          assertEquals("name", mams.getName());
70          mams.setDescription("desc");
71          assertEquals("desc", mams.getDescription());
72          mams.setMailProtocol(MailProtocol.SMTP);
73          assertEquals(MailProtocol.SMTP, mams.getMailProtocol());
74          mams.setHostname("serverName");
75          assertEquals("serverName", mams.getHostname());
76          mams.setPort("port");
77          assertEquals("port",mams.getPort());
78          mams.setUsername("username");
79          assertEquals("username", mams.getUsername());
80          mams.setPassword("password");
81          assertEquals("password", mams.getPassword());
82          mams.setUsername("");
83          assertNull(mams.getUsername());
84          mams.setPassword("");
85          assertNull(mams.getPassword());
86          mams.setUsername(null);
87          assertNull(mams.getUsername());
88          mams.setPassword(null);
89          assertNull(mams.getPassword());
90          mams.setSocksHost("socksHost");
91          assertEquals("socksHost", mams.getSocksHost());
92          mams.setSocksPort("socksPort");
93          assertEquals("socksPort", mams.getSocksPort());
94      }
95  }