1 package com.philemonworks.selfdiagnose.test;
2
3 import java.io.IOException;
4
5 import javax.servlet.ServletException;
6 import javax.servlet.http.HttpServletResponse;
7
8 import junit.framework.TestCase;
9
10 import com.philemonworks.selfdiagnose.SelfDiagnose;
11 import com.philemonworks.selfdiagnose.SelfDiagnoseServlet;
12 import com.philemonworks.selfdiagnose.output.HTMLReporter;
13 import com.philemonworks.selfdiagnose.output.XMLReporter;
14 import com.philemonworks.selfdiagnose.test.xtra.MockHttpRequest;
15 import com.philemonworks.selfdiagnose.test.xtra.MockHttpResponse;
16 import com.philemonworks.selfdiagnose.test.xtra.RequestInspectingTask;
17
18 public class SelfDiagnoseServletTest extends TestCase {
19 MockHttpRequest request;
20 HttpServletResponse response;
21 RequestInspectingTask requestInspectingTask;
22 SelfDiagnoseServlet s;
23
24 public void setUp() {
25 request = new MockHttpRequest();
26 response = new MockHttpResponse();
27 requestInspectingTask = new RequestInspectingTask();
28 SelfDiagnose.register(requestInspectingTask);
29 s = new SelfDiagnoseServlet();
30 }
31
32 public void testGetReportXml() {
33 assertEquals(XMLReporter.class, s.getReporter("xml").getClass());
34 }
35
36 public void testGetReportHtml() {
37 assertEquals(HTMLReporter.class, s.getReporter("html").getClass());
38 }
39
40 public void testGetReportMissing() {
41 try {
42 s.getReporter("missing");
43 fail("should raise exception");
44 } catch (Exception ex) {
45 }
46 }
47
48 public void testRun() {
49 try {
50 s.service(request, response);
51 } catch (ServletException e) {
52
53 e.printStackTrace();
54 } catch (IOException e) {
55
56 e.printStackTrace();
57 }
58 assertEquals(requestInspectingTask.request, request);
59 }
60
61 public void testReload() {
62 request.parameters.put("reload","true");
63 try {
64 s.service(request, response);
65 } catch (ServletException e) {
66
67 e.printStackTrace();
68 } catch (IOException e) {
69
70 e.printStackTrace();
71 }
72 }
73 }