1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package net.sourceforge.jwebunit.util;
20
21 import javax.servlet.http.Cookie;
22
23 import java.net.MalformedURLException;
24 import java.net.URL;
25 import java.util.ArrayList;
26 import java.util.HashMap;
27 import java.util.List;
28 import java.util.Locale;
29 import java.util.Map;
30
31
32
33
34
35
36
37
38
39
40 public class TestContext {
41 private String user;
42
43 private String passwd;
44
45 private String domain;
46
47 private List<javax.servlet.http.Cookie> cookies;
48
49 private boolean hasAuth = false;
50
51 private boolean hasNTLMAuth = false;
52
53 private Locale locale = Locale.getDefault();
54
55 private String resourceBundleName;
56
57 private URL baseUrl;
58
59 private String userAgent;
60
61 private Map<String, String> requestHeaders = new HashMap<String, String>();
62
63 private String proxyUser = null;
64
65 private String proxyPasswd = null;
66
67 private String proxyHost = null;
68
69 private int proxyPort = -1;
70
71 private boolean hasProxyAuth = false;
72
73
74
75
76 public TestContext() {
77 cookies = new ArrayList<javax.servlet.http.Cookie>();
78 try {
79 baseUrl = new URL("http://localhost:8080");
80 } catch (MalformedURLException e) {
81
82 e.printStackTrace();
83 }
84 }
85
86
87
88
89
90 public void clearAuthorizations() {
91 hasAuth = false;
92 hasNTLMAuth = false;
93 hasProxyAuth = false;
94 }
95
96
97
98
99
100
101
102 public void setAuthorization(String user, String passwd) {
103 this.user = user;
104 this.passwd = passwd;
105 hasAuth = true;
106 }
107
108
109
110
111
112
113
114 public void setNTLMAuthorization(String user, String passwd, String domain) {
115 this.user = user;
116 this.passwd = passwd;
117 this.domain = domain;
118 hasNTLMAuth = true;
119 }
120
121
122
123
124
125
126
127
128
129 public void setProxyAuthorization(String user, String passwd, String host,
130 int port) {
131 this.proxyUser = user;
132 this.proxyPasswd = passwd;
133 this.proxyHost = host;
134 this.proxyPort = port;
135 hasProxyAuth = !(null == user && null == passwd);
136 }
137
138
139
140
141
142
143
144
145
146 public void addCookie(String name, String value, String domain, int expiry) {
147 Cookie c = new Cookie(name, value);
148 c.setDomain(domain);
149 c.setMaxAge(expiry);
150 addCookie(c);
151 }
152
153
154
155
156
157
158
159
160 public void addCookie(String name, String value, String domain) {
161 Cookie c = new Cookie(name, value);
162 c.setDomain(domain);
163 addCookie(c);
164 }
165
166
167
168
169
170
171 public void addCookie(Cookie cookie) {
172 cookies.add(cookie);
173 }
174
175
176
177
178 public boolean hasAuthorization() {
179 return hasAuth;
180 }
181
182
183
184
185 public boolean hasNTLMAuthorization() {
186 return hasNTLMAuth;
187 }
188
189
190
191
192 public boolean hasProxyAuthorization() {
193 return hasProxyAuth;
194 }
195
196
197
198
199 public boolean hasCookies() {
200 return cookies.size() > 0;
201 }
202
203
204
205
206 public String getUser() {
207 return user;
208 }
209
210
211
212
213 public String getPassword() {
214 return passwd;
215 }
216
217
218
219
220 public String getDomain() {
221 return domain;
222 }
223
224
225
226
227 public List<javax.servlet.http.Cookie> getCookies() {
228 return cookies;
229 }
230
231 public String getUserAgent() {
232 return userAgent;
233 }
234
235 public void setUserAgent(String userAgent) {
236 this.userAgent = userAgent;
237 }
238
239 public boolean hasUserAgent() {
240 return userAgent != null;
241 }
242
243
244
245
246
247 public Locale getLocale() {
248 return locale;
249 }
250
251
252
253
254 public void setLocale(Locale locale) {
255 this.locale = locale;
256 }
257
258
259
260
261
262
263 public void setResourceBundleName(String name) {
264 resourceBundleName = name;
265 }
266
267
268
269
270 public String getResourceBundleName() {
271 return resourceBundleName;
272 }
273
274
275
276
277 public String getProxyHost() {
278 return proxyHost;
279 }
280
281
282
283
284 public int getProxyPort() {
285 return proxyPort;
286 }
287
288
289
290
291 public String getProxyUser() {
292 return proxyUser;
293 }
294
295
296
297
298 public String getProxyPasswd() {
299 return proxyPasswd;
300 }
301
302
303
304
305 public URL getBaseUrl() {
306 return baseUrl;
307 }
308
309
310
311
312
313
314 public void setBaseUrl(String url) {
315 try {
316 baseUrl = new URL(url.endsWith("/") ? url : url + "/");
317 } catch (MalformedURLException e) {
318 throw new RuntimeException(e);
319 }
320 }
321
322
323
324
325
326
327 public void setBaseUrl(URL url) {
328 baseUrl = url;
329 }
330
331
332
333
334
335
336 public void addRequestHeader(final String name, final String value) {
337 requestHeaders.put(name, value);
338 }
339
340
341
342
343
344 public void removeRequestHeader(final String name) {
345 requestHeaders.remove(name);
346 }
347
348
349
350
351
352
353 public Map<String, String> getRequestHeaders() {
354 return requestHeaders;
355 }
356
357
358
359
360
361 public void clearRequestHeaders() {
362 requestHeaders = new HashMap<String, String>();
363 }
364
365 }