I'm trying to test this method checking that the timeouts are correctly set.
public HttpClientBuilder getClientBuilderWithTimeouts(final int connT, final int reqT, final int socketT){
RequestConfig.Builder requestBuilder = RequestConfig.custom();
requestBuilder = requestBuilder.setConnectTimeout(connT);
requestBuilder = requestBuilder.setConnectionRequestTimeout(reqT);
requestBuilder = requestBuilder.setSocketTimeout(socketT);
HttpClientBuilder clientBuilder = HttpClientBuilder.create();
clientBuilder.setDefaultRequestConfig(requestBuilder.build());
return clientBuilder;
}
In my unit test though getParams()
throws UnsupportedOperationException
. How can I solve this without using an integration test?
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.client.config.RequestConfig;
...
@Test
public void testGetClientBuilderWithTimeouts(){
HttpClientBuilder clBuilder = utils.getClientBuilderWithTimeouts(10, 20, 30);
CloseableHttpClient testclient = clBuilder.build();
System.out.println(testclient.getParams().getParameter("http.socket.timeout"));
System.out.println(testclient.getParams().getParameter("http.connection.timeout"));
// asserts ..
}