1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 package org.apache.commons.httpclient;
31
32 import junit.framework.TestCase;
33
34 /***
35 * The base class for all tests that need to connection to the localhost
36 * web server.
37 *
38 * @author Michael Becke
39 */
40 public abstract class TestLocalHostBase extends TestCase {
41
42 private final String protocol = System.getProperty(
43 "httpclient.test.localHost.protocol",
44 "http"
45 );
46 private final String host = System.getProperty("httpclient.test.localHost","localhost");
47 private final int port;
48 private final String proxyHost = System.getProperty("httpclient.test.proxy.host");
49 private final int proxyPort;
50
51 /***
52 * Constructor for TestLocalHostBase.
53 * @param testName
54 */
55 public TestLocalHostBase(String testName) {
56 super(testName);
57 String portString = System.getProperty("httpclient.test.localPort","8080");
58 int tempPort = 8080;
59 try {
60 tempPort = Integer.parseInt(portString);
61 } catch(Exception e) {
62 tempPort = 8080;
63 }
64 port = tempPort;
65 String proxyPortString = System.getProperty("httpclient.test.proxy.port","3128");
66 int tempProxyPort = 3128;
67 try {
68 tempProxyPort = Integer.parseInt(proxyPortString);
69 } catch(Exception e) {
70 tempProxyPort = 3128;
71 }
72 proxyPort = tempProxyPort;
73 }
74
75 /***
76 * Gets a new HttpClient instance. This instance has been configured
77 * with all appropriate host/proxy values.
78 *
79 * @return a new HttpClient instance
80 */
81 public HttpClient createHttpClient() {
82 return createHttpClient(null);
83 }
84
85 /***
86 * Gets a new HttpClient instance that uses the given connection manager.
87 * This instance has been configured with all appropriate host/proxy values.
88 *
89 * @param connectionManager the connection manager to use or <code>null</code>
90 *
91 * @return a new HttpClient instance
92 */
93 public HttpClient createHttpClient(HttpConnectionManager connectionManager) {
94
95 HttpClient client = null;
96
97 if (connectionManager == null) {
98 client = new HttpClient();
99 } else {
100 client = new HttpClient(connectionManager);
101 }
102
103 client.getHostConfiguration().setHost(host, port, protocol);
104 if (proxyHost != null) {
105 client.getHostConfiguration().setProxy(proxyHost, proxyPort);
106 }
107
108 return client;
109 }
110
111 /***
112 * @return String
113 */
114 public String getHost() {
115 return host;
116 }
117
118 /***
119 * @return int
120 */
121 public int getPort() {
122 return port;
123 }
124
125 /***
126 * @return String
127 */
128 public String getProtocol() {
129 return protocol;
130 }
131
132 }