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 }