1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package net.sourceforge.jwebunit.tests;
20
21 import org.junit.Test;
22
23 import java.net.SocketTimeoutException;
24
25 import static net.sourceforge.jwebunit.junit.JWebUnit.assertHeaderEquals;
26 import static net.sourceforge.jwebunit.junit.JWebUnit.assertHeaderMatches;
27 import static net.sourceforge.jwebunit.junit.JWebUnit.assertHeaderNotPresent;
28 import static net.sourceforge.jwebunit.junit.JWebUnit.assertHeaderPresent;
29 import static net.sourceforge.jwebunit.junit.JWebUnit.assertResponseCode;
30 import static net.sourceforge.jwebunit.junit.JWebUnit.assertResponseCodeBetween;
31 import static net.sourceforge.jwebunit.junit.JWebUnit.assertTextPresent;
32 import static net.sourceforge.jwebunit.junit.JWebUnit.assertTitleEquals;
33 import static net.sourceforge.jwebunit.junit.JWebUnit.beginAt;
34 import static net.sourceforge.jwebunit.junit.JWebUnit.setBaseUrl;
35 import static net.sourceforge.jwebunit.junit.JWebUnit.setIgnoreFailingStatusCodes;
36 import static net.sourceforge.jwebunit.junit.JWebUnit.setTextField;
37 import static net.sourceforge.jwebunit.junit.JWebUnit.setTimeout;
38 import static net.sourceforge.jwebunit.junit.JWebUnit.submit;
39 import static org.junit.Assert.assertTrue;
40 import static org.junit.Assert.fail;
41
42
43
44
45
46
47 public class ResponseServletTest extends JWebUnitAPITestCase {
48
49 public void setUp() throws Exception {
50 super.setUp();
51 setIgnoreFailingStatusCodes(true);
52 setBaseUrl(HOST_PATH + "/ResponseServletTest");
53 }
54
55
56
57
58 @Test
59 public void testDefault() {
60 beginAt("/SimpleForm.html");
61 submit();
62 assertResponseCodeBetween(200, 299);
63
64
65 assertHeaderPresent("Test");
66 assertHeaderNotPresent("Not-present");
67 assertHeaderEquals("Test", "test2");
68 assertHeaderMatches("Header-Added", "[0-9]{2}");
69 }
70
71 @Test
72 public void testResponse200() {
73 beginAt("/SimpleForm.html");
74 setTextField("status", "200");
75 submit();
76 assertResponseCode(200);
77 }
78
79
80
81
82
83
84
85
86
87
88
89 @Test
90 public void testResponse404() {
91 beginAt("/SimpleForm.html");
92 assertTitleEquals("response form");
93 setTextField("status", "404");
94 submit();
95 assertResponseCode(404);
96 }
97
98 @Test
99 public void testResponse501() {
100 beginAt("/SimpleForm.html");
101 assertTitleEquals("response form");
102 setTextField("status", "501");
103 submit();
104 assertResponseCode(501);
105 }
106
107
108
109
110 @Test
111 public void testTimeout() {
112
113
114 setTimeout(500);
115 beginAt("/SimpleForm.html");
116 assertTitleEquals("response form");
117 setTextField("timeout", "1");
118 try {
119 submit();
120 fail("timeout was not called");
121 } catch (RuntimeException e) {
122 assertTrue("timeout caused by SocketTimeoutException, but was " + e.getCause().getClass(), e.getCause() instanceof SocketTimeoutException);
123 }
124
125
126 closeBrowser();
127
128
129 setTimeout(2000);
130 beginAt("/SimpleForm.html");
131 assertTitleEquals("response form");
132 setTextField("timeout", "1");
133 submit();
134 assertTextPresent("hello, world!");
135 }
136
137 }