From dc3a73c055c40a1fe1b51611cd52d64740fbe723 Mon Sep 17 00:00:00 2001 From: Olga MaciaszekSharma Date: Fri, 14 Jan 2022 19:57:40 +0100 Subject: [PATCH] Add test. Fix typo in docs. Update config properties documentation. --- docs/src/main/asciidoc/_configprops.adoc | 1 + docs/src/main/asciidoc/spring-cloud-openfeign.adoc | 2 +- .../FeignLoadBalancerAutoConfigurationTests.java | 14 ++++++++++++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/docs/src/main/asciidoc/_configprops.adoc b/docs/src/main/asciidoc/_configprops.adoc index b73525ae..5062c749 100644 --- a/docs/src/main/asciidoc/_configprops.adoc +++ b/docs/src/main/asciidoc/_configprops.adoc @@ -26,6 +26,7 @@ |feign.httpclient.hc5.socket-timeout-unit | | Default value for socket timeout unit. |feign.httpclient.max-connections | `200` | |feign.httpclient.max-connections-per-route | `50` | +|feign.httpclient.ok-http-client-properties.read-timeout | `60s` | {@link OkHttpClient} read timeout; defaults to 60 seconds. |feign.httpclient.time-to-live | `900` | |feign.httpclient.time-to-live-unit | | |feign.metrics.enabled | `true` | Enables metrics capability for Feign. diff --git a/docs/src/main/asciidoc/spring-cloud-openfeign.adoc b/docs/src/main/asciidoc/spring-cloud-openfeign.adoc index 24885451..ddc2595f 100644 --- a/docs/src/main/asciidoc/spring-cloud-openfeign.adoc +++ b/docs/src/main/asciidoc/spring-cloud-openfeign.adoc @@ -739,7 +739,7 @@ To work around this problem you can use an `ObjectProvider` when autowiring your [source,java,indent=0] ---- @Autowired -ObjectProvider testFeginClient; +ObjectProvider testFeignClient; ---- === Spring Data Support diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/loadbalancer/FeignLoadBalancerAutoConfigurationTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/loadbalancer/FeignLoadBalancerAutoConfigurationTests.java index 40258367..69c8d5bb 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/loadbalancer/FeignLoadBalancerAutoConfigurationTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/loadbalancer/FeignLoadBalancerAutoConfigurationTests.java @@ -33,6 +33,7 @@ import org.springframework.cloud.loadbalancer.config.LoadBalancerAutoConfigurati import org.springframework.context.ConfigurableApplicationContext; import static org.assertj.core.api.Assertions.assertThat; +import static org.springframework.test.util.ReflectionTestUtils.getField; /** * @author Olga Maciaszek-Sharma @@ -58,9 +59,18 @@ class FeignLoadBalancerAutoConfigurationTests { @Test void shouldInstantiateOkHttpFeignClientWhenEnabled() { ConfigurableApplicationContext context = initContext("feign.httpclient.enabled=false", - "feign.okhttp.enabled=true", "spring.cloud.loadbalancer.retry.enabled=false"); + "feign.okhttp.enabled=true", "spring.cloud.loadbalancer.retry.enabled=false", + "feign.httpclient.okhttp-client-properties.read-timeout=9s"); assertThatOneBeanPresent(context, BlockingLoadBalancerClient.class); - assertLoadBalanced(context, OkHttpClient.class); + Map beans = context + .getBeansOfType(FeignBlockingLoadBalancerClient.class); + assertThat(beans).as("Missing bean of type %s", OkHttpClient.class).hasSize(1); + Client client = beans.get("feignClient").getDelegate(); + assertThat(client).isInstanceOf(OkHttpClient.class); + OkHttpClient okHttpClient = (OkHttpClient) client; + okhttp3.OkHttpClient httpClient = (okhttp3.OkHttpClient) getField(okHttpClient, "delegate"); + assertThat(httpClient.readTimeoutMillis()).isEqualTo(9000); + } @Test