Add duration support for setConnectTimeout and setReadTimeout
See gh-13355
This commit is contained in:
committed by
Stephane Nicoll
parent
8691d01aaf
commit
36f3c1b883
@@ -16,6 +16,7 @@
|
||||
|
||||
package org.springframework.boot.web.client;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
import java.util.function.Supplier;
|
||||
@@ -60,6 +61,7 @@ import static org.springframework.test.web.client.response.MockRestResponseCreat
|
||||
* @author Stephane Nicoll
|
||||
* @author Phillip Webb
|
||||
* @author Andy Wilkinson
|
||||
* @author Dmytro Nosan
|
||||
*/
|
||||
public class RestTemplateBuilderTests {
|
||||
|
||||
@@ -390,7 +392,7 @@ public class RestTemplateBuilderTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void customizerShouldBeAppliedInTheEnd() {
|
||||
public void customizerShouldBeAppliedAtTheEnd() {
|
||||
ResponseErrorHandler errorHandler = mock(ResponseErrorHandler.class);
|
||||
ClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory();
|
||||
this.builder.interceptors(this.interceptor)
|
||||
@@ -439,7 +441,7 @@ public class RestTemplateBuilderTests {
|
||||
public void connectTimeoutCanBeConfiguredOnHttpComponentsRequestFactory() {
|
||||
ClientHttpRequestFactory requestFactory = this.builder
|
||||
.requestFactory(HttpComponentsClientHttpRequestFactory.class)
|
||||
.setConnectTimeout(1234).build().getRequestFactory();
|
||||
.setConnectTimeout(Duration.ofMillis(1234)).build().getRequestFactory();
|
||||
assertThat(((RequestConfig) ReflectionTestUtils.getField(requestFactory,
|
||||
"requestConfig")).getConnectTimeout()).isEqualTo(1234);
|
||||
}
|
||||
@@ -448,7 +450,7 @@ public class RestTemplateBuilderTests {
|
||||
public void readTimeoutCanBeConfiguredOnHttpComponentsRequestFactory() {
|
||||
ClientHttpRequestFactory requestFactory = this.builder
|
||||
.requestFactory(HttpComponentsClientHttpRequestFactory.class)
|
||||
.setReadTimeout(1234).build().getRequestFactory();
|
||||
.setReadTimeout(Duration.ofMillis(1234)).build().getRequestFactory();
|
||||
assertThat(((RequestConfig) ReflectionTestUtils.getField(requestFactory,
|
||||
"requestConfig")).getSocketTimeout()).isEqualTo(1234);
|
||||
}
|
||||
@@ -457,7 +459,7 @@ public class RestTemplateBuilderTests {
|
||||
public void connectTimeoutCanBeConfiguredOnSimpleRequestFactory() {
|
||||
ClientHttpRequestFactory requestFactory = this.builder
|
||||
.requestFactory(SimpleClientHttpRequestFactory.class)
|
||||
.setConnectTimeout(1234).build().getRequestFactory();
|
||||
.setConnectTimeout(Duration.ofMillis(1234)).build().getRequestFactory();
|
||||
assertThat(ReflectionTestUtils.getField(requestFactory, "connectTimeout"))
|
||||
.isEqualTo(1234);
|
||||
}
|
||||
@@ -465,8 +467,8 @@ public class RestTemplateBuilderTests {
|
||||
@Test
|
||||
public void readTimeoutCanBeConfiguredOnSimpleRequestFactory() {
|
||||
ClientHttpRequestFactory requestFactory = this.builder
|
||||
.requestFactory(SimpleClientHttpRequestFactory.class).setReadTimeout(1234)
|
||||
.build().getRequestFactory();
|
||||
.requestFactory(SimpleClientHttpRequestFactory.class)
|
||||
.setReadTimeout(Duration.ofMillis(1234)).build().getRequestFactory();
|
||||
assertThat(ReflectionTestUtils.getField(requestFactory, "readTimeout"))
|
||||
.isEqualTo(1234);
|
||||
}
|
||||
@@ -475,7 +477,7 @@ public class RestTemplateBuilderTests {
|
||||
public void connectTimeoutCanBeConfiguredOnOkHttp3RequestFactory() {
|
||||
ClientHttpRequestFactory requestFactory = this.builder
|
||||
.requestFactory(OkHttp3ClientHttpRequestFactory.class)
|
||||
.setConnectTimeout(1234).build().getRequestFactory();
|
||||
.setConnectTimeout(Duration.ofMillis(1234)).build().getRequestFactory();
|
||||
assertThat(ReflectionTestUtils.getField(
|
||||
ReflectionTestUtils.getField(requestFactory, "client"), "connectTimeout"))
|
||||
.isEqualTo(1234);
|
||||
@@ -485,7 +487,7 @@ public class RestTemplateBuilderTests {
|
||||
public void readTimeoutCanBeConfiguredOnOkHttp3RequestFactory() {
|
||||
ClientHttpRequestFactory requestFactory = this.builder
|
||||
.requestFactory(OkHttp3ClientHttpRequestFactory.class)
|
||||
.setReadTimeout(1234).build().getRequestFactory();
|
||||
.setReadTimeout(Duration.ofMillis(1234)).build().getRequestFactory();
|
||||
assertThat(ReflectionTestUtils.getField(
|
||||
ReflectionTestUtils.getField(requestFactory, "client"), "readTimeout"))
|
||||
.isEqualTo(1234);
|
||||
@@ -497,7 +499,7 @@ public class RestTemplateBuilderTests {
|
||||
this.builder
|
||||
.requestFactory(
|
||||
() -> new BufferingClientHttpRequestFactory(requestFactory))
|
||||
.setConnectTimeout(1234).build();
|
||||
.setConnectTimeout(Duration.ofMillis(1234)).build();
|
||||
assertThat(ReflectionTestUtils.getField(requestFactory, "connectTimeout"))
|
||||
.isEqualTo(1234);
|
||||
}
|
||||
@@ -508,7 +510,7 @@ public class RestTemplateBuilderTests {
|
||||
this.builder
|
||||
.requestFactory(
|
||||
() -> new BufferingClientHttpRequestFactory(requestFactory))
|
||||
.setReadTimeout(1234).build();
|
||||
.setReadTimeout(Duration.ofMillis(1234)).build();
|
||||
assertThat(ReflectionTestUtils.getField(requestFactory, "readTimeout"))
|
||||
.isEqualTo(1234);
|
||||
}
|
||||
@@ -524,6 +526,46 @@ public class RestTemplateBuilderTests {
|
||||
.isInstanceOf(BufferingClientHttpRequestFactory.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
public void deprecatedReadTimeout() {
|
||||
ClientHttpRequestFactory requestFactory = this.builder
|
||||
.requestFactory(SimpleClientHttpRequestFactory.class).setReadTimeout(1234)
|
||||
.build().getRequestFactory();
|
||||
assertThat(ReflectionTestUtils.getField(requestFactory, "readTimeout"))
|
||||
.isEqualTo(1234);
|
||||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
public void deprecatedConnectTimeout() {
|
||||
ClientHttpRequestFactory requestFactory = this.builder
|
||||
.requestFactory(SimpleClientHttpRequestFactory.class)
|
||||
.setConnectTimeout(1234).build().getRequestFactory();
|
||||
assertThat(ReflectionTestUtils.getField(requestFactory, "connectTimeout"))
|
||||
.isEqualTo(1234);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void readTimeoutShouldBeIgnored() {
|
||||
ClientHttpRequestFactory requestFactory = this.builder
|
||||
.requestFactory(SimpleClientHttpRequestFactory.class)
|
||||
.setReadTimeout(Duration.ofSeconds(5)).setReadTimeout(null).build()
|
||||
.getRequestFactory();
|
||||
assertThat(ReflectionTestUtils.getField(requestFactory, "readTimeout"))
|
||||
.isEqualTo(-1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void connectionTimeoutShouldBeIgnored() {
|
||||
ClientHttpRequestFactory requestFactory = this.builder
|
||||
.requestFactory(SimpleClientHttpRequestFactory.class)
|
||||
.setConnectTimeout(Duration.ofSeconds(5)).setConnectTimeout(null).build()
|
||||
.getRequestFactory();
|
||||
assertThat(ReflectionTestUtils.getField(requestFactory, "connectTimeout"))
|
||||
.isEqualTo(-1);
|
||||
}
|
||||
|
||||
public static class RestTemplateSubclass extends RestTemplate {
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user