From ddc1b945558b04332772b1e4ebb1f850f2666521 Mon Sep 17 00:00:00 2001 From: Can Bezmen Date: Tue, 15 Feb 2022 14:54:35 +0300 Subject: [PATCH] Fix gh-490 (#679) --- docs/src/main/asciidoc/_configprops.adoc | 66 +++++----- .../main/asciidoc/spring-cloud-openfeign.adoc | 116 +++++++++--------- .../openfeign/FeignAutoConfiguration.java | 20 +-- ...FeignCircuitBreakerDisabledConditions.java | 3 +- .../FeignClientMetricsEnabledCondition.java | 2 +- .../openfeign/FeignClientProperties.java | 2 +- .../openfeign/FeignClientsConfiguration.java | 4 +- .../openfeign/FeignClientsRegistrar.java | 2 +- .../cloud/openfeign/FeignContext.java | 2 +- .../HttpClient5DisabledConditions.java | 3 +- .../HttpClientFeignConfiguration.java | 5 +- ...gnAcceptGzipEncodingAutoConfiguration.java | 2 +- .../FeignClientEncodingProperties.java | 2 +- ...nContentGzipEncodingAutoConfiguration.java | 2 +- ...Client5FeignLoadBalancerConfiguration.java | 2 +- ...pClientFeignLoadBalancerConfiguration.java | 2 +- .../OkHttpFeignLoadBalancerConfiguration.java | 2 +- .../support/FeignEncoderProperties.java | 2 +- .../support/FeignHttpClientProperties.java | 2 +- ...itional-spring-configuration-metadata.json | 24 ++-- .../openfeign/EnableFeignClientsTests.java | 2 +- .../FeignAutoConfigurationTests.java | 31 ++--- ...ignClientMetricsEnabledConditionTests.java | 40 +++--- .../FeignClientUsingConfigurerTest.java | 6 +- .../openfeign/FeignCompressionTests.java | 5 +- .../FeignHttpClient5ConfigurationTests.java | 11 +- .../FeignHttpClientConfigurationTests.java | 5 +- .../openfeign/FeignHttpClientUrlTests.java | 4 +- ...ientUrlTestsWithRetryableLoadBalancer.java | 4 +- .../FeignOkHttpConfigurationTests.java | 5 +- .../cloud/openfeign/GzipDecodingTests.java | 6 +- .../beans/BeansFeignClientTests.java | 4 +- .../AsyncCircuitBreakerTest.java | 2 +- .../circuitbreaker/CircuitBreakerTests.java | 2 +- .../CircuitBreakerWithNoFallbackTests.java | 2 +- .../encoding/FeignAcceptEncodingTests.java | 2 +- .../encoding/FeignContentEncodingTests.java | 2 +- .../encoding/FeignPageableEncodingTests.java | 3 +- ...ignLoadBalancerAutoConfigurationTests.java | 30 ++--- ...viderWithLoadBalancerInterceptorTests.java | 4 +- ...erWithoutLoadBalancerInterceptorTests.java | 2 +- .../FeignHttpClientPropertiesTests.java | 20 +-- ...ContractSlashEncodingIntegrationTests.java | 3 +- .../ApacheHttpClientConfigurationTests.java | 3 +- .../test/OkHttpClientConfigurationTests.java | 6 +- .../valid/FeignClientNotPrimaryTests.java | 4 +- .../openfeign/valid/FeignHttpClientTests.java | 4 +- .../openfeign/valid/FeignOkHttpTests.java | 4 +- .../valid/IterableParameterTests.java | 5 +- .../valid/ValidFeignClientTests.java | 6 +- .../scanning/FeignClientEnvVarTests.java | 2 +- .../scanning/FeignClientScanningTests.java | 2 +- .../src/test/resources/application.yml | 4 +- .../resources/feign-properties.properties | 50 ++++---- .../feign-refreshable-properties.properties | 16 +-- 55 files changed, 295 insertions(+), 271 deletions(-) diff --git a/docs/src/main/asciidoc/_configprops.adoc b/docs/src/main/asciidoc/_configprops.adoc index f9dd180c..dbe66216 100644 --- a/docs/src/main/asciidoc/_configprops.adoc +++ b/docs/src/main/asciidoc/_configprops.adoc @@ -1,37 +1,37 @@ |=== |Name | Default | Description -|feign.autoconfiguration.jackson.enabled | `false` | If true, PageJacksonModule and SortJacksonModule bean will be provided for Jackson page decoding. -|feign.circuitbreaker.enabled | `false` | If true, an OpenFeign client will be wrapped with a Spring Cloud CircuitBreaker circuit breaker. -|feign.circuitbreaker.group.enabled | `false` | If true, an OpenFeign client will be wrapped with a Spring Cloud CircuitBreaker circuit breaker with with group. -|feign.client.config | | -|feign.client.decode-slash | `true` | Feign clients do not encode slash `/` characters by default. To change this behavior, set the `decodeSlash` to `false`. -|feign.client.default-config | `default` | -|feign.client.default-to-properties | `true` | -|feign.client.refresh-enabled | `false` | Enables options value refresh capability for Feign. -|feign.compression.request.enabled | `false` | Enables the request sent by Feign to be compressed. -|feign.compression.request.mime-types | `[text/xml, application/xml, application/json]` | The list of supported mime types. -|feign.compression.request.min-request-size | `2048` | The minimum threshold content size. -|feign.compression.response.enabled | `false` | Enables the response from Feign to be compressed. -|feign.encoder.charset-from-content-type | `false` | Indicates whether the charset should be derived from the {@code Content-Type} header. -|feign.httpclient.connection-timeout | `2000` | -|feign.httpclient.connection-timer-repeat | `3000` | -|feign.httpclient.disable-ssl-validation | `false` | -|feign.httpclient.enabled | `true` | Enables the use of the Apache HTTP Client by Feign. -|feign.httpclient.follow-redirects | `true` | -|feign.httpclient.hc5.enabled | `false` | Enables the use of the Apache HTTP Client 5 by Feign. -|feign.httpclient.hc5.pool-concurrency-policy | | Pool concurrency policies. -|feign.httpclient.hc5.pool-reuse-policy | | Pool connection re-use policies. -|feign.httpclient.hc5.socket-timeout | `5` | Default value for socket timeout. -|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.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. -|feign.oauth2.enabled | `false` | Enables feign interceptor for managing oauth2 access token. -|feign.oauth2.load-balanced | `false` | Enables load balancing for oauth2 access token provider. -|feign.okhttp.enabled | `false` | Enables the use of the OK HTTP Client by Feign. +|spring.cloud.openfeign.autoconfiguration.jackson.enabled | `false` | If true, PageJacksonModule and SortJacksonModule bean will be provided for Jackson page decoding. +|spring.cloud.openfeign.circuitbreaker.enabled | `false` | If true, an OpenFeign client will be wrapped with a Spring Cloud CircuitBreaker circuit breaker. +|spring.cloud.openfeign.circuitbreaker.group.enabled | `false` | If true, an OpenFeign client will be wrapped with a Spring Cloud CircuitBreaker circuit breaker with with group. +|spring.cloud.openfeign.client.config | | +|spring.cloud.openfeign.client.decode-slash | `true` | Feign clients do not encode slash `/` characters by default. To change this behavior, set the `decodeSlash` to `false`. +|spring.cloud.openfeign.client.default-config | `default` | +|spring.cloud.openfeign.client.default-to-properties | `true` | +|spring.cloud.openfeign.client.refresh-enabled | `false` | Enables options value refresh capability for Feign. +|spring.cloud.openfeign.compression.request.enabled | `false` | Enables the request sent by Feign to be compressed. +|spring.cloud.openfeign.compression.request.mime-types | `[text/xml, application/xml, application/json]` | The list of supported mime types. +|spring.cloud.openfeign.compression.request.min-request-size | `2048` | The minimum threshold content size. +|spring.cloud.openfeign.compression.response.enabled | `false` | Enables the response from Feign to be compressed. +|spring.cloud.openfeign.encoder.charset-from-content-type | `false` | Indicates whether the charset should be derived from the {@code Content-Type} header. +|spring.cloud.openfeign.httpclient.connection-timeout | `2000` | +|spring.cloud.openfeign.httpclient.connection-timer-repeat | `3000` | +|spring.cloud.openfeign.httpclient.disable-ssl-validation | `false` | +|spring.cloud.openfeign.httpclient.enabled | `true` | Enables the use of the Apache HTTP Client by Feign. +|spring.cloud.openfeign.httpclient.follow-redirects | `true` | +|spring.cloud.openfeign.httpclient.hc5.enabled | `false` | Enables the use of the Apache HTTP Client 5 by Feign. +|spring.cloud.openfeign.httpclient.hc5.pool-concurrency-policy | | Pool concurrency policies. +|spring.cloud.openfeign.httpclient.hc5.pool-reuse-policy | | Pool connection re-use policies. +|spring.cloud.openfeign.httpclient.hc5.socket-timeout | `5` | Default value for socket timeout. +|spring.cloud.openfeign.httpclient.hc5.socket-timeout-unit | | Default value for socket timeout unit. +|spring.cloud.openfeign.httpclient.max-connections | `200` | +|spring.cloud.openfeign.httpclient.max-connections-per-route | `50` | +|spring.cloud.openfeign.httpclient.ok-http.read-timeout | `60s` | {@link OkHttpClient} read timeout; defaults to 60 seconds. +|spring.cloud.openfeign.httpclient.time-to-live | `900` | +|spring.cloud.openfeign.httpclient.time-to-live-unit | | +|spring.cloud.openfeign.metrics.enabled | `true` | Enables metrics capability for Feign. +|spring.cloud.openfeign.oauth2.enabled | `false` | Enables feign interceptor for managing oauth2 access token. +|spring.cloud.openfeign.oauth2.load-balanced | `false` | Enables load balancing for oauth2 access token provider. +|spring.cloud.openfeign.okhttp.enabled | `false` | Enables the use of the OK HTTP Client by Feign. -|=== \ No newline at end of file +|=== diff --git a/docs/src/main/asciidoc/spring-cloud-openfeign.adoc b/docs/src/main/asciidoc/spring-cloud-openfeign.adoc index ddc2595f..f7cefb94 100644 --- a/docs/src/main/asciidoc/spring-cloud-openfeign.adoc +++ b/docs/src/main/asciidoc/spring-cloud-openfeign.adoc @@ -122,7 +122,7 @@ Spring Cloud OpenFeign provides the following beans by default for feign (`BeanT * `Encoder` feignEncoder: `SpringEncoder` * `Logger` feignLogger: `Slf4jLogger` * `MicrometerCapability` micrometerCapability: If `feign-micrometer` is on the classpath and `MeterRegistry` is available -* `CachingCapability` cachingCapability: If `@EnableCaching` annotation is used. Can be disabled via `feign.cache.enabled`. +* `CachingCapability` cachingCapability: If `@EnableCaching` annotation is used. Can be disabled via `spring.cloud.openfeign.cache.enabled`. * `Contract` feignContract: `SpringMvcContract` * `Feign.Builder` feignBuilder: `FeignCircuitBreaker.Builder` * `Client` feignClient: If Spring Cloud LoadBalancer is on the classpath, `FeignBlockingLoadBalancerClient` is used. @@ -130,7 +130,7 @@ If none of them is on the classpath, the default feign client is used. NOTE: `spring-cloud-starter-openfeign` supports `spring-cloud-starter-loadbalancer`. However, as is an optional dependency, you need to make sure it been added to your project if you want to use it. -The OkHttpClient and ApacheHttpClient and ApacheHC5 feign clients can be used by setting `feign.okhttp.enabled` or `feign.httpclient.enabled` or `feign.httpclient.hc5.enabled` to `true`, respectively, and having them on the classpath. +The OkHttpClient and ApacheHttpClient and ApacheHC5 feign clients can be used by setting `spring.cloud.openfeign.okhttp.enabled` or `spring.cloud.openfeign.httpclient.enabled` or `spring.cloud.openfeign.httpclient.hc5.enabled` to `true`, respectively, and having them on the classpath. You can customize the HTTP client used by providing a bean of either `org.apache.http.impl.client.CloseableHttpClient` when using Apache or `okhttp3.OkHttpClient` when using OK HTTP or `org.apache.hc.client5.http.impl.classic.CloseableHttpClient` when using Apache HC5. Spring Cloud OpenFeign _does not_ provide the following beans by default for feign, but still looks up beans of these types from the application context to create the feign client: @@ -173,54 +173,58 @@ This replaces the `SpringMvcContract` with `feign.Contract.Default` and adds a ` application.yml [source,yaml] ---- -feign: - client: - config: - feignName: - connectTimeout: 5000 - readTimeout: 5000 - loggerLevel: full - errorDecoder: com.example.SimpleErrorDecoder - retryer: com.example.SimpleRetryer - defaultQueryParameters: - query: queryValue - defaultRequestHeaders: - header: headerValue - requestInterceptors: - - com.example.FooRequestInterceptor - - com.example.BarRequestInterceptor - decode404: false - encoder: com.example.SimpleEncoder - decoder: com.example.SimpleDecoder - contract: com.example.SimpleContract - capabilities: - - com.example.FooCapability - - com.example.BarCapability - queryMapEncoder: com.example.SimpleQueryMapEncoder - metrics.enabled: false +spring: + cloud: + openfeign: + client: + config: + feignName: + connectTimeout: 5000 + readTimeout: 5000 + loggerLevel: full + errorDecoder: com.example.SimpleErrorDecoder + retryer: com.example.SimpleRetryer + defaultQueryParameters: + query: queryValue + defaultRequestHeaders: + header: headerValue + requestInterceptors: + - com.example.FooRequestInterceptor + - com.example.BarRequestInterceptor + decode404: false + encoder: com.example.SimpleEncoder + decoder: com.example.SimpleDecoder + contract: com.example.SimpleContract + capabilities: + - com.example.FooCapability + - com.example.BarCapability + queryMapEncoder: com.example.SimpleQueryMapEncoder + metrics.enabled: false ---- Default configurations can be specified in the `@EnableFeignClients` attribute `defaultConfiguration` in a similar manner as described above. The difference is that this configuration will apply to _all_ feign clients. If you prefer using configuration properties to configured all `@FeignClient`, you can create configuration properties with `default` feign name. -You can use `feign.client.config.feignName.defaultQueryParameters` and `feign.client.config.feignName.defaultRequestHeaders` to specify query parameters and headers that will be sent with every request of the client named `feignName`. +You can use `spring.cloud.openfeign.client.config.feignName.defaultQueryParameters` and `spring.cloud.openfeign.client.config.feignName.defaultRequestHeaders` to specify query parameters and headers that will be sent with every request of the client named `feignName`. application.yml [source,yaml] ---- -feign: - client: - config: - default: - connectTimeout: 5000 - readTimeout: 5000 - loggerLevel: basic +spring: + cloud: + openfeign: + client: + config: + default: + connectTimeout: 5000 + readTimeout: 5000 + loggerLevel: basic ---- If we create both `@Configuration` bean and configuration properties, configuration properties will win. It will override `@Configuration` values. But if you want to change the priority to `@Configuration`, -you can change `feign.client.default-to-properties` to `false`. +you can change `spring.cloud.openfeign.client.default-to-properties` to `false`. If we want to create multiple feign clients with the same name or url so that they would point to the same server but each with a different custom configuration then @@ -266,13 +270,13 @@ public FeignClientConfigurer feignClientConfigurer() { } ---- -TIP: By default, Feign clients do not encode slash `/` characters. You can change this behaviour, by setting the value of `feign.client.decodeSlash` to `false`. +TIP: By default, Feign clients do not encode slash `/` characters. You can change this behaviour, by setting the value of `spring.cloud.openfeign.client.decodeSlash` to `false`. ==== `SpringEncoder` configuration In the `SpringEncoder` that we provide, we set `null` charset for binary content types and `UTF-8` for all the other ones. -You can modify this behaviour to derive the charset from the `Content-Type` header charset instead by setting the value of `feign.encoder.charset-from-content-type` to `true`. +You can modify this behaviour to derive the charset from the `Content-Type` header charset instead by setting the value of `spring.cloud.openfeign.encoder.charset-from-content-type` to `true`. [[timeout-handling]] === Timeout Handling @@ -337,7 +341,7 @@ You can do this by overriding calling `inheritParentContext(false)` on the `Buil [[spring-cloud-feign-circuitbreaker]] === Feign Spring Cloud CircuitBreaker Support -If Spring Cloud CircuitBreaker is on the classpath and `feign.circuitbreaker.enabled=true`, Feign will wrap all methods with a circuit breaker. +If Spring Cloud CircuitBreaker is on the classpath and `spring.cloud.openfeign.circuitbreaker.enabled=true`, Feign will wrap all methods with a circuit breaker. To disable Spring Cloud CircuitBreaker support on a per-client basis create a vanilla `Feign.Builder` with the "prototype" scope, e.g.: @@ -370,7 +374,7 @@ public class FooConfiguration { } ---- -To enable Spring Cloud CircuitBreaker group set the `feign.circuitbreaker.group.enabled` property to `true` (by default `false`). +To enable Spring Cloud CircuitBreaker group set the `spring.cloud.openfeign.circuitbreaker.group.enabled` property to `true` (by default `false`). [[spring-cloud-feign-circuitbreaker-fallback]] @@ -505,17 +509,17 @@ Feign requests. You can do this by enabling one of the properties: [source,java] ---- -feign.compression.request.enabled=true -feign.compression.response.enabled=true +spring.cloud.openfeign.compression.request.enabled=true +spring.cloud.openfeign.compression.response.enabled=true ---- Feign request compression gives you settings similar to what you may set for your web server: [source,java] ---- -feign.compression.request.enabled=true -feign.compression.request.mime-types=text/xml,application/xml,application/json -feign.compression.request.min-request-size=2048 +spring.cloud.openfeign.compression.request.enabled=true +spring.cloud.openfeign.compression.request.mime-types=text/xml,application/xml,application/json +spring.cloud.openfeign.compression.request.min-request-size=2048 ---- These properties allow you to be selective about the compressed media types and minimum request threshold length. @@ -576,8 +580,8 @@ If all of the following conditions are true, a `MicrometerCapability` bean is cr * `feign-micrometer` is on the classpath * A `MeterRegistry` bean is available * feign metrics properties are set to `true` (by default) - - `feign.metrics.enabled=true` (for all clients) - - `feign.client.config.feignName.metrics.enabled=true` (for a single client) + - `spring.cloud.openfeign.metrics.enabled=true` (for all clients) + - `spring.cloud.openfeign.client.config.feignName.metrics.enabled=true` (for a single client) NOTE: If your application already uses Micrometer, enabling metrics is as simple as putting `feign-micrometer` onto your classpath. @@ -585,11 +589,11 @@ You can also disable the feature by either: * excluding `feign-micrometer` from your classpath * setting one of the feign metrics properties to `false` - - `feign.metrics.enabled=false` - - `feign.client.config.feignName.metrics.enabled=false` + - `spring.cloud.openfeign.metrics.enabled=false` + - `spring.cloud.openfeign.client.config.feignName.metrics.enabled=false` -NOTE: `feign.metrics.enabled=false` disables metrics support for *all* Feign clients regardless of the value of the client-level flags: `feign.client.config.feignName.metrics.enabled`. -If you want to enable or disable merics per client, don't set `feign.metrics.enabled` and use `feign.client.config.feignName.metrics.enabled`. +NOTE: `spring.cloud.openfeign.metrics.enabled=false` disables metrics support for *all* Feign clients regardless of the value of the client-level flags: `spring.cloud.openfeign.client.config.feignName.metrics.enabled`. +If you want to enable or disable merics per client, don't set `spring.cloud.openfeign.metrics.enabled` and use `spring.cloud.openfeign.client.config.feignName.metrics.enabled`. You can also customize the `MicrometerCapability` by registering your own bean: @@ -618,7 +622,7 @@ public interface DemoClient { } ---- -You can also disable the feature via property `feign.cache.enabled=false`. +You can also disable the feature via property `spring.cloud.openfeign.cache.enabled=false`. === Feign @QueryMap support @@ -748,7 +752,7 @@ You may consider enabling Jackson Modules for the support `org.springframework.d [source,java] ---- -feign.autoconfiguration.jackson.enabled=true +spring.cloud.openfeign.autoconfiguration.jackson.enabled=true ---- === Spring `@RefreshScope` Support @@ -757,19 +761,19 @@ If Feign client refresh is enabled, each feign client is created with `feign.Req By default, refresh behavior in Feign clients is disabled. Use the following property to enable refresh behavior: [source,java] ---- -feign.client.refresh-enabled=true +spring.cloud.openfeign.client.refresh-enabled=true ---- TIP: DO NOT annotate the `@FeignClient` interface with the `@RefreshScope` annotation. === OAuth2 Support OAuth2 support can be enabled by setting following flag: ---- -feign.oauth2.enabled=true +spring.cloud.openfeign.oauth2.enabled=true ---- When the flag is set to true, and the oauth2 client context resource details are present, a bean of class `OAuth2FeignRequestInterceptor` is created. Before each request, the interceptor resolves the required access token and includes it as a header. Sometimes, when load balancing is enabled for Feign clients, you may want to use load balancing for fetching access tokens, too. To do so, you should ensure that the load balancer is on the classpath (spring-cloud-starter-loadbalancer) and explicitly enable load balancing for OAuth2FeignRequestInterceptor by setting the following flag: ---- -feign.oauth2.load-balanced=true +spring.cloud.openfeign.oauth2.load-balanced=true ---- == Configuration properties diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignAutoConfiguration.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignAutoConfiguration.java index 24f43099..8868fd54 100644 --- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignAutoConfiguration.java +++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignAutoConfiguration.java @@ -115,7 +115,7 @@ public class FeignAutoConfiguration { } @Bean - @ConditionalOnProperty(value = "feign.cache.enabled", matchIfMissing = true) + @ConditionalOnProperty(value = "spring.cloud.openfeign.cache.enabled", matchIfMissing = true) @ConditionalOnBean(CacheInterceptor.class) public Capability cachingCapability(CacheInterceptor cacheInterceptor) { return new CachingCapability(cacheInterceptor); @@ -123,7 +123,7 @@ public class FeignAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnClass({ Module.class, Page.class, Sort.class }) - @ConditionalOnProperty(value = "feign.autoconfiguration.jackson.enabled", havingValue = "true") + @ConditionalOnProperty(value = "spring.cloud.openfeign.autoconfiguration.jackson.enabled", havingValue = "true") protected static class FeignJacksonConfiguration { @Bean @@ -154,7 +154,7 @@ public class FeignAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnClass(CircuitBreaker.class) - @ConditionalOnProperty(value = "feign.circuitbreaker.enabled", havingValue = "true") + @ConditionalOnProperty(value = "spring.cloud.openfeign.circuitbreaker.enabled", havingValue = "true") protected static class CircuitBreakerPresentFeignTargeterConfiguration { @Bean @@ -173,7 +173,7 @@ public class FeignAutoConfiguration { @ConditionalOnMissingBean @ConditionalOnBean(CircuitBreakerFactory.class) public Targeter circuitBreakerFeignTargeter(CircuitBreakerFactory circuitBreakerFactory, - @Value("${feign.circuitbreaker.group.enabled:false}") boolean circuitBreakerGroupEnabled, + @Value("${spring.cloud.openfeign.circuitbreaker.group.enabled:false}") boolean circuitBreakerGroupEnabled, CircuitBreakerNameResolver circuitBreakerNameResolver) { return new FeignCircuitBreakerTargeter(circuitBreakerFactory, circuitBreakerGroupEnabled, circuitBreakerNameResolver); @@ -197,7 +197,7 @@ public class FeignAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnClass(ApacheHttpClient.class) @ConditionalOnMissingBean(CloseableHttpClient.class) - @ConditionalOnProperty(value = "feign.httpclient.enabled", matchIfMissing = true) + @ConditionalOnProperty(value = "spring.cloud.openfeign.httpclient.enabled", matchIfMissing = true) @Conditional(HttpClient5DisabledConditions.class) protected static class HttpClientFeignConfiguration { @@ -265,7 +265,7 @@ public class FeignAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnClass(OkHttpClient.class) @ConditionalOnMissingBean(okhttp3.OkHttpClient.class) - @ConditionalOnProperty("feign.okhttp.enabled") + @ConditionalOnProperty("spring.cloud.openfeign.okhttp.enabled") protected static class OkHttpFeignConfiguration { private okhttp3.OkHttpClient okHttpClient; @@ -312,7 +312,7 @@ public class FeignAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnClass(ApacheHttp5Client.class) @ConditionalOnMissingBean(org.apache.hc.client5.http.impl.classic.CloseableHttpClient.class) - @ConditionalOnProperty(value = "feign.httpclient.hc5.enabled", havingValue = "true") + @ConditionalOnProperty(value = "spring.cloud.openfeign.httpclient.hc5.enabled", havingValue = "true") @Import(org.springframework.cloud.openfeign.clientconfig.HttpClient5FeignConfiguration.class) protected static class HttpClient5FeignConfiguration { @@ -326,12 +326,12 @@ public class FeignAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnClass(OAuth2ClientContext.class) - @ConditionalOnProperty("feign.oauth2.enabled") + @ConditionalOnProperty("spring.cloud.openfeign.oauth2.enabled") protected static class Oauth2FeignConfiguration { @ConditionalOnBean({ RetryLoadBalancerInterceptor.class, OAuth2ClientContext.class, OAuth2ProtectedResourceDetails.class }) - @ConditionalOnProperty(value = "feign.oauth2.load-balanced", havingValue = "true") + @ConditionalOnProperty(value = "spring.cloud.openfeign.oauth2.load-balanced", havingValue = "true") @Bean public OAuth2FeignRequestInterceptorConfigurer retryLoadBalancerInterceptorInjectingConfigurer( final RetryLoadBalancerInterceptor loadBalancerInterceptor) { @@ -340,7 +340,7 @@ public class FeignAutoConfiguration { @ConditionalOnBean({ LoadBalancerInterceptor.class, OAuth2ClientContext.class, OAuth2ProtectedResourceDetails.class }) - @ConditionalOnProperty(value = "feign.oauth2.load-balanced", havingValue = "true") + @ConditionalOnProperty(value = "spring.cloud.openfeign.oauth2.load-balanced", havingValue = "true") @Bean public OAuth2FeignRequestInterceptorConfigurer loadBalancerInterceptorInjectingConfigurer( final LoadBalancerInterceptor loadBalancerInterceptor) { diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignCircuitBreakerDisabledConditions.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignCircuitBreakerDisabledConditions.java index e0009d81..a3997d52 100644 --- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignCircuitBreakerDisabledConditions.java +++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignCircuitBreakerDisabledConditions.java @@ -31,7 +31,8 @@ class FeignCircuitBreakerDisabledConditions extends AnyNestedCondition { } - @ConditionalOnProperty(value = "feign.circuitbreaker.enabled", havingValue = "false", matchIfMissing = true) + @ConditionalOnProperty(value = "spring.cloud.openfeign.circuitbreaker.enabled", havingValue = "false", + matchIfMissing = true) static class CircuitBreakerDisabled { } diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientMetricsEnabledCondition.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientMetricsEnabledCondition.java index 57f960e3..d76a8ac6 100644 --- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientMetricsEnabledCondition.java +++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientMetricsEnabledCondition.java @@ -36,7 +36,7 @@ class FeignClientMetricsEnabledCondition implements Condition { .getConfig(); if (feignClientConfigMap != null) { FeignClientProperties.FeignClientConfiguration feignClientConfig = feignClientConfigMap - .get(context.getEnvironment().getProperty("feign.client.name")); + .get(context.getEnvironment().getProperty("spring.cloud.openfeign.client.name")); if (feignClientConfig != null) { FeignClientProperties.MetricsProperties metrics = feignClientConfig.getMetrics(); if (metrics != null && metrics.getEnabled() != null) { diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientProperties.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientProperties.java index c9670148..09184acd 100644 --- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientProperties.java +++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientProperties.java @@ -43,7 +43,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; * @author Olga Maciaszek-Sharma * @author Hyeonmin Park */ -@ConfigurationProperties("feign.client") +@ConfigurationProperties("spring.cloud.openfeign.client") public class FeignClientProperties { private boolean defaultToProperties = true; diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientsConfiguration.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientsConfiguration.java index 5357421d..6dfebdfb 100644 --- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientsConfiguration.java +++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientsConfiguration.java @@ -214,7 +214,7 @@ public class FeignClientsConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnClass(CircuitBreaker.class) - @ConditionalOnProperty("feign.circuitbreaker.enabled") + @ConditionalOnProperty("spring.cloud.openfeign.circuitbreaker.enabled") protected static class CircuitBreakerPresentFeignBuilderConfiguration { @Bean @@ -237,7 +237,7 @@ public class FeignClientsConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnBean(type = "io.micrometer.core.instrument.MeterRegistry") @ConditionalOnClass(name = "feign.micrometer.MicrometerCapability") - @ConditionalOnProperty(name = "feign.metrics.enabled", matchIfMissing = true) + @ConditionalOnProperty(name = "spring.cloud.openfeign.metrics.enabled", matchIfMissing = true) @Conditional(FeignClientMetricsEnabledCondition.class) protected static class MetricsConfiguration { diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientsRegistrar.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientsRegistrar.java index 4fe4b8d8..8c2fda6b 100644 --- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientsRegistrar.java +++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientsRegistrar.java @@ -440,7 +440,7 @@ class FeignClientsRegistrar implements ImportBeanDefinitionRegistrar, ResourceLo } private boolean isClientRefreshEnabled() { - return environment.getProperty("feign.client.refresh-enabled", Boolean.class, false); + return environment.getProperty("spring.cloud.openfeign.client.refresh-enabled", Boolean.class, false); } } diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignContext.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignContext.java index decb6fdb..39bdef32 100644 --- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignContext.java +++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignContext.java @@ -35,7 +35,7 @@ import org.springframework.lang.Nullable; public class FeignContext extends NamedContextFactory { public FeignContext() { - super(FeignClientsConfiguration.class, "feign", "feign.client.name"); + super(FeignClientsConfiguration.class, "spring.cloud.openfeign", "spring.cloud.openfeign.client.name"); } @Nullable diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/HttpClient5DisabledConditions.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/HttpClient5DisabledConditions.java index a2fb9e99..b6102cbe 100644 --- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/HttpClient5DisabledConditions.java +++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/HttpClient5DisabledConditions.java @@ -34,7 +34,8 @@ public class HttpClient5DisabledConditions extends AnyNestedCondition { } - @ConditionalOnProperty(value = "feign.httpclient.hc5.enabled", havingValue = "false", matchIfMissing = true) + @ConditionalOnProperty(value = "spring.cloud.openfeign.httpclient.hc5.enabled", havingValue = "false", + matchIfMissing = true) static class HttpClient5Disabled { } diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/clientconfig/HttpClientFeignConfiguration.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/clientconfig/HttpClientFeignConfiguration.java index 394eb97c..2a99538c 100644 --- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/clientconfig/HttpClientFeignConfiguration.java +++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/clientconfig/HttpClientFeignConfiguration.java @@ -79,7 +79,7 @@ public class HttpClientFeignConfiguration { } @Bean - @ConditionalOnProperty(value = "feign.compression.response.enabled", havingValue = "true") + @ConditionalOnProperty(value = "spring.cloud.openfeign.compression.response.enabled", havingValue = "true") public CloseableHttpClient customHttpClient(HttpClientConnectionManager httpClientConnectionManager, FeignHttpClientProperties httpClientProperties) { HttpClientBuilder builder = HttpClientBuilder.create().disableCookieManagement().useSystemProperties(); @@ -88,7 +88,8 @@ public class HttpClientFeignConfiguration { } @Bean - @ConditionalOnProperty(value = "feign.compression.response.enabled", havingValue = "false", matchIfMissing = true) + @ConditionalOnProperty(value = "spring.cloud.openfeign.compression.response.enabled", havingValue = "false", + matchIfMissing = true) public CloseableHttpClient httpClient(ApacheHttpClientFactory httpClientFactory, HttpClientConnectionManager httpClientConnectionManager, FeignHttpClientProperties httpClientProperties) { this.httpClient = createClient(httpClientFactory.createBuilder(), httpClientConnectionManager, diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/encoding/FeignAcceptGzipEncodingAutoConfiguration.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/encoding/FeignAcceptGzipEncodingAutoConfiguration.java index 665ed107..c8d0721e 100644 --- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/encoding/FeignAcceptGzipEncodingAutoConfiguration.java +++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/encoding/FeignAcceptGzipEncodingAutoConfiguration.java @@ -39,7 +39,7 @@ import org.springframework.context.annotation.Configuration; @EnableConfigurationProperties(FeignClientEncodingProperties.class) @ConditionalOnClass(Feign.class) @ConditionalOnBean(Client.class) -@ConditionalOnProperty(value = "feign.compression.response.enabled", matchIfMissing = false) +@ConditionalOnProperty(value = "spring.cloud.openfeign.compression.response.enabled", matchIfMissing = false) // The OK HTTP client uses "transparent" compression. // If the accept-encoding header is present it disable transparent compression @ConditionalOnMissingBean(type = "okhttp3.OkHttpClient") diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/encoding/FeignClientEncodingProperties.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/encoding/FeignClientEncodingProperties.java index f6cc4103..8ad77c70 100644 --- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/encoding/FeignClientEncodingProperties.java +++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/encoding/FeignClientEncodingProperties.java @@ -26,7 +26,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; * * @author Jakub Narloch */ -@ConfigurationProperties("feign.compression.request") +@ConfigurationProperties("spring.cloud.openfeign.compression.request") public class FeignClientEncodingProperties { /** diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/encoding/FeignContentGzipEncodingAutoConfiguration.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/encoding/FeignContentGzipEncodingAutoConfiguration.java index 2c7ddf33..f3b4f16b 100644 --- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/encoding/FeignContentGzipEncodingAutoConfiguration.java +++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/encoding/FeignContentGzipEncodingAutoConfiguration.java @@ -39,7 +39,7 @@ import org.springframework.context.annotation.Configuration; // The OK HTTP client uses "transparent" compression. // If the content-encoding header is present it disable transparent compression @ConditionalOnMissingBean(type = "okhttp3.OkHttpClient") -@ConditionalOnProperty("feign.compression.request.enabled") +@ConditionalOnProperty("spring.cloud.openfeign.compression.request.enabled") @AutoConfigureAfter(FeignAutoConfiguration.class) public class FeignContentGzipEncodingAutoConfiguration { diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/loadbalancer/HttpClient5FeignLoadBalancerConfiguration.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/loadbalancer/HttpClient5FeignLoadBalancerConfiguration.java index db9656cc..3cd32c17 100644 --- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/loadbalancer/HttpClient5FeignLoadBalancerConfiguration.java +++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/loadbalancer/HttpClient5FeignLoadBalancerConfiguration.java @@ -44,7 +44,7 @@ import org.springframework.context.annotation.Import; @Configuration(proxyBeanMethods = false) @ConditionalOnClass(ApacheHttp5Client.class) @ConditionalOnBean({ LoadBalancerClient.class, LoadBalancerClientFactory.class }) -@ConditionalOnProperty(value = "feign.httpclient.hc5.enabled", havingValue = "true") +@ConditionalOnProperty(value = "spring.cloud.openfeign.httpclient.hc5.enabled", havingValue = "true") @Import(HttpClient5FeignConfiguration.class) @EnableConfigurationProperties(LoadBalancerClientsProperties.class) class HttpClient5FeignLoadBalancerConfiguration { diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/loadbalancer/HttpClientFeignLoadBalancerConfiguration.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/loadbalancer/HttpClientFeignLoadBalancerConfiguration.java index b4400a53..e7143f72 100644 --- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/loadbalancer/HttpClientFeignLoadBalancerConfiguration.java +++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/loadbalancer/HttpClientFeignLoadBalancerConfiguration.java @@ -47,7 +47,7 @@ import org.springframework.context.annotation.Import; @Configuration(proxyBeanMethods = false) @ConditionalOnClass(ApacheHttpClient.class) @ConditionalOnBean({ LoadBalancerClient.class, LoadBalancerClientFactory.class }) -@ConditionalOnProperty(value = "feign.httpclient.enabled", matchIfMissing = true) +@ConditionalOnProperty(value = "spring.cloud.openfeign.httpclient.enabled", matchIfMissing = true) @Conditional(HttpClient5DisabledConditions.class) @Import(HttpClientFeignConfiguration.class) @EnableConfigurationProperties(LoadBalancerClientsProperties.class) diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/loadbalancer/OkHttpFeignLoadBalancerConfiguration.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/loadbalancer/OkHttpFeignLoadBalancerConfiguration.java index f99941ae..9cb28ee0 100644 --- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/loadbalancer/OkHttpFeignLoadBalancerConfiguration.java +++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/loadbalancer/OkHttpFeignLoadBalancerConfiguration.java @@ -43,7 +43,7 @@ import org.springframework.context.annotation.Import; */ @Configuration(proxyBeanMethods = false) @ConditionalOnClass(OkHttpClient.class) -@ConditionalOnProperty("feign.okhttp.enabled") +@ConditionalOnProperty("spring.cloud.openfeign.okhttp.enabled") @ConditionalOnBean({ LoadBalancerClient.class, LoadBalancerClientFactory.class }) @Import(OkHttpFeignConfiguration.class) @EnableConfigurationProperties(LoadBalancerClientsProperties.class) diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/support/FeignEncoderProperties.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/support/FeignEncoderProperties.java index 0dde522c..692002bc 100644 --- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/support/FeignEncoderProperties.java +++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/support/FeignEncoderProperties.java @@ -24,7 +24,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; * @author Olga Maciaszek-Sharma * @since 2.2.8 */ -@ConfigurationProperties("feign.encoder") +@ConfigurationProperties("spring.cloud.openfeign.encoder") public class FeignEncoderProperties { /** diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/support/FeignHttpClientProperties.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/support/FeignHttpClientProperties.java index 2e63e54a..98e273eb 100644 --- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/support/FeignHttpClientProperties.java +++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/support/FeignHttpClientProperties.java @@ -28,7 +28,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; * @author Nguyen Ky Thanh * @author Olga Maciaszek-Sharma */ -@ConfigurationProperties(prefix = "feign.httpclient") +@ConfigurationProperties(prefix = "spring.cloud.openfeign.httpclient") public class FeignHttpClientProperties { /** diff --git a/spring-cloud-openfeign-core/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-openfeign-core/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 90a96468..eca856df 100644 --- a/spring-cloud-openfeign-core/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/spring-cloud-openfeign-core/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -3,73 +3,73 @@ ], "properties": [ { - "name": "feign.autoconfiguration.jackson.enabled", + "name": "spring.cloud.openfeign.autoconfiguration.jackson.enabled", "type": "java.lang.Boolean", "description": "If true, PageJacksonModule and SortJacksonModule bean will be provided for Jackson page decoding.", "defaultValue": "false" }, { - "name": "feign.circuitbreaker.enabled", + "name": "spring.cloud.openfeign.circuitbreaker.enabled", "type": "java.lang.Boolean", "description": "If true, an OpenFeign client will be wrapped with a Spring Cloud CircuitBreaker circuit breaker.", "defaultValue": "false" }, { - "name": "feign.circuitbreaker.group.enabled", + "name": "spring.cloud.openfeign.circuitbreaker.group.enabled", "type": "java.lang.Boolean", "description": "If true, an OpenFeign client will be wrapped with a Spring Cloud CircuitBreaker circuit breaker with with group.", "defaultValue": "false" }, { - "name": "feign.httpclient.enabled", + "name": "spring.cloud.openfeign.httpclient.enabled", "type": "java.lang.Boolean", "description": "Enables the use of the Apache HTTP Client by Feign.", "defaultValue": "true" }, { - "name": "feign.httpclient.hc5.enabled", + "name": "spring.cloud.openfeign.httpclient.hc5.enabled", "type": "java.lang.Boolean", "description": "Enables the use of the Apache HTTP Client 5 by Feign.", "defaultValue": "false" }, { - "name": "feign.okhttp.enabled", + "name": "spring.cloud.openfeign.okhttp.enabled", "type": "java.lang.Boolean", "description": "Enables the use of the OK HTTP Client by Feign.", "defaultValue": "false" }, { - "name": "feign.compression.response.enabled", + "name": "spring.cloud.openfeign.compression.response.enabled", "type": "java.lang.Boolean", "description": "Enables the response from Feign to be compressed.", "defaultValue": "false" }, { - "name": "feign.compression.request.enabled", + "name": "spring.cloud.openfeign.compression.request.enabled", "type": "java.lang.Boolean", "description": "Enables the request sent by Feign to be compressed.", "defaultValue": "false" }, { - "name": "feign.metrics.enabled", + "name": "spring.cloud.openfeign.metrics.enabled", "type": "java.lang.Boolean", "description": "Enables metrics capability for Feign.", "defaultValue": "true" }, { - "name": "feign.client.refresh-enabled", + "name": "spring.cloud.openfeign.client.refresh-enabled", "type": "java.lang.Boolean", "description": "Enables options value refresh capability for Feign.", "defaultValue": "false" }, { - "name": "feign.oauth2.enabled", + "name": "spring.cloud.openfeign.oauth2.enabled", "type": "java.lang.Boolean", "description": "Enables feign interceptor for managing oauth2 access token.", "defaultValue": "false" }, { - "name": "feign.oauth2.load-balanced", + "name": "spring.cloud.openfeign.oauth2.load-balanced", "type": "java.lang.Boolean", "description": "Enables load balancing for oauth2 access token provider.", "defaultValue": "false" diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/EnableFeignClientsTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/EnableFeignClientsTests.java index 91c36759..b6f2ad4d 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/EnableFeignClientsTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/EnableFeignClientsTests.java @@ -47,7 +47,7 @@ class EnableFeignClientsTests { @BeforeEach void setUp() { context = new SpringApplicationBuilder().web(WebApplicationType.NONE) - .properties("debug=true", "feign.httpclient.enabled=false") + .properties("debug=true", "spring.cloud.openfeign.httpclient.enabled=false") .sources(EnableFeignClientsTests.PlainConfiguration.class).run(); } diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignAutoConfigurationTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignAutoConfigurationTests.java index b906ff55..a9498c51 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignAutoConfigurationTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignAutoConfigurationTests.java @@ -51,18 +51,18 @@ class FeignAutoConfigurationTests { private final ApplicationContextRunner runner = new ApplicationContextRunner() .withConfiguration(AutoConfigurations.of(FeignAutoConfiguration.class)) - .withPropertyValues("feign.httpclient.enabled=false"); + .withPropertyValues("spring.cloud.openfeign.httpclient.enabled=false"); @Test void shouldInstantiateDefaultTargeterWhenFeignCircuitBreakerIsDisabled() { - runner.withPropertyValues("feign.circuitbreaker.enabled=false") + runner.withPropertyValues("spring.cloud.openfeign.circuitbreaker.enabled=false") .run(ctx -> assertOnlyOneTargeterPresent(ctx, DefaultTargeter.class)); } @Test void shouldInstantiateFeignCircuitBreakerTargeterWhenEnabled() { runner.withBean(CircuitBreakerFactory.class, () -> mock(CircuitBreakerFactory.class)) - .withPropertyValues("feign.circuitbreaker.enabled=true").run(ctx -> { + .withPropertyValues("spring.cloud.openfeign.circuitbreaker.enabled=true").run(ctx -> { assertOnlyOneTargeterPresent(ctx, FeignCircuitBreakerTargeter.class); assertThatFeignCircuitBreakerTargeterHasGroupEnabledPropertyWithValue(ctx, false); assertThatFeignCircuitBreakerTargeterHasSameCircuitBreakerNameResolver(ctx, @@ -73,8 +73,8 @@ class FeignAutoConfigurationTests { @Test void shouldInstantiateFeignCircuitBreakerTargeterWithEnabledGroup() { runner.withBean(CircuitBreakerFactory.class, () -> mock(CircuitBreakerFactory.class)) - .withPropertyValues("feign.circuitbreaker.enabled=true") - .withPropertyValues("feign.circuitbreaker.group.enabled=true").run(ctx -> { + .withPropertyValues("spring.cloud.openfeign.circuitbreaker.enabled=true") + .withPropertyValues("spring.cloud.openfeign.circuitbreaker.group.enabled=true").run(ctx -> { assertOnlyOneTargeterPresent(ctx, FeignCircuitBreakerTargeter.class); assertThatFeignCircuitBreakerTargeterHasGroupEnabledPropertyWithValue(ctx, true); }); @@ -84,7 +84,7 @@ class FeignAutoConfigurationTests { void shouldInstantiateFeignCircuitBreakerTargeterWhenEnabledWithCustomCircuitBreakerNameResolver() { runner.withBean(CircuitBreakerFactory.class, () -> mock(CircuitBreakerFactory.class)) .withBean(CircuitBreakerNameResolver.class, CustomCircuitBreakerNameResolver::new) - .withPropertyValues("feign.circuitbreaker.enabled=true").run(ctx -> { + .withPropertyValues("spring.cloud.openfeign.circuitbreaker.enabled=true").run(ctx -> { assertOnlyOneTargeterPresent(ctx, FeignCircuitBreakerTargeter.class); assertThatFeignCircuitBreakerTargeterHasSameCircuitBreakerNameResolver(ctx, CustomCircuitBreakerNameResolver.class); @@ -93,8 +93,8 @@ class FeignAutoConfigurationTests { @Test void shouldInstantiateFeignOAuth2FeignRequestInterceptorWithoutInterceptors() { - runner.withPropertyValues("feign.oauth2.enabled=true").withBean(MockOAuth2ClientContext.class, "token") - .withBean(BaseOAuth2ProtectedResourceDetails.class) + runner.withPropertyValues("spring.cloud.openfeign.oauth2.enabled=true") + .withBean(MockOAuth2ClientContext.class, "token").withBean(BaseOAuth2ProtectedResourceDetails.class) .withBean(LoadBalancerInterceptor.class, () -> mock(LoadBalancerInterceptor.class)).run(ctx -> { assertOauth2FeignRequestInterceptorExists(ctx); assertAccessTokenProviderInterceptorNotExists(ctx, LoadBalancerInterceptor.class); @@ -103,8 +103,9 @@ class FeignAutoConfigurationTests { @Test void shouldInstantiateFeignOAuth2FeignRequestInterceptorWithLoadBalancedInterceptor() { - runner.withPropertyValues("feign.oauth2.enabled=true", "feign.oauth2.load-balanced=true") - .withBean(MockOAuth2ClientContext.class, "token").withBean(BaseOAuth2ProtectedResourceDetails.class) + runner.withPropertyValues("spring.cloud.openfeign.oauth2.enabled=true", + "spring.cloud.openfeign.oauth2.load-balanced=true").withBean(MockOAuth2ClientContext.class, "token") + .withBean(BaseOAuth2ProtectedResourceDetails.class) .withBean(LoadBalancerInterceptor.class, () -> mock(LoadBalancerInterceptor.class)).run(ctx -> { assertOauth2FeignRequestInterceptorExists(ctx); assertAccessTokenProviderInterceptorExists(ctx, LoadBalancerInterceptor.class); @@ -113,9 +114,9 @@ class FeignAutoConfigurationTests { @Test void shouldInstantiateFeignOAuth2FeignRequestInterceptorWithoutLoadBalancedInterceptorIfNoBeanPresent() { - runner.withPropertyValues("feign.oauth2.enabled=true", "feign.oauth2.load-balanced=true") - .withBean(MockOAuth2ClientContext.class, "token").withBean(BaseOAuth2ProtectedResourceDetails.class) - .run(ctx -> { + runner.withPropertyValues("spring.cloud.openfeign.oauth2.enabled=true", + "spring.cloud.openfeign.oauth2.load-balanced=true").withBean(MockOAuth2ClientContext.class, "token") + .withBean(BaseOAuth2ProtectedResourceDetails.class).run(ctx -> { assertOauth2FeignRequestInterceptorExists(ctx); assertAccessTokenProviderInterceptorNotExists(ctx, LoadBalancerInterceptor.class); }); @@ -123,8 +124,8 @@ class FeignAutoConfigurationTests { @Test void shouldInstantiateFeignOAuth2FeignRequestInterceptorWithCustomAccessTokenProviderInterceptor() { - runner.withPropertyValues("feign.oauth2.enabled=true").withBean(MockOAuth2ClientContext.class, "token") - .withBean(BaseOAuth2ProtectedResourceDetails.class) + runner.withPropertyValues("spring.cloud.openfeign.oauth2.enabled=true") + .withBean(MockOAuth2ClientContext.class, "token").withBean(BaseOAuth2ProtectedResourceDetails.class) .withBean(CustomOAuth2FeignRequestInterceptorConfigurer.class).run(ctx -> { assertOauth2FeignRequestInterceptorExists(ctx); assertAccessTokenProviderInterceptorExists(ctx, BasicAuthenticationInterceptor.class); diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientMetricsEnabledConditionTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientMetricsEnabledConditionTests.java index a9e6463c..93eb6d80 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientMetricsEnabledConditionTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientMetricsEnabledConditionTests.java @@ -79,7 +79,7 @@ class FeignClientMetricsEnabledConditionTests { when(beanProvider.getIfAvailable()).thenReturn(null); assertThat(condition.matches(context, metadata)).isTrue(); - verify(environment, never()).getProperty("feign.client.name"); + verify(environment, never()).getProperty("spring.cloud.openfeign.client.name"); } @Test @@ -89,7 +89,7 @@ class FeignClientMetricsEnabledConditionTests { when(feignClientProperties.getConfig()).thenReturn(null); assertThat(condition.matches(context, metadata)).isTrue(); - verify(environment, never()).getProperty("feign.client.name"); + verify(environment, never()).getProperty("spring.cloud.openfeign.client.name"); } @Test @@ -97,11 +97,11 @@ class FeignClientMetricsEnabledConditionTests { FeignClientProperties feignClientProperties = mock(FeignClientProperties.class); when(beanProvider.getIfAvailable()).thenReturn(feignClientProperties); when(context.getEnvironment()).thenReturn(environment); - when(environment.getProperty("feign.client.name")).thenReturn("foo"); + when(environment.getProperty("spring.cloud.openfeign.client.name")).thenReturn("foo"); when(feignClientProperties.getConfig()).thenReturn(new HashMap<>()); assertThat(condition.matches(context, metadata)).isTrue(); - verify(environment).getProperty("feign.client.name"); + verify(environment).getProperty("spring.cloud.openfeign.client.name"); } @Test @@ -109,11 +109,11 @@ class FeignClientMetricsEnabledConditionTests { FeignClientProperties feignClientProperties = mock(FeignClientProperties.class); when(beanProvider.getIfAvailable()).thenReturn(feignClientProperties); when(context.getEnvironment()).thenReturn(environment); - when(environment.getProperty("feign.client.name")).thenReturn(null); + when(environment.getProperty("spring.cloud.openfeign.client.name")).thenReturn(null); when(feignClientProperties.getConfig()).thenReturn(new HashMap<>()); assertThat(condition.matches(context, metadata)).isTrue(); - verify(environment).getProperty("feign.client.name"); + verify(environment).getProperty("spring.cloud.openfeign.client.name"); } @Test @@ -121,12 +121,12 @@ class FeignClientMetricsEnabledConditionTests { FeignClientProperties feignClientProperties = mock(FeignClientProperties.class); when(beanProvider.getIfAvailable()).thenReturn(feignClientProperties); when(context.getEnvironment()).thenReturn(environment); - when(environment.getProperty("feign.client.name")).thenReturn(""); + when(environment.getProperty("spring.cloud.openfeign.client.name")).thenReturn(""); when(feignClientProperties.getConfig()).thenReturn(new HashMap<>()); assertThat(condition.matches(context, metadata)).isTrue(); - verify(environment).getProperty("feign.client.name"); + verify(environment).getProperty("spring.cloud.openfeign.client.name"); } @Test @@ -134,11 +134,11 @@ class FeignClientMetricsEnabledConditionTests { FeignClientProperties feignClientProperties = mock(FeignClientProperties.class); when(beanProvider.getIfAvailable()).thenReturn(feignClientProperties); when(context.getEnvironment()).thenReturn(environment); - when(environment.getProperty("feign.client.name")).thenReturn("foo"); + when(environment.getProperty("spring.cloud.openfeign.client.name")).thenReturn("foo"); when(feignClientProperties.getConfig()).thenReturn(Maps.newHashMap("foo", null)); assertThat(condition.matches(context, metadata)).isTrue(); - verify(environment).getProperty("feign.client.name"); + verify(environment).getProperty("spring.cloud.openfeign.client.name"); } @Test @@ -148,12 +148,12 @@ class FeignClientMetricsEnabledConditionTests { FeignClientProperties.FeignClientConfiguration.class); when(beanProvider.getIfAvailable()).thenReturn(feignClientProperties); when(context.getEnvironment()).thenReturn(environment); - when(environment.getProperty("feign.client.name")).thenReturn("foo"); + when(environment.getProperty("spring.cloud.openfeign.client.name")).thenReturn("foo"); when(feignClientProperties.getConfig()).thenReturn(Maps.newHashMap("foo", feignClientConfig)); when(feignClientConfig.getMetrics()).thenReturn(null); assertThat(condition.matches(context, metadata)).isTrue(); - verify(environment).getProperty("feign.client.name"); + verify(environment).getProperty("spring.cloud.openfeign.client.name"); } @Test @@ -163,12 +163,12 @@ class FeignClientMetricsEnabledConditionTests { FeignClientProperties.FeignClientConfiguration.class); when(beanProvider.getIfAvailable()).thenReturn(feignClientProperties); when(context.getEnvironment()).thenReturn(environment); - when(environment.getProperty("feign.client.name")).thenReturn("foo"); + when(environment.getProperty("spring.cloud.openfeign.client.name")).thenReturn("foo"); when(feignClientProperties.getConfig()).thenReturn(Maps.newHashMap("foo", feignClientConfig)); when(feignClientConfig.getMetrics()).thenReturn(new FeignClientProperties.MetricsProperties()); assertThat(condition.matches(context, metadata)).isTrue(); - verify(environment).getProperty("feign.client.name"); + verify(environment).getProperty("spring.cloud.openfeign.client.name"); } @Test @@ -178,14 +178,14 @@ class FeignClientMetricsEnabledConditionTests { FeignClientProperties.FeignClientConfiguration.class); when(beanProvider.getIfAvailable()).thenReturn(feignClientProperties); when(context.getEnvironment()).thenReturn(environment); - when(environment.getProperty("feign.client.name")).thenReturn("foo"); + when(environment.getProperty("spring.cloud.openfeign.client.name")).thenReturn("foo"); when(feignClientProperties.getConfig()).thenReturn(Maps.newHashMap("foo", feignClientConfig)); FeignClientProperties.MetricsProperties metricsProperties = new FeignClientProperties.MetricsProperties(); metricsProperties.setEnabled(null); when(feignClientConfig.getMetrics()).thenReturn(metricsProperties); assertThat(condition.matches(context, metadata)).isTrue(); - verify(environment).getProperty("feign.client.name"); + verify(environment).getProperty("spring.cloud.openfeign.client.name"); } @Test @@ -195,14 +195,14 @@ class FeignClientMetricsEnabledConditionTests { FeignClientProperties.FeignClientConfiguration.class); when(beanProvider.getIfAvailable()).thenReturn(feignClientProperties); when(context.getEnvironment()).thenReturn(environment); - when(environment.getProperty("feign.client.name")).thenReturn("foo"); + when(environment.getProperty("spring.cloud.openfeign.client.name")).thenReturn("foo"); when(feignClientProperties.getConfig()).thenReturn(Maps.newHashMap("foo", feignClientConfig)); FeignClientProperties.MetricsProperties metricsProperties = new FeignClientProperties.MetricsProperties(); metricsProperties.setEnabled(true); when(feignClientConfig.getMetrics()).thenReturn(metricsProperties); assertThat(condition.matches(context, metadata)).isTrue(); - verify(environment).getProperty("feign.client.name"); + verify(environment).getProperty("spring.cloud.openfeign.client.name"); } @Test @@ -212,14 +212,14 @@ class FeignClientMetricsEnabledConditionTests { FeignClientProperties.FeignClientConfiguration.class); when(beanProvider.getIfAvailable()).thenReturn(feignClientProperties); when(context.getEnvironment()).thenReturn(environment); - when(environment.getProperty("feign.client.name")).thenReturn("foo"); + when(environment.getProperty("spring.cloud.openfeign.client.name")).thenReturn("foo"); when(feignClientProperties.getConfig()).thenReturn(Maps.newHashMap("foo", feignClientConfig)); FeignClientProperties.MetricsProperties metricsProperties = new FeignClientProperties.MetricsProperties(); metricsProperties.setEnabled(false); when(feignClientConfig.getMetrics()).thenReturn(metricsProperties); assertThat(condition.matches(context, metadata)).isFalse(); - verify(environment).getProperty("feign.client.name"); + verify(environment).getProperty("spring.cloud.openfeign.client.name"); } } diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientUsingConfigurerTest.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientUsingConfigurerTest.java index 1f124611..c429930b 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientUsingConfigurerTest.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientUsingConfigurerTest.java @@ -44,9 +44,9 @@ import static org.assertj.core.api.Assertions.assertThat; */ @DirtiesContext @SpringBootTest(classes = FeignClientUsingConfigurerTest.Application.class, value = { - "feign.client.config.default.loggerLevel=full", - "feign.client.config.default.requestInterceptors[0]=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.FooRequestInterceptor", - "feign.client.config.default.requestInterceptors[1]=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.BarRequestInterceptor" }) + "spring.cloud.openfeign.client.config.default.loggerLevel=full", + "spring.cloud.openfeign.client.config.default.requestInterceptors[0]=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.FooRequestInterceptor", + "spring.cloud.openfeign.client.config.default.requestInterceptors[1]=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.BarRequestInterceptor" }) class FeignClientUsingConfigurerTest { private static final String BEAN_NAME_PREFIX = "org.springframework.cloud.openfeign.FeignClientUsingConfigurerTest$"; diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignCompressionTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignCompressionTests.java index 6f862629..9f7278a7 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignCompressionTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignCompressionTests.java @@ -45,8 +45,9 @@ class FeignCompressionTests { @Test void testInterceptors() { new ApplicationContextRunner() - .withPropertyValues("feign.compression.response.enabled=true", "feign.compression.request.enabled=true", - "feign.okhttp.enabled=false") + .withPropertyValues("spring.cloud.openfeign.compression.response.enabled=true", + "spring.cloud.openfeign.compression.request.enabled=true", + "spring.cloud.openfeign.okhttp.enabled=false") .withConfiguration(AutoConfigurations.of(FeignAutoConfiguration.class, FeignContentGzipEncodingAutoConfiguration.class, FeignAcceptGzipEncodingAutoConfiguration.class, HttpClientConfiguration.class, PlainConfig.class)) diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClient5ConfigurationTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClient5ConfigurationTests.java index ff2be8af..50b12053 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClient5ConfigurationTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClient5ConfigurationTests.java @@ -60,7 +60,8 @@ class FeignHttpClient5ConfigurationTests { @Test void verifyHttpClient5AutoConfig() { ConfigurableApplicationContext context = new SpringApplicationBuilder() - .properties("feign.httpclient.hc5.enabled=true", "feign.httpclient.enabled=false") + .properties("spring.cloud.openfeign.httpclient.hc5.enabled=true", + "spring.cloud.openfeign.httpclient.enabled=false") .web(WebApplicationType.NONE).sources(HttpClientConfiguration.class, FeignAutoConfiguration.class) .run(); @@ -74,7 +75,8 @@ class FeignHttpClient5ConfigurationTests { @Test void hc5ShouldWinIfTheBothVersionsAvailable() { ConfigurableApplicationContext context = new SpringApplicationBuilder() - .properties("feign.httpclient.hc5.enabled=true", "feign.httpclient.enabled=true") + .properties("spring.cloud.openfeign.httpclient.hc5.enabled=true", + "spring.cloud.openfeign.httpclient.enabled=true") .web(WebApplicationType.NONE).sources(HttpClientConfiguration.class, FeignAutoConfiguration.class) .run(); @@ -89,7 +91,8 @@ class FeignHttpClient5ConfigurationTests { @Test void hc4ShouldBeTheDefaultIfHc5NotEnabled() { ConfigurableApplicationContext context = new SpringApplicationBuilder() - .properties("feign.httpclient.hc5.enabled=false", "feign.httpclient.enabled=true") + .properties("spring.cloud.openfeign.httpclient.hc5.enabled=false", + "spring.cloud.openfeign.httpclient.enabled=true") .web(WebApplicationType.NONE).sources(HttpClientConfiguration.class, FeignAutoConfiguration.class) .run(); @@ -107,7 +110,7 @@ class FeignHttpClient5ConfigurationTests { @Test void hc4ShouldWinEvenHc5ConfigEnabled() { ConfigurableApplicationContext context = new SpringApplicationBuilder() - .properties("feign.httpclient.hc5.enabled=true").web(WebApplicationType.NONE) + .properties("spring.cloud.openfeign.httpclient.hc5.enabled=true").web(WebApplicationType.NONE) .sources(HttpClientConfiguration.class, FeignAutoConfiguration.class).run(); verifyHc4BeansAvailable(context); diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClientConfigurationTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClientConfigurationTests.java index edf9d5a4..bc3ac0f3 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClientConfigurationTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClientConfigurationTests.java @@ -48,8 +48,9 @@ class FeignHttpClientConfigurationTests { @BeforeEach void setUp() { this.context = new SpringApplicationBuilder() - .properties("debug=true", "feign.httpclient.disableSslValidation=true").web(WebApplicationType.NONE) - .sources(HttpClientConfiguration.class, FeignAutoConfiguration.class).run(); + .properties("debug=true", "spring.cloud.openfeign.httpclient.disableSslValidation=true") + .web(WebApplicationType.NONE).sources(HttpClientConfiguration.class, FeignAutoConfiguration.class) + .run(); } @AfterEach diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClientUrlTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClientUrlTests.java index 53b43fc3..2d8c17d8 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClientUrlTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClientUrlTests.java @@ -48,8 +48,8 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * @author Olga Maciaszek-Sharma */ @SpringBootTest(classes = FeignHttpClientUrlTests.TestConfig.class, webEnvironment = DEFINED_PORT, - value = { "spring.application.name=feignclienturltest", "feign.circuitbreaker.enabled=false", - "feign.okhttp.enabled=false", "spring.cloud.loadbalancer.retry.enabled=false" }) + value = { "spring.application.name=feignclienturltest", "spring.cloud.openfeign.circuitbreaker.enabled=false", + "spring.cloud.openfeign.okhttp.enabled=false", "spring.cloud.loadbalancer.retry.enabled=false" }) @DirtiesContext class FeignHttpClientUrlTests { diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClientUrlTestsWithRetryableLoadBalancer.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClientUrlTestsWithRetryableLoadBalancer.java index a56e1342..ba93f1f5 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClientUrlTestsWithRetryableLoadBalancer.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignHttpClientUrlTestsWithRetryableLoadBalancer.java @@ -49,8 +49,8 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen */ @SpringBootTest(classes = FeignHttpClientUrlTestsWithRetryableLoadBalancer.TestConfig.class, webEnvironment = DEFINED_PORT, - value = { "spring.application.name=feignclienturlwithretryableloadbalancertest", "feign.hystrix.enabled=false", - "feign.okhttp.enabled=false" }) + value = { "spring.application.name=feignclienturlwithretryableloadbalancertest", + "spring.cloud.openfeign.hystrix.enabled=false", "spring.cloud.openfeign.okhttp.enabled=false" }) @DirtiesContext class FeignHttpClientUrlTestsWithRetryableLoadBalancer { diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignOkHttpConfigurationTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignOkHttpConfigurationTests.java index bbfb58cb..7ac2b5f0 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignOkHttpConfigurationTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignOkHttpConfigurationTests.java @@ -44,8 +44,9 @@ class FeignOkHttpConfigurationTests { @BeforeEach void setUp() { this.context = new SpringApplicationBuilder() - .properties("debug=true", "feign.httpclient.disableSslValidation=true", "feign.okhttp.enabled=true", - "feign.httpclient.enabled=false", "feign.httpclient.okhttp.read-timeout=9s") + .properties("debug=true", "spring.cloud.openfeign.httpclient.disableSslValidation=true", + "spring.cloud.openfeign.okhttp.enabled=true", "spring.cloud.openfeign.httpclient.enabled=false", + "spring.cloud.openfeign.httpclient.okhttp.read-timeout=9s") .web(WebApplicationType.NONE).sources(HttpClientConfiguration.class, FeignAutoConfiguration.class) .run(); } diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/GzipDecodingTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/GzipDecodingTests.java index c85b0590..181ff646 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/GzipDecodingTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/GzipDecodingTests.java @@ -41,8 +41,10 @@ import static org.assertj.core.api.Assertions.assertThat; */ @SpringBootTest(classes = GzipDecodingTests.Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, - value = { "spring.application.name=defaultGzipDecoderTests", "feign.compression.response.enabled=true", - "feign.client.config.default.loggerLevel=none", "feign.metrics.enabled=false", + value = { "spring.application.name=defaultGzipDecoderTests", + "spring.cloud.openfeign.compression.response.enabled=true", + "spring.cloud.openfeign.client.config.default.loggerLevel=none", + "spring.cloud.openfeign.metrics.enabled=false", "logging.level.org.springframework.cloud.openfeign=DEBUG" }) @DirtiesContext class GzipDecodingTests extends FeignClientFactoryBean { diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/beans/BeansFeignClientTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/beans/BeansFeignClientTests.java index c5c93697..b66b4e0e 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/beans/BeansFeignClientTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/beans/BeansFeignClientTests.java @@ -52,8 +52,8 @@ import static org.assertj.core.api.Assertions.assertThat; */ @SpringBootTest(classes = BeansFeignClientTests.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { "spring.application.name=feignclienttest", - "logging.level.org.springframework.cloud.openfeign.valid=DEBUG", "feign.httpclient.enabled=false", - "feign.okhttp.enabled=false" }) + "logging.level.org.springframework.cloud.openfeign.valid=DEBUG", + "spring.cloud.openfeign.httpclient.enabled=false", "spring.cloud.openfeign.okhttp.enabled=false" }) @DirtiesContext public class BeansFeignClientTests { diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/circuitbreaker/AsyncCircuitBreakerTest.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/circuitbreaker/AsyncCircuitBreakerTest.java index 4dc9fd18..3f33eb37 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/circuitbreaker/AsyncCircuitBreakerTest.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/circuitbreaker/AsyncCircuitBreakerTest.java @@ -59,7 +59,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. * @author John Niang */ @SpringBootTest(classes = AsyncCircuitBreakerTest.Application.class, webEnvironment = RANDOM_PORT, - properties = "feign.circuitbreaker.enabled=true") + properties = "spring.cloud.openfeign.circuitbreaker.enabled=true") @AutoConfigureMockMvc class AsyncCircuitBreakerTest { diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/circuitbreaker/CircuitBreakerTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/circuitbreaker/CircuitBreakerTests.java index 5d8a0a5e..87676464 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/circuitbreaker/CircuitBreakerTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/circuitbreaker/CircuitBreakerTests.java @@ -53,7 +53,7 @@ import static org.assertj.core.api.Assertions.assertThat; */ @SpringBootTest(classes = CircuitBreakerTests.Application.class, webEnvironment = WebEnvironment.DEFINED_PORT, value = { "spring.application.name=springcircuittest", "spring.jmx.enabled=false", - "feign.circuitbreaker.enabled=true" }) + "spring.cloud.openfeign.circuitbreaker.enabled=true" }) @DirtiesContext class CircuitBreakerTests { diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/circuitbreaker/CircuitBreakerWithNoFallbackTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/circuitbreaker/CircuitBreakerWithNoFallbackTests.java index d77811e2..56dfd2c4 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/circuitbreaker/CircuitBreakerWithNoFallbackTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/circuitbreaker/CircuitBreakerWithNoFallbackTests.java @@ -54,7 +54,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy; @SpringBootTest(classes = CircuitBreakerWithNoFallbackTests.Application.class, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT, value = { "spring.application.name=springcircuittest", "spring.jmx.enabled=false", - "feign.circuitbreaker.enabled=true" }) + "spring.cloud.openfeign.circuitbreaker.enabled=true" }) @DirtiesContext public class CircuitBreakerWithNoFallbackTests { diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignAcceptEncodingTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignAcceptEncodingTests.java index 7e149a25..8813fa77 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignAcceptEncodingTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignAcceptEncodingTests.java @@ -48,7 +48,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * @author Jakub Narloch */ @SpringBootTest(classes = FeignAcceptEncodingTests.Application.class, webEnvironment = RANDOM_PORT, - value = { "feign.compression.response.enabled=true" }) + value = { "spring.cloud.openfeign.compression.response.enabled=true" }) @DirtiesContext class FeignAcceptEncodingTests { diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignContentEncodingTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignContentEncodingTests.java index 7975532f..0429e034 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignContentEncodingTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignContentEncodingTests.java @@ -47,7 +47,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * @author Jakub Narloch */ @SpringBootTest(classes = FeignContentEncodingTests.Application.class, webEnvironment = RANDOM_PORT, - value = { "feign.compression.request.enabled=true" }) + value = { "spring.cloud.openfeign.compression.request.enabled=true" }) class FeignContentEncodingTests { @Autowired diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignPageableEncodingTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignPageableEncodingTests.java index 409f92fb..cd1392c9 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignPageableEncodingTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/encoding/FeignPageableEncodingTests.java @@ -55,7 +55,8 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * @author Hyeonmin Park */ @SpringBootTest(classes = FeignPageableEncodingTests.Application.class, webEnvironment = RANDOM_PORT, - value = { "feign.compression.request.enabled=true", "feign.autoconfiguration.jackson.enabled=true" }) + value = { "spring.cloud.openfeign.compression.request.enabled=true", + "spring.cloud.openfeign.autoconfiguration.jackson.enabled=true" }) class FeignPageableEncodingTests { @Autowired 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 56b5024a..590d8ba6 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 @@ -43,7 +43,7 @@ class FeignLoadBalancerAutoConfigurationTests { @Test void shouldInstantiateDefaultFeignBlockingLoadBalancerClientWhenHttpClientDisabled() { - ConfigurableApplicationContext context = initContext("feign.httpclient.enabled=false", + ConfigurableApplicationContext context = initContext("spring.cloud.openfeign.httpclient.enabled=false", "spring.cloud.loadbalancer.retry.enabled=false"); assertThatOneBeanPresent(context, BlockingLoadBalancerClient.class); assertLoadBalanced(context, Client.Default.class); @@ -58,9 +58,9 @@ class FeignLoadBalancerAutoConfigurationTests { @Test void shouldInstantiateOkHttpFeignClientWhenEnabled() { - ConfigurableApplicationContext context = initContext("feign.httpclient.enabled=false", - "feign.okhttp.enabled=true", "spring.cloud.loadbalancer.retry.enabled=false", - "feign.httpclient.okhttp.read-timeout=9s"); + ConfigurableApplicationContext context = initContext("spring.cloud.openfeign.httpclient.enabled=false", + "spring.cloud.openfeign.okhttp.enabled=true", "spring.cloud.loadbalancer.retry.enabled=false", + "spring.cloud.openfeign.httpclient.okhttp.read-timeout=9s"); assertThatOneBeanPresent(context, BlockingLoadBalancerClient.class); Map beans = context .getBeansOfType(FeignBlockingLoadBalancerClient.class); @@ -75,8 +75,8 @@ class FeignLoadBalancerAutoConfigurationTests { @Test void shouldInstantiateHttpFeignClient5WhenEnabled() { - ConfigurableApplicationContext context = initContext("feign.httpclient.enabled=false", - "feign.okhttp.enabled=false", "feign.httpclient.hc5.enabled=true", + ConfigurableApplicationContext context = initContext("spring.cloud.openfeign.httpclient.enabled=false", + "spring.cloud.openfeign.okhttp.enabled=false", "spring.cloud.openfeign.httpclient.hc5.enabled=true", "spring.cloud.loadbalancer.retry.enabled=false"); assertThatOneBeanPresent(context, BlockingLoadBalancerClient.class); assertLoadBalanced(context, ApacheHttp5Client.class); @@ -84,8 +84,8 @@ class FeignLoadBalancerAutoConfigurationTests { @Test void shouldInstantiateHttpFeignClient5WhenBothHttpClientAndHttpClient5Enabled() { - ConfigurableApplicationContext context = initContext("feign.httpclient.enabled=true", - "feign.okhttp.enabled=false", "feign.httpclient.hc5.enabled=true", + ConfigurableApplicationContext context = initContext("spring.cloud.openfeign.httpclient.enabled=true", + "spring.cloud.openfeign.okhttp.enabled=false", "spring.cloud.openfeign.httpclient.hc5.enabled=true", "spring.cloud.loadbalancer.retry.enabled=false"); assertThatOneBeanPresent(context, BlockingLoadBalancerClient.class); assertLoadBalanced(context, ApacheHttp5Client.class); @@ -93,7 +93,7 @@ class FeignLoadBalancerAutoConfigurationTests { @Test void shouldInstantiateRetryableDefaultFeignBlockingLoadBalancerClientWhenHttpClientDisabled() { - ConfigurableApplicationContext context = initContext("feign.httpclient.enabled=false"); + ConfigurableApplicationContext context = initContext("spring.cloud.openfeign.httpclient.enabled=false"); assertThatOneBeanPresent(context, BlockingLoadBalancerClient.class); assertLoadBalancedWithRetries(context, Client.Default.class); } @@ -107,24 +107,24 @@ class FeignLoadBalancerAutoConfigurationTests { @Test void shouldInstantiateRetryableOkHttpFeignClientWhenEnabled() { - ConfigurableApplicationContext context = initContext("feign.httpclient.enabled=false", - "feign.okhttp.enabled=true"); + ConfigurableApplicationContext context = initContext("spring.cloud.openfeign.httpclient.enabled=false", + "spring.cloud.openfeign.okhttp.enabled=true"); assertThatOneBeanPresent(context, BlockingLoadBalancerClient.class); assertLoadBalancedWithRetries(context, OkHttpClient.class); } @Test void shouldInstantiateRetryableHttpFeignClient5WhenEnabled() { - ConfigurableApplicationContext context = initContext("feign.httpclient.enabled=false", - "feign.okhttp.enabled=false", "feign.httpclient.hc5.enabled=true"); + ConfigurableApplicationContext context = initContext("spring.cloud.openfeign.httpclient.enabled=false", + "spring.cloud.openfeign.okhttp.enabled=false", "spring.cloud.openfeign.httpclient.hc5.enabled=true"); assertThatOneBeanPresent(context, BlockingLoadBalancerClient.class); assertLoadBalancedWithRetries(context, ApacheHttp5Client.class); } @Test void shouldInstantiateRetryableHttpFeignClient5WhenBothHttpClientAndHttpClient5Enabled() { - ConfigurableApplicationContext context = initContext("feign.httpclient.enabled=true", - "feign.okhttp.enabled=false", "feign.httpclient.hc5.enabled=true"); + ConfigurableApplicationContext context = initContext("spring.cloud.openfeign.httpclient.enabled=true", + "spring.cloud.openfeign.okhttp.enabled=false", "spring.cloud.openfeign.httpclient.hc5.enabled=true"); assertThatOneBeanPresent(context, BlockingLoadBalancerClient.class); assertLoadBalancedWithRetries(context, ApacheHttp5Client.class); } diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/security/AccessTokenProviderWithLoadBalancerInterceptorTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/security/AccessTokenProviderWithLoadBalancerInterceptorTests.java index 5637358c..bf9f00f8 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/security/AccessTokenProviderWithLoadBalancerInterceptorTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/security/AccessTokenProviderWithLoadBalancerInterceptorTests.java @@ -43,8 +43,8 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen webEnvironment = RANDOM_PORT, value = { "security.oauth2.client.id=test-service", "security.oauth2.client.client-id=test-service", "security.oauth2.client.client-secret=test-service", - "security.oauth2.client.grant-type=client_credentials", "feign.oauth2.enabled=true", - "feign.oauth2.load-balanced=true" }) + "security.oauth2.client.grant-type=client_credentials", "spring.cloud.openfeign.oauth2.enabled=true", + "spring.cloud.openfeign.oauth2.load-balanced=true" }) @DirtiesContext public class AccessTokenProviderWithLoadBalancerInterceptorTests { diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/security/AccessTokenProviderWithoutLoadBalancerInterceptorTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/security/AccessTokenProviderWithoutLoadBalancerInterceptorTests.java index 83aa9e8e..7f163576 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/security/AccessTokenProviderWithoutLoadBalancerInterceptorTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/security/AccessTokenProviderWithoutLoadBalancerInterceptorTests.java @@ -43,7 +43,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen webEnvironment = RANDOM_PORT, value = { "security.oauth2.client.id=test-service", "security.oauth2.client.client-id=test-service", "security.oauth2.client.client-secret=test-service", - "security.oauth2.client.grant-type=client_credentials", "feign.oauth2.enabled=true" }) + "security.oauth2.client.grant-type=client_credentials", "spring.cloud.openfeign.oauth2.enabled=true" }) @DirtiesContext public class AccessTokenProviderWithoutLoadBalancerInterceptorTests { diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/FeignHttpClientPropertiesTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/FeignHttpClientPropertiesTests.java index 09996864..6fc2f857 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/FeignHttpClientPropertiesTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/FeignHttpClientPropertiesTests.java @@ -71,14 +71,18 @@ class FeignHttpClientPropertiesTests { @Test void testCustomization() { - TestPropertyValues - .of("feign.httpclient.maxConnections=2", "feign.httpclient.connectionTimeout=2", - "feign.httpclient.maxConnectionsPerRoute=2", "feign.httpclient.timeToLive=2", - "feign.httpclient.disableSslValidation=true", "feign.httpclient.followRedirects=false", - "feign.httpclient.disableSslValidation=true", "feign.httpclient.followRedirects=false", - "feign.httpclient.hc5.poolConcurrencyPolicy=lax", "feign.httpclient.hc5.poolReusePolicy=lifo", - "feign.httpclient.hc5.socketTimeout=200", "feign.httpclient.hc5.socketTimeoutUnit=milliseconds") - .applyTo(this.context); + TestPropertyValues.of("spring.cloud.openfeign.httpclient.maxConnections=2", + "spring.cloud.openfeign.httpclient.connectionTimeout=2", + "spring.cloud.openfeign.httpclient.maxConnectionsPerRoute=2", + "spring.cloud.openfeign.httpclient.timeToLive=2", + "spring.cloud.openfeign.httpclient.disableSslValidation=true", + "spring.cloud.openfeign.httpclient.followRedirects=false", + "spring.cloud.openfeign.httpclient.disableSslValidation=true", + "spring.cloud.openfeign.httpclient.followRedirects=false", + "spring.cloud.openfeign.httpclient.hc5.poolConcurrencyPolicy=lax", + "spring.cloud.openfeign.httpclient.hc5.poolReusePolicy=lifo", + "spring.cloud.openfeign.httpclient.hc5.socketTimeout=200", + "spring.cloud.openfeign.httpclient.hc5.socketTimeoutUnit=milliseconds").applyTo(this.context); setupContext(); assertThat(getProperties().getMaxConnections()).isEqualTo(2); assertThat(getProperties().getConnectionTimeout()).isEqualTo(2); diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/SpringMvcContractSlashEncodingIntegrationTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/SpringMvcContractSlashEncodingIntegrationTests.java index 7ae64c82..c35fa3f7 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/SpringMvcContractSlashEncodingIntegrationTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/support/SpringMvcContractSlashEncodingIntegrationTests.java @@ -30,7 +30,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Ram Anaswara */ @SpringBootTest(classes = SpringMvcContractSlashEncodingIntegrationTests.Config.class, - webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT, properties = { "feign.client.decodeSlash=false" }) + webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT, + properties = { "spring.cloud.openfeign.client.decodeSlash=false" }) public class SpringMvcContractSlashEncodingIntegrationTests extends AbstractSpringMvcContractIntegrationTests { @Autowired diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/test/ApacheHttpClientConfigurationTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/test/ApacheHttpClientConfigurationTests.java index 6dcecd2c..762727f1 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/test/ApacheHttpClientConfigurationTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/test/ApacheHttpClientConfigurationTests.java @@ -63,7 +63,8 @@ import static org.mockito.Mockito.mockingDetails; * @author Ryan Baxter * @author Olga Maciaszek-Sharma */ -@SpringBootTest(properties = { "feign.okhttp.enabled: false", "spring.cloud.loadbalancer.retry.enabled=false" }) +@SpringBootTest(properties = { "spring.cloud.openfeign.okhttp.enabled: false", + "spring.cloud.loadbalancer.retry.enabled=false" }) @DirtiesContext class ApacheHttpClientConfigurationTests { diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/test/OkHttpClientConfigurationTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/test/OkHttpClientConfigurationTests.java index 95b8650a..323da1dc 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/test/OkHttpClientConfigurationTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/test/OkHttpClientConfigurationTests.java @@ -46,9 +46,9 @@ import static org.mockito.Mockito.mockingDetails; * @author Ryan Baxter * @author Olga Maciaszek-Sharma */ -@SpringBootTest(properties = { "feign.okhttp.enabled: true", "spring.cloud.httpclientfactories.ok.enabled: true", - "feign.okhttp.enabled: true", "feign.httpclient.enabled: false", - "spring.cloud.loadbalancer.retry.enabled=false" }) +@SpringBootTest(properties = { "spring.cloud.openfeign.okhttp.enabled: true", + "spring.cloud.httpclientfactories.ok.enabled: true", "spring.cloud.openfeign.okhttp.enabled: true", + "spring.cloud.openfeign.httpclient.enabled: false", "spring.cloud.loadbalancer.retry.enabled=false" }) @DirtiesContext class OkHttpClientConfigurationTests { diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignClientNotPrimaryTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignClientNotPrimaryTests.java index 9e751bce..9aca8309 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignClientNotPrimaryTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignClientNotPrimaryTests.java @@ -47,8 +47,8 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen */ @SpringBootTest(classes = FeignClientNotPrimaryTests.Application.class, webEnvironment = RANDOM_PORT, value = { "spring.application.name=feignclientnotprimarytest", - "logging.level.org.springframework.cloud.openfeign.valid=DEBUG", "feign.httpclient.enabled=false", - "feign.okhttp.enabled=false" }) + "logging.level.org.springframework.cloud.openfeign.valid=DEBUG", + "spring.cloud.openfeign.httpclient.enabled=false", "spring.cloud.openfeign.okhttp.enabled=false" }) @DirtiesContext class FeignClientNotPrimaryTests { diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignHttpClientTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignHttpClientTests.java index 06ccfaee..042f08e7 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignHttpClientTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignHttpClientTests.java @@ -55,8 +55,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Olga Maciaszek-Sharma */ @SpringBootTest(classes = FeignHttpClientTests.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, - value = { "spring.application.name=feignclienttest", "feign.circuitbreaker.enabled=false", - "feign.okhttp.enabled=false", "spring.cloud.loadbalancer.retry.enabled=false" }) + value = { "spring.application.name=feignclienttest", "spring.cloud.openfeign.circuitbreaker.enabled=false", + "spring.cloud.openfeign.okhttp.enabled=false", "spring.cloud.loadbalancer.retry.enabled=false" }) @DirtiesContext class FeignHttpClientTests { diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignOkHttpTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignOkHttpTests.java index ac69cec5..d5c745eb 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignOkHttpTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/FeignOkHttpTests.java @@ -54,8 +54,8 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Olga Maciaszek-Sharma */ @SpringBootTest(classes = FeignOkHttpTests.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, - value = { "spring.application.name=feignclienttest", "feign.circuitbreaker.enabled=false", - "feign.httpclient.enabled=false", "feign.okhttp.enabled=true", + value = { "spring.application.name=feignclienttest", "spring.cloud.openfeign.circuitbreaker.enabled=false", + "spring.cloud.openfeign.httpclient.enabled=false", "spring.cloud.openfeign.okhttp.enabled=true", "spring.cloud.httpclientfactories.ok.enabled=true", "spring.cloud.loadbalancer.retry.enabled=false" }) @DirtiesContext class FeignOkHttpTests { diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/IterableParameterTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/IterableParameterTests.java index 6fc9e2e1..00d5a0d3 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/IterableParameterTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/IterableParameterTests.java @@ -47,8 +47,9 @@ import static org.assertj.core.api.Assertions.assertThat; */ @SpringBootTest(classes = IterableParameterTests.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { "spring.application.name=iterableparametertest", - "logging.level.org.springframework.cloud.openfeign.valid=DEBUG", "feign.httpclient.enabled=false", - "feign.okhttp.enabled=false", "feign.circuitbreaker.enabled=false" }) + "logging.level.org.springframework.cloud.openfeign.valid=DEBUG", + "spring.cloud.openfeign.httpclient.enabled=false", "spring.cloud.openfeign.okhttp.enabled=false", + "spring.cloud.openfeign.circuitbreaker.enabled=false" }) @DirtiesContext class IterableParameterTests { diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/ValidFeignClientTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/ValidFeignClientTests.java index c0ba2968..78f8e289 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/ValidFeignClientTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/ValidFeignClientTests.java @@ -98,9 +98,9 @@ import static org.springframework.http.MediaType.TEXT_PLAIN_VALUE; */ @SpringBootTest(classes = ValidFeignClientTests.Application.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = { "spring.application.name=feignclienttest", - "logging.level.org.springframework.cloud.openfeign.valid=DEBUG", "feign.httpclient.enabled=false", - "feign.okhttp.enabled=false", "feign.circuitbreaker.enabled=true", - "spring.cloud.loadbalancer.retry.enabled=false" }) + "logging.level.org.springframework.cloud.openfeign.valid=DEBUG", + "spring.cloud.openfeign.httpclient.enabled=false", "spring.cloud.openfeign.okhttp.enabled=false", + "spring.cloud.openfeign.circuitbreaker.enabled=true", "spring.cloud.loadbalancer.retry.enabled=false" }) @DirtiesContext class ValidFeignClientTests { diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/scanning/FeignClientEnvVarTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/scanning/FeignClientEnvVarTests.java index 3968f3f7..8ac0128a 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/scanning/FeignClientEnvVarTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/scanning/FeignClientEnvVarTests.java @@ -43,7 +43,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * @author Ryan Baxter */ @SpringBootTest(classes = FeignClientEnvVarTests.Application.class, webEnvironment = RANDOM_PORT, - value = { "spring.application.name=feignclienttest", "feign.httpclient.enabled=false", + value = { "spring.application.name=feignclienttest", "spring.cloud.openfeign.httpclient.enabled=false", "basepackage=org.springframework.cloud.openfeign.testclients" }) @DirtiesContext class FeignClientEnvVarTests { diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/scanning/FeignClientScanningTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/scanning/FeignClientScanningTests.java index 1814eb12..bc42c72b 100644 --- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/scanning/FeignClientScanningTests.java +++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/scanning/FeignClientScanningTests.java @@ -45,7 +45,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * @author Spencer Gibb */ @SpringBootTest(classes = FeignClientScanningTests.Application.class, webEnvironment = RANDOM_PORT, - value = { "spring.application.name=feignclienttest", "feign.httpclient.enabled=false" }) + value = { "spring.application.name=feignclienttest", "spring.cloud.openfeign.httpclient.enabled=false" }) @DirtiesContext class FeignClientScanningTests { diff --git a/spring-cloud-openfeign-core/src/test/resources/application.yml b/spring-cloud-openfeign-core/src/test/resources/application.yml index 3172a966..2ad7ebb6 100644 --- a/spring-cloud-openfeign-core/src/test/resources/application.yml +++ b/spring-cloud-openfeign-core/src/test/resources/application.yml @@ -24,8 +24,8 @@ management.endpoints.web.expose: '*' --- spring.config.activate.on-profile: no-metrics -feign.metrics.enabled: false +spring.cloud.openfeign.metrics.enabled: false --- spring.config.activate.on-profile: no-foo-metrics -feign.client.config.foo.metrics.enabled: false +spring.cloud.openfeign.client.config.foo.metrics.enabled: false diff --git a/spring-cloud-openfeign-core/src/test/resources/feign-properties.properties b/spring-cloud-openfeign-core/src/test/resources/feign-properties.properties index 41a18f5d..c287b431 100644 --- a/spring-cloud-openfeign-core/src/test/resources/feign-properties.properties +++ b/spring-cloud-openfeign-core/src/test/resources/feign-properties.properties @@ -1,27 +1,27 @@ # This configuration used by test class FeignClientUsingPropertiesTests logging.level.org.springframework.cloud.openfeign=debug -feign.client.default-to-properties=true -feign.client.default-config=default -feign.client.config.default.connectTimeout=5000 -feign.client.config.default.readTimeout=5000 -feign.client.config.default.loggerLevel=full -feign.client.config.default.errorDecoder=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.DefaultErrorDecoder -feign.client.config.default.retryer=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.NoRetryer -feign.client.config.default.decode404=true -feign.client.config.default.capabilities=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.NoOpCapability -feign.client.config.default.queryMapEncoder=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.NoOpQueryMapEncoder -feign.client.config.foo.requestInterceptors[0]=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.FooRequestInterceptor -feign.client.config.foo.requestInterceptors[1]=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.BarRequestInterceptor -feign.client.config.singleValue.defaultRequestHeaders[singleValueHeaders]=header -feign.client.config.singleValue.defaultQueryParameters[singleValueParameters]=parameter -feign.client.config.multipleValue.defaultRequestHeaders[multipleValueHeaders]=header1,header2 -feign.client.config.multipleValue.defaultQueryParameters[multipleValueParameters]=parameter1,parameter2 -feign.client.config.bar.connectTimeout=1000 -feign.client.config.bar.readTimeout=1000 -feign.client.config.form.encoder=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.FormEncoder -feign.client.config.unwrap.connectTimeout=1000 -feign.client.config.unwrap.readTimeout=1000 -feign.client.config.unwrap.exceptionPropagationPolicy=unwrap -feign.client.config.readTimeout.readTimeout=1000 -feign.client.config.connectTimeout.connectTimeout=1000 -feign.client.config.default.followRedirects=false +spring.cloud.openfeign.client.default-to-properties=true +spring.cloud.openfeign.client.default-config=default +spring.cloud.openfeign.client.config.default.connectTimeout=5000 +spring.cloud.openfeign.client.config.default.readTimeout=5000 +spring.cloud.openfeign.client.config.default.loggerLevel=full +spring.cloud.openfeign.client.config.default.errorDecoder=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.DefaultErrorDecoder +spring.cloud.openfeign.client.config.default.retryer=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.NoRetryer +spring.cloud.openfeign.client.config.default.decode404=true +spring.cloud.openfeign.client.config.default.capabilities=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.NoOpCapability +spring.cloud.openfeign.client.config.default.queryMapEncoder=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.NoOpQueryMapEncoder +spring.cloud.openfeign.client.config.foo.requestInterceptors[0]=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.FooRequestInterceptor +spring.cloud.openfeign.client.config.foo.requestInterceptors[1]=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.BarRequestInterceptor +spring.cloud.openfeign.client.config.singleValue.defaultRequestHeaders[singleValueHeaders]=header +spring.cloud.openfeign.client.config.singleValue.defaultQueryParameters[singleValueParameters]=parameter +spring.cloud.openfeign.client.config.multipleValue.defaultRequestHeaders[multipleValueHeaders]=header1,header2 +spring.cloud.openfeign.client.config.multipleValue.defaultQueryParameters[multipleValueParameters]=parameter1,parameter2 +spring.cloud.openfeign.client.config.bar.connectTimeout=1000 +spring.cloud.openfeign.client.config.bar.readTimeout=1000 +spring.cloud.openfeign.client.config.form.encoder=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.FormEncoder +spring.cloud.openfeign.client.config.unwrap.connectTimeout=1000 +spring.cloud.openfeign.client.config.unwrap.readTimeout=1000 +spring.cloud.openfeign.client.config.unwrap.exceptionPropagationPolicy=unwrap +spring.cloud.openfeign.client.config.readTimeout.readTimeout=1000 +spring.cloud.openfeign.client.config.connectTimeout.connectTimeout=1000 +spring.cloud.openfeign.client.config.default.followRedirects=false diff --git a/spring-cloud-openfeign-core/src/test/resources/feign-refreshable-properties.properties b/spring-cloud-openfeign-core/src/test/resources/feign-refreshable-properties.properties index a3f6bd0e..5c55048e 100644 --- a/spring-cloud-openfeign-core/src/test/resources/feign-refreshable-properties.properties +++ b/spring-cloud-openfeign-core/src/test/resources/feign-refreshable-properties.properties @@ -1,10 +1,10 @@ # This configuration used by test class FeignClientWithRefreshableOptionsTest logging.level.org.springframework.cloud.openfeign=debug -feign.client.default-to-properties=true -feign.client.default-config=default -feign.client.refresh-enabled=true -feign.client.config.default.connectTimeout=5000 -feign.client.config.default.readTimeout=5000 -feign.client.config.default.loggerLevel=full -feign.client.config.connectTimeout.connectTimeout=2000 -feign.client.config.readTimeout.readTimeout=2000 +spring.cloud.openfeign.client.default-to-properties=true +spring.cloud.openfeign.client.default-config=default +spring.cloud.openfeign.client.refresh-enabled=true +spring.cloud.openfeign.client.config.default.connectTimeout=5000 +spring.cloud.openfeign.client.config.default.readTimeout=5000 +spring.cloud.openfeign.client.config.default.loggerLevel=full +spring.cloud.openfeign.client.config.connectTimeout.connectTimeout=2000 +spring.cloud.openfeign.client.config.readTimeout.readTimeout=2000