Skip to content

Commit e3a4097

Browse files
committed
[BAEL-13598] - Added old API, moved TimerTask Junit to httpclient-simple
1 parent 47bf78f commit e3a4097

File tree

2 files changed

+47
-23
lines changed

2 files changed

+47
-23
lines changed

httpclient-simple/src/test/java/org/baeldung/httpclient/HttpClientTimeoutLiveTest.java

Lines changed: 45 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,21 @@
44
import static org.junit.Assert.assertThat;
55

66
import java.io.IOException;
7+
import java.util.Timer;
8+
import java.util.TimerTask;
79

10+
import org.apache.http.HttpResponse;
811
import org.apache.http.client.config.RequestConfig;
912
import org.apache.http.client.methods.CloseableHttpResponse;
1013
import org.apache.http.client.methods.HttpGet;
14+
import org.apache.http.client.params.ClientPNames;
1115
import org.apache.http.config.SocketConfig;
1216
import org.apache.http.conn.ConnectTimeoutException;
1317
import org.apache.http.impl.client.CloseableHttpClient;
18+
import org.apache.http.impl.client.DefaultHttpClient;
1419
import org.apache.http.impl.client.HttpClientBuilder;
20+
import org.apache.http.params.CoreConnectionPNames;
21+
import org.apache.http.params.HttpParams;
1522
import org.junit.After;
1623
import org.junit.Test;
1724

@@ -25,6 +32,20 @@ public final void after() throws IllegalStateException, IOException {
2532
}
2633

2734
// tests
35+
@Test
36+
public final void givenUsingOldApi_whenSettingTimeoutViaParameter_thenCorrect() throws IOException {
37+
38+
DefaultHttpClient httpClient = new DefaultHttpClient();
39+
int timeout = 5; // seconds
40+
HttpParams httpParams = httpClient.getParams();
41+
httpParams.setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, timeout * 1000);
42+
httpParams.setParameter(CoreConnectionPNames.SO_TIMEOUT, timeout * 1000);
43+
httpParams.setParameter(ClientPNames.CONN_MANAGER_TIMEOUT, new Long(timeout * 1000));
44+
45+
final HttpGet request = new HttpGet("http://www.github.com");
46+
HttpResponse execute = httpClient.execute(request);
47+
assertThat(execute.getStatusLine().getStatusCode(), equalTo(200));
48+
}
2849

2950
@Test
3051
public final void givenUsingNewApi_whenSettingTimeoutViaRequestConfig_thenCorrect() throws IOException {
@@ -33,8 +54,6 @@ public final void givenUsingNewApi_whenSettingTimeoutViaRequestConfig_thenCorrec
3354
final CloseableHttpClient client = HttpClientBuilder.create().setDefaultRequestConfig(config).build();
3455
final HttpGet request = new HttpGet("http://www.github.com");
3556

36-
// httpParams.setLongParameter(ClientPNames.CONN_MANAGER_TIMEOUT, new Long(timeout * 1000)); // https://issues.apache.org/jira/browse/HTTPCLIENT-1418
37-
3857
response = client.execute(request);
3958

4059
assertThat(response.getStatusLine().getStatusCode(), equalTo(200));
@@ -81,5 +100,28 @@ public final void givenTimeoutIsConfigured_whenTimingOut_thenTimeoutException()
81100
final HttpGet request = new HttpGet("http://www.google.com:81");
82101
client.execute(request);
83102
}
84-
103+
104+
@Test
105+
public void whenSecuredRestApiIsConsumed_then200OK() throws IOException {
106+
CloseableHttpClient httpClient = HttpClientBuilder.create().build();
107+
108+
int timeout = 20; // seconds
109+
RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(timeout * 1000)
110+
.setConnectTimeout(timeout * 1000).setSocketTimeout(timeout * 1000).build();
111+
HttpGet getMethod = new HttpGet("http://localhost:8082/httpclient-simple/api/bars/1");
112+
getMethod.setConfig(requestConfig);
113+
114+
int hardTimeout = 5; // seconds
115+
TimerTask task = new TimerTask() {
116+
@Override
117+
public void run() {
118+
getMethod.abort();
119+
}
120+
};
121+
new Timer(true).schedule(task, hardTimeout * 1000);
122+
123+
HttpResponse response = httpClient.execute(getMethod);
124+
System.out.println("HTTP Status of response: " + response.getStatusLine().getStatusCode());
125+
}
126+
85127
}

spring-security-mvc-digest-auth/src/test/java/org/baeldung/client/RawClientLiveTest.java

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
package org.baeldung.client;
22

3+
import java.io.IOException;
4+
35
import org.apache.http.HttpResponse;
4-
import org.apache.http.client.config.RequestConfig;
56
import org.apache.http.client.methods.HttpGet;
67
import org.apache.http.impl.client.CloseableHttpClient;
78
import org.apache.http.impl.client.HttpClientBuilder;
@@ -12,10 +13,6 @@
1213
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
1314
import org.springframework.test.context.support.AnnotationConfigContextLoader;
1415

15-
import java.io.IOException;
16-
import java.util.Timer;
17-
import java.util.TimerTask;
18-
1916
@RunWith(SpringJUnit4ClassRunner.class)
2017
@ContextConfiguration(classes = {ClientConfig.class}, loader = AnnotationConfigContextLoader.class)
2118
public class RawClientLiveTest {
@@ -25,22 +22,7 @@ public class RawClientLiveTest {
2522
@Test
2623
public void whenSecuredRestApiIsConsumed_then200OK() throws IOException {
2724
CloseableHttpClient httpClient = HttpClientBuilder.create().build();
28-
29-
int timeout = 20; // seconds
30-
RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(timeout)
31-
.setConnectTimeout(timeout).setSocketTimeout(timeout).build();
3225
HttpGet getMethod = new HttpGet("http://localhost:8082/spring-security-rest-basic-auth/api/bars/1");
33-
getMethod.setConfig(requestConfig);
34-
35-
int hardTimeout = 5; // seconds
36-
TimerTask task = new TimerTask() {
37-
@Override
38-
public void run() {
39-
getMethod.abort();
40-
}
41-
};
42-
new Timer(true).schedule(task, hardTimeout * 1000);
43-
4426
HttpResponse response = httpClient.execute(getMethod);
4527
System.out.println("HTTP Status of response: " + response.getStatusLine().getStatusCode());
4628
}

0 commit comments

Comments
 (0)