diff --git a/CHANGELOG.md b/CHANGELOG.md index 6eeea5d38..6e8baca7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,4 @@ # Change Log --- -- [Add metadata transfer example.](https://github.com/Tencent/spring-cloud-tencent/pull/211) -- [feat:merge features from 1.5.x-Hoxton.SR9.](https://github.com/Tencent/spring-cloud-tencent/pull/250) +- [feat:support reading configuration from application.yml or application.properties.](https://github.com/Tencent/spring-cloud-tencent/pull/262) diff --git a/changes/changes-1.5.2.md b/changes/changes-1.5.2.md new file mode 100644 index 000000000..6eeea5d38 --- /dev/null +++ b/changes/changes-1.5.2.md @@ -0,0 +1,5 @@ +# Change Log +--- + +- [Add metadata transfer example.](https://github.com/Tencent/spring-cloud-tencent/pull/211) +- [feat:merge features from 1.5.x-Hoxton.SR9.](https://github.com/Tencent/spring-cloud-tencent/pull/250) diff --git a/pom.xml b/pom.xml index 2a35c583a..2355d9129 100644 --- a/pom.xml +++ b/pom.xml @@ -86,7 +86,7 @@ - 1.5.2-2021.0.2 + 1.6.0-2021.0.2-SNAPSHOT 2021.0.2 diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitConfiguration.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitAutoConfiguration.java similarity index 98% rename from spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitConfiguration.java rename to spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitAutoConfiguration.java index e0d9933b8..01dd591dc 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitConfiguration.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitAutoConfiguration.java @@ -55,7 +55,7 @@ import static javax.servlet.DispatcherType.REQUEST; @ConditionalOnPolarisEnabled @AutoConfigureAfter(PolarisContextAutoConfiguration.class) @ConditionalOnProperty(name = "spring.cloud.polaris.ratelimit.enabled", matchIfMissing = true) -public class PolarisRateLimitConfiguration { +public class PolarisRateLimitAutoConfiguration { @Bean @ConditionalOnMissingBean diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitBootstrapConfiguration.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesAutoConfiguration.java similarity index 51% rename from spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitBootstrapConfiguration.java rename to spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesAutoConfiguration.java index 28389a46f..e00d6f635 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitBootstrapConfiguration.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesAutoConfiguration.java @@ -17,59 +17,26 @@ package com.tencent.cloud.polaris.ratelimit.config; -import com.tencent.cloud.common.constant.ContextConstant; import com.tencent.cloud.polaris.context.ConditionalOnPolarisEnabled; -import com.tencent.cloud.polaris.context.PolarisConfigModifier; -import com.tencent.polaris.factory.config.ConfigurationImpl; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; /** - * Autoconfiguration of rate limit at bootstrap phase. + * Properties auto configuration of rate limit. * * @author Haotian Zhang */ @Configuration(proxyBeanMethods = false) @ConditionalOnPolarisEnabled -@ConditionalOnProperty(name = "spring.cloud.polaris.ratelimit.enabled", matchIfMissing = true) -public class PolarisRateLimitBootstrapConfiguration { - - @Bean - public PolarisRateLimitProperties polarisRateLimitProperties() { - return new PolarisRateLimitProperties(); - } +@Import({PolarisRateLimitProperties.class}) +public class PolarisRateLimitPropertiesAutoConfiguration { @Bean + @ConditionalOnMissingBean public RateLimitConfigModifier rateLimitConfigModifier(PolarisRateLimitProperties polarisRateLimitProperties) { return new RateLimitConfigModifier(polarisRateLimitProperties); } - - /** - * Config modifier for rate limit. - * - * @author Haotian Zhang - */ - public static class RateLimitConfigModifier implements PolarisConfigModifier { - - private PolarisRateLimitProperties polarisRateLimitProperties; - - public RateLimitConfigModifier(PolarisRateLimitProperties polarisRateLimitProperties) { - this.polarisRateLimitProperties = polarisRateLimitProperties; - } - - @Override - public void modify(ConfigurationImpl configuration) { - // Update MaxQueuingTime. - configuration.getProvider().getRateLimit() - .setMaxQueuingTime(polarisRateLimitProperties.getMaxQueuingTime()); - } - - @Override - public int getOrder() { - return ContextConstant.ModifierOrder.CIRCUIT_BREAKER_ORDER; - } - - } } diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesBootstrapConfiguration.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesBootstrapConfiguration.java new file mode 100644 index 000000000..bd11dbe58 --- /dev/null +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesBootstrapConfiguration.java @@ -0,0 +1,34 @@ +/* + * Tencent is pleased to support the open source community by making Spring Cloud Tencent available. + * + * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved. + * + * Licensed under the BSD 3-Clause License (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://opensource.org/licenses/BSD-3-Clause + * + * Unless required by applicable law or agreed to in writing, software distributed + * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + +package com.tencent.cloud.polaris.ratelimit.config; + +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; + +/** + * Autoconfiguration of rate limit at bootstrap phase. + * + * @author Haotian Zhang + */ +@Configuration(proxyBeanMethods = false) +@ConditionalOnProperty("spring.cloud.polaris.enabled") +@Import(PolarisRateLimitPropertiesAutoConfiguration.class) +public class PolarisRateLimitPropertiesBootstrapConfiguration { + +} diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/RateLimitConfigModifier.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/RateLimitConfigModifier.java new file mode 100644 index 000000000..b0c097a68 --- /dev/null +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/RateLimitConfigModifier.java @@ -0,0 +1,49 @@ +/* + * Tencent is pleased to support the open source community by making Spring Cloud Tencent available. + * + * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved. + * + * Licensed under the BSD 3-Clause License (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://opensource.org/licenses/BSD-3-Clause + * + * Unless required by applicable law or agreed to in writing, software distributed + * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + +package com.tencent.cloud.polaris.ratelimit.config; + +import com.tencent.cloud.common.constant.ContextConstant; +import com.tencent.cloud.polaris.context.PolarisConfigModifier; +import com.tencent.polaris.factory.config.ConfigurationImpl; + +/** + * Config modifier for rate limit. + * + * @author Haotian Zhang + */ +public class RateLimitConfigModifier implements PolarisConfigModifier { + + private PolarisRateLimitProperties polarisRateLimitProperties; + + public RateLimitConfigModifier(PolarisRateLimitProperties polarisRateLimitProperties) { + this.polarisRateLimitProperties = polarisRateLimitProperties; + } + + @Override + public void modify(ConfigurationImpl configuration) { + // Update MaxQueuingTime. + configuration.getProvider().getRateLimit() + .setMaxQueuingTime(polarisRateLimitProperties.getMaxQueuingTime()); + } + + @Override + public int getOrder() { + return ContextConstant.ModifierOrder.CIRCUIT_BREAKER_ORDER; + } + +} diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/resources/META-INF/spring.factories b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/resources/META-INF/spring.factories index 4a140ac9a..4abd34766 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/resources/META-INF/spring.factories +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/resources/META-INF/spring.factories @@ -1,4 +1,5 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ - com.tencent.cloud.polaris.ratelimit.config.PolarisRateLimitConfiguration + com.tencent.cloud.polaris.ratelimit.config.PolarisRateLimitAutoConfiguration,\ + com.tencent.cloud.polaris.ratelimit.config.PolarisRateLimitPropertiesAutoConfiguration org.springframework.cloud.bootstrap.BootstrapConfiguration=\ - com.tencent.cloud.polaris.ratelimit.config.PolarisRateLimitBootstrapConfiguration + com.tencent.cloud.polaris.ratelimit.config.PolarisRateLimitPropertiesBootstrapConfiguration diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitConfigurationTest.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitAutoConfigurationTest.java similarity index 80% rename from spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitConfigurationTest.java rename to spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitAutoConfigurationTest.java index 5a03159f1..a531d81a8 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitAutoConfigurationTest.java @@ -33,11 +33,11 @@ import org.springframework.boot.web.servlet.FilterRegistrationBean; import static org.assertj.core.api.Assertions.assertThat; /** - * Test for {@link PolarisRateLimitConfiguration}. + * Test for {@link PolarisRateLimitAutoConfiguration}. * * @author Haotian Zhang */ -public class PolarisRateLimitConfigurationTest { +public class PolarisRateLimitAutoConfigurationTest { private ApplicationContextRunner applicationContextRunner = new ApplicationContextRunner(); @@ -51,14 +51,14 @@ public class PolarisRateLimitConfigurationTest { .withConfiguration(AutoConfigurations.of( PolarisContextAutoConfiguration.class, PolarisRateLimitProperties.class, - PolarisRateLimitConfiguration.class)) + PolarisRateLimitAutoConfiguration.class)) .run(context -> { assertThat(context).hasSingleBean(LimitAPI.class); assertThat(context).hasSingleBean(RateLimitRuleLabelResolver.class); - assertThat(context).doesNotHaveBean(PolarisRateLimitConfiguration.QuotaCheckFilterConfig.class); + assertThat(context).doesNotHaveBean(PolarisRateLimitAutoConfiguration.QuotaCheckFilterConfig.class); assertThat(context).doesNotHaveBean(QuotaCheckServletFilter.class); assertThat(context).doesNotHaveBean(FilterRegistrationBean.class); - assertThat(context).doesNotHaveBean(PolarisRateLimitConfiguration.MetadataReactiveFilterConfig.class); + assertThat(context).doesNotHaveBean(PolarisRateLimitAutoConfiguration.MetadataReactiveFilterConfig.class); assertThat(context).doesNotHaveBean(QuotaCheckReactiveFilter.class); }); } @@ -68,14 +68,14 @@ public class PolarisRateLimitConfigurationTest { this.webApplicationContextRunner .withConfiguration(AutoConfigurations.of(PolarisContextAutoConfiguration.class, PolarisRateLimitProperties.class, - PolarisRateLimitConfiguration.class)) + PolarisRateLimitAutoConfiguration.class)) .run(context -> { assertThat(context).hasSingleBean(LimitAPI.class); assertThat(context).hasSingleBean(RateLimitRuleLabelResolver.class); - assertThat(context).hasSingleBean(PolarisRateLimitConfiguration.QuotaCheckFilterConfig.class); + assertThat(context).hasSingleBean(PolarisRateLimitAutoConfiguration.QuotaCheckFilterConfig.class); assertThat(context).hasSingleBean(QuotaCheckServletFilter.class); assertThat(context).hasSingleBean(FilterRegistrationBean.class); - assertThat(context).doesNotHaveBean(PolarisRateLimitConfiguration.MetadataReactiveFilterConfig.class); + assertThat(context).doesNotHaveBean(PolarisRateLimitAutoConfiguration.MetadataReactiveFilterConfig.class); assertThat(context).doesNotHaveBean(QuotaCheckReactiveFilter.class); }); } @@ -85,14 +85,14 @@ public class PolarisRateLimitConfigurationTest { this.reactiveWebApplicationContextRunner .withConfiguration(AutoConfigurations.of(PolarisContextAutoConfiguration.class, PolarisRateLimitProperties.class, - PolarisRateLimitConfiguration.class)) + PolarisRateLimitAutoConfiguration.class)) .run(context -> { assertThat(context).hasSingleBean(LimitAPI.class); assertThat(context).hasSingleBean(RateLimitRuleLabelResolver.class); - assertThat(context).doesNotHaveBean(PolarisRateLimitConfiguration.QuotaCheckFilterConfig.class); + assertThat(context).doesNotHaveBean(PolarisRateLimitAutoConfiguration.QuotaCheckFilterConfig.class); assertThat(context).doesNotHaveBean(QuotaCheckServletFilter.class); assertThat(context).doesNotHaveBean(FilterRegistrationBean.class); - assertThat(context).hasSingleBean(PolarisRateLimitConfiguration.MetadataReactiveFilterConfig.class); + assertThat(context).hasSingleBean(PolarisRateLimitAutoConfiguration.MetadataReactiveFilterConfig.class); assertThat(context).hasSingleBean(QuotaCheckReactiveFilter.class); }); } diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitBootstrapConfigurationTest.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesAutoConfigurationTest.java similarity index 78% rename from spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitBootstrapConfigurationTest.java rename to spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesAutoConfigurationTest.java index 9b085a637..258dd557b 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitBootstrapConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesAutoConfigurationTest.java @@ -25,22 +25,21 @@ import org.springframework.boot.test.context.runner.ApplicationContextRunner; import static org.assertj.core.api.Assertions.assertThat; /** - * Test for {@link PolarisRateLimitBootstrapConfiguration}. + * Test for {@link PolarisRateLimitPropertiesAutoConfiguration}. * * @author Haotian Zhang */ -public class PolarisRateLimitBootstrapConfigurationTest { +public class PolarisRateLimitPropertiesAutoConfigurationTest { private ApplicationContextRunner contextRunner = new ApplicationContextRunner() .withConfiguration( - AutoConfigurations.of(PolarisRateLimitBootstrapConfiguration.class)) - .withPropertyValues("spring.cloud.polaris.ratelimit.enabled=true"); + AutoConfigurations.of(PolarisRateLimitPropertiesAutoConfiguration.class)); @Test public void testDefaultInitialization() { this.contextRunner.run(context -> { assertThat(context).hasSingleBean(PolarisRateLimitProperties.class); - assertThat(context).hasSingleBean(PolarisRateLimitBootstrapConfiguration.RateLimitConfigModifier.class); + assertThat(context).hasSingleBean(RateLimitConfigModifier.class); }); } } diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesBootstrapConfigurationTest.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesBootstrapConfigurationTest.java new file mode 100644 index 000000000..71e7334cc --- /dev/null +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesBootstrapConfigurationTest.java @@ -0,0 +1,46 @@ +/* + * Tencent is pleased to support the open source community by making Spring Cloud Tencent available. + * + * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved. + * + * Licensed under the BSD 3-Clause License (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://opensource.org/licenses/BSD-3-Clause + * + * Unless required by applicable law or agreed to in writing, software distributed + * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + +package com.tencent.cloud.polaris.ratelimit.config; + +import org.junit.Test; + +import org.springframework.boot.autoconfigure.AutoConfigurations; +import org.springframework.boot.test.context.runner.ApplicationContextRunner; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * Test for {@link PolarisRateLimitPropertiesBootstrapConfiguration}. + * + * @author Haotian Zhang + */ +public class PolarisRateLimitPropertiesBootstrapConfigurationTest { + + private ApplicationContextRunner contextRunner = new ApplicationContextRunner() + .withConfiguration( + AutoConfigurations.of(PolarisRateLimitPropertiesBootstrapConfiguration.class)) + .withPropertyValues("spring.cloud.polaris.enabled=true"); + + @Test + public void testDefaultInitialization() { + this.contextRunner.run(context -> { + assertThat(context).hasSingleBean(PolarisRateLimitProperties.class); + assertThat(context).hasSingleBean(RateLimitConfigModifier.class); + }); + } +} diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesTest.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesTest.java index 70a3333e5..8279ab0e4 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesTest.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesTest.java @@ -18,11 +18,13 @@ package com.tencent.cloud.polaris.ratelimit.config; import org.junit.Test; +import org.junit.runner.RunWith; -import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.test.context.runner.ApplicationContextRunner; -import org.springframework.context.annotation.Configuration; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.junit4.SpringRunner; import static org.assertj.core.api.Assertions.assertThat; @@ -31,29 +33,25 @@ import static org.assertj.core.api.Assertions.assertThat; * * @author Haotian Zhang */ +@RunWith(SpringRunner.class) +@SpringBootTest(classes = PolarisRateLimitPropertiesTest.TestApplication.class) +@ActiveProfiles("test") public class PolarisRateLimitPropertiesTest { - private ApplicationContextRunner contextRunner = new ApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(PolarisRateLimitPropertiesAutoConfiguration.class, PolarisRateLimitProperties.class)) - .withPropertyValues("spring.cloud.polaris.ratelimit.rejectRequestTips=xxx") - .withPropertyValues("spring.cloud.polaris.ratelimit.rejectRequestTipsFilePath=/index.html") - .withPropertyValues("spring.cloud.polaris.ratelimit.rejectHttpCode=419") - .withPropertyValues("spring.cloud.polaris.ratelimit.maxQueuingTime=500"); + @Autowired + private PolarisRateLimitProperties polarisRateLimitProperties; @Test public void testDefaultInitialization() { - this.contextRunner.run(context -> { - PolarisRateLimitProperties polarisRateLimitProperties = context.getBean(PolarisRateLimitProperties.class); - assertThat(polarisRateLimitProperties.getRejectRequestTips()).isEqualTo("xxx"); - assertThat(polarisRateLimitProperties.getRejectRequestTipsFilePath()).isEqualTo("/index.html"); - assertThat(polarisRateLimitProperties.getRejectHttpCode()).isEqualTo(419); - assertThat(polarisRateLimitProperties.getMaxQueuingTime()).isEqualTo(500L); - }); + assertThat(polarisRateLimitProperties).isNotNull(); + assertThat(polarisRateLimitProperties.getRejectRequestTips()).isEqualTo("xxx"); + assertThat(polarisRateLimitProperties.getRejectRequestTipsFilePath()).isEqualTo("/index.html"); + assertThat(polarisRateLimitProperties.getRejectHttpCode()).isEqualTo(419); + assertThat(polarisRateLimitProperties.getMaxQueuingTime()).isEqualTo(500L); } - @Configuration - @EnableAutoConfiguration - static class PolarisRateLimitPropertiesAutoConfiguration { + @SpringBootApplication + protected static class TestApplication { } } diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/resources/application-test.properties b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/resources/application-test.properties new file mode 100644 index 000000000..236bb29c1 --- /dev/null +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/resources/application-test.properties @@ -0,0 +1,4 @@ +spring.cloud.polaris.ratelimit.rejectRequestTips=xxx +spring.cloud.polaris.ratelimit.rejectRequestTipsFilePath=/index.html +spring.cloud.polaris.ratelimit.rejectHttpCode=419 +spring.cloud.polaris.ratelimit.maxQueuingTime=500 diff --git a/spring-cloud-tencent-dependencies/pom.xml b/spring-cloud-tencent-dependencies/pom.xml index 8dc19fca5..c5be544d3 100644 --- a/spring-cloud-tencent-dependencies/pom.xml +++ b/spring-cloud-tencent-dependencies/pom.xml @@ -70,7 +70,7 @@ - 1.5.2-2021.0.2 + 1.6.0-2021.0.2-SNAPSHOT 1.6.1 31.1-jre 1.2.7