1
2
3
4
5
6
7
8
9
10
11 package test.atlassian.mail.server;
12
13 import com.atlassian.core.ofbiz.CoreFactory;
14 import com.atlassian.core.ofbiz.test.AbstractOFBizTestCase;
15 import com.atlassian.core.ofbiz.test.AbstractOFBizTestCase;
16 import com.atlassian.core.ofbiz.test.UtilsForTests;
17 import com.atlassian.core.ofbiz.test.UtilsForTests;
18 import com.atlassian.core.ofbiz.CoreFactory;
19 import com.atlassian.mail.server.MailServer;
20 import com.atlassian.mail.server.impl.PopMailServerImpl;
21 import com.atlassian.mail.server.impl.SMTPMailServerImpl;
22 import com.atlassian.mail.server.managers.OFBizMailServerManager;
23 import org.ofbiz.core.entity.GenericValue;
24 import org.ofbiz.core.util.UtilMisc;
25 import test.mock.mail.server.MockMailServerManager;
26
27 import java.util.HashMap;
28 import java.util.Map;
29
30 public class TestMailServerManager extends AbstractOFBizTestCase
31 {
32 public TestMailServerManager(String s)
33 {
34 super(s);
35 }
36
37 protected void tearDown() throws Exception
38 {
39 UtilsForTests.cleanUsers();
40 super.tearDown();
41 }
42
43 public void testCreateSMTPAndGet() throws Exception
44 {
45 MockMailServerManager mmsm = new MockMailServerManager();
46 MailServer localMailServer = new SMTPMailServerImpl(new Long(1), "Name", "Description", "owen@atlassian.com", "[OWEN]", false, "mail.atlassian.com", "owen", "fellows");
47 Long id = mmsm.create(localMailServer);
48 assertNotNull(id);
49 MailServer mailServer = mmsm.getMailServer(id);
50 assertEquals(localMailServer, mailServer);
51 }
52
53 public void testUpdateSMTP() throws Exception
54 {
55 MockMailServerManager mmsm = new MockMailServerManager();
56 Long id = mmsm.create(new SMTPMailServerImpl(new Long(1), "Name", "Description", "owen@atlassian.com", "[OWEN]", false, "mail.atlassian.com", "owen", "fellows"));
57 MailServer mailServer = mmsm.getMailServer("Name");
58 if (OFBizMailServerManager.SERVER_TYPES[1].equals(mailServer.getType()))
59 {
60 SMTPMailServerImpl smtp = (SMTPMailServerImpl) mailServer;
61 smtp.setUsername(null);
62 smtp.setPassword(null);
63 smtp.setName("new name");
64 mmsm.update(smtp);
65 MailServer updatedMailServer = mmsm.getMailServer(id);
66 assertNull(updatedMailServer.getUsername());
67 assertNull(updatedMailServer.getPassword());
68 assertEquals("new name", updatedMailServer.getName());
69 assertEquals(mailServer, updatedMailServer);
70 }
71 else
72 fail("Mail Server returned is not an SMTP server");
73 }
74
75 public void testDeleteSMTP() throws Exception
76 {
77 MockMailServerManager mmsm = new MockMailServerManager();
78 Long id = mmsm.create(new SMTPMailServerImpl(new Long(1), "Name", "Description", "owen@atlassian.com", "[OWEN]", false, "mail.atlassian.com", "owen", "fellows"));
79 MailServer mailServer = mmsm.getMailServer(id);
80 mmsm.delete(mailServer.getId());
81 assertNull(mmsm.getMailServer(id));
82 }
83
84 public void testGetMailServerGV() throws Exception
85 {
86 MockMailServerManager mmsm = new MockMailServerManager();
87 Map params = UtilMisc.toMap("id", new Long(1));
88 params.put("name", "Name");
89 params.put("description", "Description");
90 params.put("from", "owen@atlassian.com");
91 params.put("prefix", "[OWEN]");
92 params.put("smtpPort", "25");
93 params.put("servername", "mail.atlassian.com");
94 params.put("username", "owen");
95 params.put("password", "fellows");
96 params.put("type", OFBizMailServerManager.SERVER_TYPES[1]);
97 GenericValue gv = CoreFactory.getGenericDelegator().makeValue("MailServer", params);
98 Long id = mmsm.create(new SMTPMailServerImpl(new Long(1), "Name", "Description", "owen@atlassian.com", "[OWEN]", false, "mail.atlassian.com", "owen", "fellows"));
99 GenericValue mailServerGV = mmsm.getMailServerGV(id);
100 assertEquals(gv, mailServerGV);
101 }
102
103 public void testConstructMailServer1()
104 {
105 MockMailServerManager mmsm = new MockMailServerManager();
106 MailServer oldMailServer = new SMTPMailServerImpl(new Long(1), "Name", "Description", "owen@atlassian.com", "[OWEN]", false, "mail.atlassian.com", "owen", "fellows");
107 Map params = UtilMisc.toMap("id", new Long(1));
108 params.put("name", "Name");
109 params.put("description", "Description");
110 params.put("from", "owen@atlassian.com");
111 params.put("prefix", "[OWEN]");
112 params.put("servername", "mail.atlassian.com");
113 params.put("username", "owen");
114 params.put("password", "fellows");
115 params.put("type", OFBizMailServerManager.SERVER_TYPES[1]);
116 GenericValue gv = CoreFactory.getGenericDelegator().makeValue("MailServer", params);
117 MailServer newMailServer = mmsm.constructMailServer(gv);
118 assertEquals(oldMailServer, newMailServer);
119 }
120
121 public void testConstructMailServer2()
122 {
123 MockMailServerManager mmsm = new MockMailServerManager();
124 MailServer oldMailServer = new SMTPMailServerImpl(new Long(1), "Name", "Description", "owen@atlassian.com", "[OWEN]", true, "mail.atlassian.com", "owen", "fellows");
125 Map params = UtilMisc.toMap("id", new Long(1));
126 params.put("name", "Name");
127 params.put("description", "Description");
128 params.put("from", "owen@atlassian.com");
129 params.put("prefix", "[OWEN]");
130 params.put("jndilocation", "mail.atlassian.com");
131 params.put("username", "owen");
132 params.put("password", "fellows");
133 params.put("type", OFBizMailServerManager.SERVER_TYPES[1]);
134 GenericValue gv = CoreFactory.getGenericDelegator().makeValue("MailServer", params);
135 MailServer newMailServer = mmsm.constructMailServer(gv);
136 assertEquals(oldMailServer, newMailServer);
137 }
138
139 public void testConstructMailServer3()
140 {
141 MockMailServerManager mmsm = new MockMailServerManager();
142 MailServer oldMailServer = new PopMailServerImpl(new Long(1), "Name", "Description", "mail.atlassian.com", "owen", "fellows");
143 Map params = UtilMisc.toMap("id", new Long(1));
144 params.put("name", "Name");
145 params.put("description", "Description");
146 params.put("servername", "mail.atlassian.com");
147 params.put("username", "owen");
148 params.put("password", "fellows");
149 params.put("type", OFBizMailServerManager.SERVER_TYPES[0]);
150 GenericValue gv = CoreFactory.getGenericDelegator().makeValue("MailServer", params);
151 MailServer newMailServer = mmsm.constructMailServer(gv);
152 assertEquals(oldMailServer, newMailServer);
153 }
154
155 public void testConstructMailServer4()
156 {
157 MockMailServerManager mmsm = new MockMailServerManager();
158 Map params = UtilMisc.toMap("type", "notype");
159 GenericValue gv = CoreFactory.getGenericDelegator().makeValue("MailServer", params);
160 MailServer newMailServer = mmsm.constructMailServer(gv);
161 assertEquals(null, newMailServer);
162 }
163
164 public void testGetMapFromColumns1() throws Exception
165 {
166 MockMailServerManager mmsm = new MockMailServerManager();
167 MailServer oldMailServer = new SMTPMailServerImpl(new Long(1), "Name", "Description", "owen@atlassian.com", "[OWEN]", false, "mail.atlassian.com", "owen", "fellows");
168 Map oldMap = mmsm.getMapFromColumns(oldMailServer);
169 Map params = UtilMisc.toMap("name", "Name");
170 params.put("description", "Description");
171 params.put("from", "owen@atlassian.com");
172 params.put("prefix", "[OWEN]");
173 params.put("smtpPort", "25");
174 params.put("servername", "mail.atlassian.com");
175 params.put("username", "owen");
176 params.put("password", "fellows");
177 params.put("type", OFBizMailServerManager.SERVER_TYPES[1]);
178 assertEquals(oldMap, params);
179 }
180
181 public void testGetMapFromColumns2() throws Exception
182 {
183 MockMailServerManager mmsm = new MockMailServerManager();
184 MailServer oldMailServer = new SMTPMailServerImpl(new Long(1), "Name", "Description", "owen@atlassian.com", "[OWEN]", true, "mail.atlassian.com", null, null);
185 Map oldMap = mmsm.getMapFromColumns(oldMailServer);
186 Map params = new HashMap();
187 params.put("name", "Name");
188 params.put("description", "Description");
189 params.put("from", "owen@atlassian.com");
190 params.put("prefix", "[OWEN]");
191 params.put("smtpPort", "25");
192 params.put("servername", null);
193 params.put("jndilocation", "mail.atlassian.com");
194 params.put("type", OFBizMailServerManager.SERVER_TYPES[1]);
195 params.put("username", null);
196 params.put("password", null);
197 assertEquals(oldMap, params);
198 }
199
200 public void testGetMapFromColumns3() throws Exception
201 {
202 MockMailServerManager mmsm = new MockMailServerManager();
203 MailServer oldMailServer = new PopMailServerImpl(new Long(1), "Name", "Description", "mail.atlassian.com", "owen", "fellows");
204 Map oldMap = mmsm.getMapFromColumns(oldMailServer);
205 Map params = UtilMisc.toMap("name", "Name");
206 params.put("description", "Description");
207 params.put("username", "owen");
208 params.put("password", "fellows");
209 params.put("type", OFBizMailServerManager.SERVER_TYPES[0]);
210 params.put("servername", "mail.atlassian.com");
211 assertEquals(oldMap, params);
212 }
213 }