1 package org.melati.servlet.test;
2
3 import java.io.PrintWriter;
4
5 import javax.servlet.ServletConfig;
6 import javax.servlet.ServletException;
7 import javax.servlet.http.HttpServletRequest;
8 import javax.servlet.http.HttpServletResponse;
9
10 import junit.framework.TestCase;
11
12
13
14
15 public class ConfigServletTest extends TestCase {
16
17
18
19
20
21 public ConfigServletTest(String name) {
22 super(name);
23
24 }
25
26
27
28
29 protected void setUp()
30 throws Exception {
31 super.setUp();
32 }
33
34
35
36
37 protected void tearDown()
38 throws Exception {
39 super.tearDown();
40 }
41
42
43
44
45 public void testInitServletConfig() {
46
47 }
48
49
50
51
52 public void testDoGetHttpServletRequestHttpServletResponse() {
53 MockServletRequest mockHttpServletRequest = new MockServletRequest();
54 MockServletResponse mockHttpServletResponse = new MockServletResponse();
55
56 mockHttpServletRequest.setPathInfo("melatitest/user/1");
57
58 MockServletConfig mockServletConfig = new MockServletConfig();
59 org.melati.test.ConfigServletTest aServlet =
60 new org.melati.test.ConfigServletTest();
61 try {
62 aServlet.init(mockServletConfig);
63 aServlet.doGet(mockHttpServletRequest,
64 mockHttpServletResponse);
65 } catch (ServletException e) {
66 e.printStackTrace();
67 fail(e.toString());
68 }
69
70 aServlet.destroy();
71
72 String output = mockHttpServletResponse.getWritten();
73 assertTrue(output.toString().indexOf("<h2>ConfigServlet Test</h2>") != -1);
74 }
75
76
77
78
79 public void testDoPostHttpServletRequestHttpServletResponse() {
80 MockServletRequest mockHttpServletRequest = new MockServletRequest();
81 MockServletResponse mockHttpServletResponse = new MockServletResponse();
82
83 mockHttpServletRequest.setPathInfo("melatitest/user/1");
84
85 MockServletConfig mockServletConfig = new MockServletConfig();
86 org.melati.test.ConfigServletTest aServlet =
87 new org.melati.test.ConfigServletTest();
88 try {
89 aServlet.init(mockServletConfig);
90 aServlet.doPost(mockHttpServletRequest,
91 mockHttpServletResponse);
92 } catch (Exception e) {
93 e.printStackTrace();
94 fail();
95 }
96
97 aServlet.destroy();
98
99 String output = mockHttpServletResponse.getWritten();
100 assertTrue(output.toString().indexOf("<h2>ConfigServlet Test</h2>") != -1);
101
102 }
103
104
105
106
107 public void testError() {
108 MockServletRequest mockHttpServletRequest = new MockServletRequest();
109 MockServletResponse mockHttpServletResponse = new MockServletResponse();
110
111 mockHttpServletRequest.setPathInfo("melatitest/user/1");
112
113 MockServletConfig mockServletConfig = new MockServletConfig();
114 ErrorConfigServlet aServlet =
115 new ErrorConfigServlet();
116 try {
117 aServlet.init(mockServletConfig);
118 aServlet.doPost(mockHttpServletRequest,
119 mockHttpServletResponse);
120 } catch (Exception e) {
121 e.printStackTrace();
122 fail();
123 }
124
125 aServlet.destroy();
126
127 String output = mockHttpServletResponse.getWritten();
128 assertTrue(output.toString().indexOf("You need the capability") != -1);
129
130
131 }
132
133
134
135
136 public void testConnectionPendingError() throws Exception {
137 MockServletRequest mockHttpServletRequest = new MockServletRequest();
138 MockServletResponse mockHttpServletResponse = new MockServletResponse();
139
140 mockHttpServletRequest.setPathInfo("melatitest/user/1");
141
142 MockServletConfig mockServletConfig = new MockServletConfig();
143 DbPendingErrorConfigServlet aServlet =
144 new DbPendingErrorConfigServlet();
145 aServlet.init(mockServletConfig);
146 aServlet.doPost(mockHttpServletRequest,
147 mockHttpServletResponse);
148 aServlet.destroy();
149
150 String output = mockHttpServletResponse.getWritten();
151 assertTrue(output.toString().indexOf("The database `testdb' is in the process of being initialized") != -1);
152
153 }
154
155
156
157
158 public void testExceptionDuringInit() throws Exception {
159 MockServletResponse response = new MockServletResponse();
160 MockServletRequest request = new MockServletRequest();
161 MockServletConfig mockServletConfig = new MockServletConfig();
162 MelatiConfigExceptionConfigServlet aServlet =
163 new MelatiConfigExceptionConfigServlet();
164 try {
165 aServlet.init(mockServletConfig);
166 aServlet.doPost(request,
167 response);
168 fail("Should have blown up");
169 } catch (ServletException e) {
170 assertEquals("org.melati.util.ConfigException: Pretend bug", e.getMessage());
171 }
172 aServlet.destroy();
173 }
174
175
176
177
178
179 public void testWriteError() {
180
181 }
182
183
184
185
186 public void testWriteConnectionPendingException() {
187
188 }
189
190
191
192
193 public void testGetSysAdminName() {
194 MockServletRequest mockHttpServletRequest = new MockServletRequest();
195 MockServletResponse mockHttpServletResponse = new MockServletResponse();
196
197 mockHttpServletRequest.setPathInfo("melatitest/user/1");
198
199 MockServletConfig mockServletConfig = new MockServletConfig();
200
201 org.melati.test.ConfigServletTest aServlet =
202 new org.melati.test.ConfigServletTest();
203 try {
204 aServlet.init(mockServletConfig);
205 assertEquals("nobody", aServlet.getSysAdminName());
206 aServlet.doPost(mockHttpServletRequest,
207 mockHttpServletResponse);
208 aServlet.destroy();
209 } catch (Exception e) {
210 e.printStackTrace();
211 fail();
212 }
213 }
214
215
216
217
218 public void testGetSysAdminEmail() {
219 MockServletRequest mockHttpServletRequest = new MockServletRequest();
220 MockServletResponse mockHttpServletResponse = new MockServletResponse();
221
222 mockHttpServletRequest.setPathInfo("melatitest/user/1");
223
224 MockServletConfig mockServletConfig = new MockServletConfig();
225
226 org.melati.test.ConfigServletTest aServlet =
227 new org.melati.test.ConfigServletTest();
228 try {
229 aServlet.init(mockServletConfig);
230 assertEquals("nobody@nobody.com", aServlet.getSysAdminEmail());
231 aServlet.doPost(mockHttpServletRequest,
232 mockHttpServletResponse);
233 aServlet.destroy();
234 } catch (Exception e) {
235 e.printStackTrace();
236 fail();
237 }
238 }
239
240 }