diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d84afcb..4508931b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,3 +8,4 @@ - [feature:add PolarisRateLimiterLimitedFallback spi.](https://github.com/Tencent/spring-cloud-tencent/pull/857) - [fix:fix the error capture of rate limit exception.](https://github.com/Tencent/spring-cloud-tencent/pull/860) - [feat:enable stat reporting as default.](https://github.com/Tencent/spring-cloud-tencent/pull/863) +- [refactor:update to junit 5.](https://github.com/Tencent/spring-cloud-tencent/pull/866) diff --git a/pom.xml b/pom.xml index 2ed1176b..cb063f4e 100644 --- a/pom.xml +++ b/pom.xml @@ -197,13 +197,6 @@ org.apache.maven.plugins maven-surefire-plugin true - - - org.apache.maven.surefire - surefire-junit4 - 2.22.2 - - 1 false diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/config/MetadataTransferAutoConfigurationTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/config/MetadataTransferAutoConfigurationTest.java index 2ef9a6b1..7f3164e3 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/config/MetadataTransferAutoConfigurationTest.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/config/MetadataTransferAutoConfigurationTest.java @@ -26,8 +26,7 @@ import java.util.stream.Collectors; import com.tencent.cloud.metadata.core.EncodeTransferMedataFeignInterceptor; import com.tencent.cloud.metadata.core.EncodeTransferMedataRestTemplateInterceptor; -import org.assertj.core.api.Assertions; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; @@ -38,6 +37,8 @@ import org.springframework.context.annotation.Configuration; import org.springframework.http.client.ClientHttpRequestInterceptor; import org.springframework.web.client.RestTemplate; +import static org.assertj.core.api.Assertions.assertThat; + /** * Test for {@link MetadataTransferAutoConfiguration}. * @@ -54,15 +55,12 @@ public class MetadataTransferAutoConfigurationTest { public void test1() { this.applicationContextRunner.withConfiguration(AutoConfigurations.of(MetadataTransferAutoConfiguration.class)) .run(context -> { - Assertions.assertThat(context).hasSingleBean( - MetadataTransferAutoConfiguration.MetadataTransferFeignInterceptorConfig.class); - Assertions.assertThat(context).hasSingleBean(EncodeTransferMedataFeignInterceptor.class); - Assertions.assertThat(context) - .hasSingleBean(MetadataTransferAutoConfiguration.MetadataTransferRestTemplateConfig.class); - Assertions.assertThat(context).hasSingleBean(EncodeTransferMedataRestTemplateInterceptor.class); - Assertions.assertThat(context) - .hasSingleBean(MetadataTransferAutoConfiguration.MetadataTransferScgFilterConfig.class); - Assertions.assertThat(context).hasSingleBean(GlobalFilter.class); + assertThat(context).hasSingleBean(MetadataTransferAutoConfiguration.MetadataTransferFeignInterceptorConfig.class); + assertThat(context).hasSingleBean(EncodeTransferMedataFeignInterceptor.class); + assertThat(context).hasSingleBean(MetadataTransferAutoConfiguration.MetadataTransferRestTemplateConfig.class); + assertThat(context).hasSingleBean(EncodeTransferMedataRestTemplateInterceptor.class); + assertThat(context).hasSingleBean(MetadataTransferAutoConfiguration.MetadataTransferScgFilterConfig.class); + assertThat(context).hasSingleBean(GlobalFilter.class); }); } @@ -73,20 +71,19 @@ public class MetadataTransferAutoConfigurationTest { .withConfiguration( AutoConfigurations.of(MetadataTransferAutoConfiguration.class, RestTemplateConfiguration.class)) .run(context -> { - Assertions.assertThat(context) - .hasSingleBean(EncodeTransferMedataFeignInterceptor.class); + assertThat(context).hasSingleBean(EncodeTransferMedataFeignInterceptor.class); EncodeTransferMedataRestTemplateInterceptor encodeTransferMedataRestTemplateInterceptor = context.getBean(EncodeTransferMedataRestTemplateInterceptor.class); Map restTemplateMap = context.getBeansOfType(RestTemplate.class); - Assertions.assertThat(restTemplateMap.size()).isEqualTo(2); + assertThat(restTemplateMap.size()).isEqualTo(2); for (String beanName : Arrays.asList("restTemplate", "loadBalancedRestTemplate")) { RestTemplate restTemplate = restTemplateMap.get(beanName); - Assertions.assertThat(restTemplate).isNotNull(); + assertThat(restTemplate).isNotNull(); List encodeTransferMedataFeignInterceptorList = restTemplate.getInterceptors() .stream() .filter(interceptor -> Objects.equals(interceptor, encodeTransferMedataRestTemplateInterceptor)) .collect(Collectors.toList()); //EncodeTransferMetadataFeignInterceptor is not added repeatedly - Assertions.assertThat(encodeTransferMedataFeignInterceptorList.size()).isEqualTo(1); + assertThat(encodeTransferMedataFeignInterceptorList.size()).isEqualTo(1); } }); } diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/CustomTransitiveMetadataResolverTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/CustomTransitiveMetadataResolverTest.java index a1b28645..9575039c 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/CustomTransitiveMetadataResolverTest.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/CustomTransitiveMetadataResolverTest.java @@ -19,13 +19,14 @@ package com.tencent.cloud.metadata.core; import java.util.Map; -import org.assertj.core.api.Assertions; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.mock.http.server.reactive.MockServerHttpRequest; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.server.MockServerWebExchange; +import static org.assertj.core.api.Assertions.assertThat; + /** * Test for {@link CustomTransitiveMetadataResolver}. * @@ -39,8 +40,8 @@ public class CustomTransitiveMetadataResolverTest { builder.header("X-SCT-Metadata-Transitive-a", "test"); MockServerWebExchange exchange = MockServerWebExchange.from(builder); Map resolve = CustomTransitiveMetadataResolver.resolve(exchange); - Assertions.assertThat(resolve.size()).isEqualTo(1); - Assertions.assertThat(resolve.get("a")).isEqualTo("test"); + assertThat(resolve.size()).isEqualTo(1); + assertThat(resolve.get("a")).isEqualTo("test"); } @Test @@ -49,8 +50,8 @@ public class CustomTransitiveMetadataResolverTest { builder.header("X-Polaris-Metadata-Transitive-a", "test"); MockServerWebExchange exchange = MockServerWebExchange.from(builder); Map resolve = CustomTransitiveMetadataResolver.resolve(exchange); - Assertions.assertThat(resolve.size()).isEqualTo(1); - Assertions.assertThat(resolve.get("a")).isEqualTo("test"); + assertThat(resolve.size()).isEqualTo(1); + assertThat(resolve.get("a")).isEqualTo("test"); } @Test @@ -58,8 +59,8 @@ public class CustomTransitiveMetadataResolverTest { MockHttpServletRequest request = new MockHttpServletRequest(); request.addHeader("X-SCT-Metadata-Transitive-a", "test"); Map resolve = CustomTransitiveMetadataResolver.resolve(request); - Assertions.assertThat(resolve.size()).isEqualTo(1); - Assertions.assertThat(resolve.get("a")).isEqualTo("test"); + assertThat(resolve.size()).isEqualTo(1); + assertThat(resolve.get("a")).isEqualTo("test"); } @Test @@ -67,7 +68,7 @@ public class CustomTransitiveMetadataResolverTest { MockHttpServletRequest request = new MockHttpServletRequest(); request.addHeader("X-Polaris-Metadata-Transitive-a", "test"); Map resolve = CustomTransitiveMetadataResolver.resolve(request); - Assertions.assertThat(resolve.size()).isEqualTo(1); - Assertions.assertThat(resolve.get("a")).isEqualTo("test"); + assertThat(resolve.size()).isEqualTo(1); + assertThat(resolve.get("a")).isEqualTo("test"); } } diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataReactiveFilterTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataReactiveFilterTest.java index ccb70aca..a1708f06 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataReactiveFilterTest.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataReactiveFilterTest.java @@ -19,20 +19,20 @@ package com.tencent.cloud.metadata.core; import com.tencent.cloud.common.constant.MetadataConstant; import com.tencent.cloud.common.metadata.config.MetadataLocalProperties; -import org.assertj.core.api.Assertions; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import reactor.core.publisher.Mono; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.mock.http.server.reactive.MockServerHttpRequest; import org.springframework.mock.web.server.MockServerWebExchange; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.web.server.ServerWebExchange; import org.springframework.web.server.WebFilterChain; +import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.MOCK; /** @@ -40,7 +40,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * * @author Haotian Zhang */ -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest(webEnvironment = MOCK, classes = DecodeTransferMetadataServletFilterTest.TestApplication.class, properties = {"spring.config.location = classpath:application-test.yml"}) @@ -51,14 +51,14 @@ public class DecodeTransferMetadataReactiveFilterTest { private DecodeTransferMetadataReactiveFilter metadataReactiveFilter; - @Before + @BeforeEach public void setUp() { this.metadataReactiveFilter = new DecodeTransferMetadataReactiveFilter(); } @Test public void test1() { - Assertions.assertThat(this.metadataReactiveFilter.getOrder()) + assertThat(this.metadataReactiveFilter.getOrder()) .isEqualTo(MetadataConstant.OrderConstant.WEB_FILTER_ORDER); } @@ -74,8 +74,8 @@ public class DecodeTransferMetadataReactiveFilterTest { ServerWebExchange exchange = MockServerWebExchange.from(request); metadataReactiveFilter.filter(exchange, webFilterChain); - Assertions.assertThat(metadataLocalProperties.getContent().get("a")).isEqualTo("1"); - Assertions.assertThat(metadataLocalProperties.getContent().get("b")).isEqualTo("2"); - Assertions.assertThat(metadataLocalProperties.getContent().get("c")).isNull(); + assertThat(metadataLocalProperties.getContent().get("a")).isEqualTo("1"); + assertThat(metadataLocalProperties.getContent().get("b")).isEqualTo("2"); + assertThat(metadataLocalProperties.getContent().get("c")).isNull(); } } diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataServletFilterTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataServletFilterTest.java index 2cd0fe41..a457b77d 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataServletFilterTest.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/DecodeTransferMetadataServletFilterTest.java @@ -23,17 +23,17 @@ import com.tencent.cloud.common.constant.MetadataConstant; import com.tencent.cloud.common.metadata.config.MetadataLocalProperties; import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; -import org.assertj.core.api.Assertions; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; +import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; /** @@ -41,7 +41,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * * @author Haotian Zhang */ -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest(webEnvironment = RANDOM_PORT, classes = DecodeTransferMetadataServletFilterTest.TestApplication.class, properties = {"spring.config.location = classpath:application-test.yml"}) @@ -65,9 +65,9 @@ public class DecodeTransferMetadataServletFilterTest { request.addHeader(MetadataConstant.HeaderName.CUSTOM_METADATA, "{\"c\": \"3\"}"); MockHttpServletResponse response = new MockHttpServletResponse(); metadataServletFilter.doFilter(request, response, filterChain); - Assertions.assertThat(metadataLocalProperties.getContent().get("a")).isEqualTo("1"); - Assertions.assertThat(metadataLocalProperties.getContent().get("b")).isEqualTo("2"); - Assertions.assertThat(metadataLocalProperties.getContent().get("c")).isNull(); + assertThat(metadataLocalProperties.getContent().get("a")).isEqualTo("1"); + assertThat(metadataLocalProperties.getContent().get("b")).isEqualTo("2"); + assertThat(metadataLocalProperties.getContent().get("c")).isNull(); } @SpringBootApplication diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataFeignInterceptorTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataFeignInterceptorTest.java index 6299dc95..46e8a0e4 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataFeignInterceptorTest.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataFeignInterceptorTest.java @@ -23,9 +23,8 @@ import com.tencent.cloud.common.metadata.MetadataContextHolder; import com.tencent.cloud.common.metadata.config.MetadataLocalProperties; import feign.RequestInterceptor; import feign.RequestTemplate; -import org.assertj.core.api.Assertions; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -33,10 +32,11 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.context.annotation.Configuration; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.DEFINED_PORT; /** @@ -44,7 +44,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * * @author Haotian Zhang */ -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest(webEnvironment = DEFINED_PORT, classes = EncodeTransferMedataFeignInterceptorTest.TestApplication.class, properties = {"server.port=8081", "spring.config.location = classpath:application-test.yml"}) @@ -59,9 +59,9 @@ public class EncodeTransferMedataFeignInterceptorTest { @Test public void testTransitiveMetadataFromApplicationConfig() { String metadata = testFeign.test(); - Assertions.assertThat(metadata).isEqualTo("2"); - Assertions.assertThat(metadataLocalProperties.getContent().get("a")).isEqualTo("1"); - Assertions.assertThat(metadataLocalProperties.getContent().get("b")).isEqualTo("2"); + assertThat(metadata).isEqualTo("2"); + assertThat(metadataLocalProperties.getContent().get("a")).isEqualTo("1"); + assertThat(metadataLocalProperties.getContent().get("b")).isEqualTo("2"); } @SpringBootApplication diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataRestTemplateInterceptorTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataRestTemplateInterceptorTest.java index 93faee94..cb82b56e 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataRestTemplateInterceptorTest.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataRestTemplateInterceptorTest.java @@ -19,9 +19,8 @@ package com.tencent.cloud.metadata.core; import com.tencent.cloud.common.metadata.MetadataContext; import com.tencent.cloud.common.metadata.MetadataContextHolder; -import org.assertj.core.api.Assertions; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -31,11 +30,12 @@ import org.springframework.context.annotation.Bean; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; +import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; /** @@ -43,7 +43,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * * @author Haotian Zhang */ -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest(webEnvironment = RANDOM_PORT, classes = EncodeTransferMedataRestTemplateInterceptorTest.TestApplication.class, properties = {"spring.config.location = classpath:application-test.yml"}) @@ -62,7 +62,7 @@ public class EncodeTransferMedataRestTemplateInterceptorTest { String metadata = restTemplate .exchange("http://localhost:" + localServerPort + "/test", HttpMethod.GET, httpEntity, String.class) .getBody(); - Assertions.assertThat(metadata).isEqualTo("2"); + assertThat(metadata).isEqualTo("2"); } @SpringBootApplication diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataScgFilterTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataScgFilterTest.java index 385caac4..bdfcfb44 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataScgFilterTest.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/EncodeTransferMedataScgFilterTest.java @@ -23,9 +23,8 @@ import java.util.Map; import com.tencent.cloud.common.constant.MetadataConstant; import com.tencent.cloud.common.util.JacksonUtils; -import org.assertj.core.api.Assertions; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.springframework.beans.factory.annotation.Autowired; @@ -35,9 +34,10 @@ import org.springframework.cloud.gateway.filter.GatewayFilterChain; import org.springframework.context.ApplicationContext; import org.springframework.mock.http.server.reactive.MockServerHttpRequest; import org.springframework.mock.web.server.MockServerWebExchange; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import static com.tencent.cloud.common.constant.ContextConstant.UTF_8; +import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; /** @@ -45,7 +45,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * * @author quan */ -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest(webEnvironment = RANDOM_PORT, classes = EncodeTransferMedataScgFilterTest.TestApplication.class, properties = {"spring.config.location = classpath:application-test.yml", "spring.main.web-application-type = reactive"}) @@ -66,8 +66,8 @@ public class EncodeTransferMedataScgFilterTest { String metadataStr = exchange.getRequest().getHeaders().getFirst(MetadataConstant.HeaderName.CUSTOM_METADATA); String decode = URLDecoder.decode(metadataStr, UTF_8); Map transitiveMap = JacksonUtils.deserialize2Map(decode); - Assertions.assertThat(transitiveMap.size()).isEqualTo(1); - Assertions.assertThat(transitiveMap.get("b")).isEqualTo("2"); + assertThat(transitiveMap.size()).isEqualTo(1); + assertThat(transitiveMap.get("b")).isEqualTo("2"); } @SpringBootApplication diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/TransHeadersTransferTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/TransHeadersTransferTest.java index eb0c780f..52c5e4c7 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/TransHeadersTransferTest.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/core/TransHeadersTransferTest.java @@ -23,16 +23,16 @@ import java.util.Map; import com.tencent.cloud.common.metadata.MetadataContext; import com.tencent.cloud.common.metadata.MetadataContextHolder; import com.tencent.cloud.common.util.JacksonUtils; -import org.junit.AfterClass; -import org.junit.Test; -import org.junit.jupiter.api.Assertions; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.mock.http.server.reactive.MockServerHttpRequest; import org.springframework.mock.web.MockHttpServletRequest; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; +import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; /** @@ -40,13 +40,13 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * * @author lingxiao.wlx */ -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest(webEnvironment = RANDOM_PORT, classes = DecodeTransferMetadataServletFilterTest.TestApplication.class, properties = {"spring.config.location = classpath:application-test.yml"}) public class TransHeadersTransferTest { - @AfterClass - public static void afterClass() { + @AfterAll + static void afterAll() { MetadataContextHolder.remove(); } @@ -60,9 +60,9 @@ public class TransHeadersTransferTest { request.addHeader("header3", "3"); TransHeadersTransfer.transfer(request); Map transHeadersKV = MetadataContextHolder.get().getTransHeadersKV(); - Assertions.assertEquals(transHeadersKV.get("header1"), "1"); - Assertions.assertEquals(transHeadersKV.get("header2"), "2"); - Assertions.assertEquals(transHeadersKV.get("header3"), "3"); + assertThat(transHeadersKV.get("header1")).isEqualTo("1"); + assertThat(transHeadersKV.get("header2")).isEqualTo("2"); + assertThat(transHeadersKV.get("header3")).isEqualTo("3"); } @Test @@ -79,8 +79,8 @@ public class TransHeadersTransferTest { MockServerHttpRequest request = builder.build(); TransHeadersTransfer.transfer(request); Map transHeadersKV = MetadataContextHolder.get().getTransHeadersKV(); - Assertions.assertEquals(transHeadersKV.get("header1"), JacksonUtils.serialize2Json(header1)); - Assertions.assertEquals(transHeadersKV.get("header2"), JacksonUtils.serialize2Json(header2)); - Assertions.assertEquals(transHeadersKV.get("header3"), JacksonUtils.serialize2Json(header3)); + assertThat(transHeadersKV.get("header1")).isEqualTo(JacksonUtils.serialize2Json(header1)); + assertThat(transHeadersKV.get("header2")).isEqualTo(JacksonUtils.serialize2Json(header2)); + assertThat(transHeadersKV.get("header3")).isEqualTo(JacksonUtils.serialize2Json(header3)); } } diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/config/PolarisCircuitBreakerAutoConfigurationTest.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/config/PolarisCircuitBreakerAutoConfigurationTest.java index 9b600631..f1dcf17a 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/config/PolarisCircuitBreakerAutoConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/config/PolarisCircuitBreakerAutoConfigurationTest.java @@ -19,7 +19,7 @@ package com.tencent.cloud.polaris.circuitbreaker.config; import com.tencent.cloud.polaris.context.config.PolarisContextAutoConfiguration; import com.tencent.cloud.rpc.enhancement.config.RpcEnhancementAutoConfiguration; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/config/PolarisCircuitBreakerBootstrapConfigurationTest.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/config/PolarisCircuitBreakerBootstrapConfigurationTest.java index 22124997..9213272c 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/config/PolarisCircuitBreakerBootstrapConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/config/PolarisCircuitBreakerBootstrapConfigurationTest.java @@ -19,7 +19,7 @@ package com.tencent.cloud.polaris.circuitbreaker.config; import com.tencent.cloud.polaris.context.config.PolarisContextAutoConfiguration; import com.tencent.cloud.rpc.enhancement.config.RpcEnhancementAutoConfiguration; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/PolarisConfigChangeEventListener.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/PolarisConfigChangeEventListener.java index 087f9f6e..e77b5901 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/PolarisConfigChangeEventListener.java +++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/listener/PolarisConfigChangeEventListener.java @@ -19,6 +19,7 @@ package com.tencent.cloud.polaris.config.listener; import java.util.Collection; +import java.util.HashMap; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; @@ -77,9 +78,9 @@ public final class PolarisConfigChangeEventListener implements ApplicationListen ConfigurableEnvironment environment = context.getEnvironment(); Map ret = loadEnvironmentProperties(environment); Map changes = merge(ret); - ConfigChangeSpringEvent configChangeSpringEvent = new ConfigChangeSpringEvent(Maps.newHashMap(changes)); + ConfigChangeSpringEvent configChangeSpringEvent = new ConfigChangeSpringEvent(new HashMap<>(changes)); eventPublisher.publishEvent(configChangeSpringEvent); - fireConfigChange(changes.keySet(), Maps.newHashMap(changes)); + fireConfigChange(changes.keySet(), new HashMap<>(changes)); changes.clear(); } } diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigFileLocatorTest.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigFileLocatorTest.java index 835b83a7..6869b59e 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigFileLocatorTest.java +++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigFileLocatorTest.java @@ -29,22 +29,22 @@ import com.tencent.cloud.polaris.config.config.PolarisConfigProperties; import com.tencent.cloud.polaris.context.config.PolarisContextProperties; import com.tencent.polaris.configuration.api.core.ConfigFileService; import com.tencent.polaris.configuration.api.core.ConfigKVFile; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.core.env.Environment; import org.springframework.core.env.PropertySource; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.when; /** * test for {@link PolarisConfigFileLocator}. *@author lepdou 2022-06-11 */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class PolarisConfigFileLocatorTest { private final String testNamespace = "testNamespace"; @@ -88,9 +88,9 @@ public class PolarisConfigFileLocatorTest { PropertySource propertySource = locator.locate(environment); - Assert.assertEquals("v1", propertySource.getProperty("k1")); - Assert.assertEquals("v2", propertySource.getProperty("k2")); - Assert.assertEquals("v3", propertySource.getProperty("k3")); + assertThat(propertySource.getProperty("k1")).isEqualTo("v1"); + assertThat(propertySource.getProperty("k2")).isEqualTo("v2"); + assertThat(propertySource.getProperty("k3")).isEqualTo("v3"); } @Test @@ -131,9 +131,9 @@ public class PolarisConfigFileLocatorTest { PropertySource propertySource = locator.locate(environment); - Assert.assertEquals("v11", propertySource.getProperty("k1")); - Assert.assertEquals("v2", propertySource.getProperty("k2")); - Assert.assertEquals("v3", propertySource.getProperty("k3")); + assertThat(propertySource.getProperty("k1")).isEqualTo("v11"); + assertThat(propertySource.getProperty("k2")).isEqualTo("v2"); + assertThat(propertySource.getProperty("k3")).isEqualTo("v3"); } @Test @@ -180,8 +180,8 @@ public class PolarisConfigFileLocatorTest { PropertySource propertySource = locator.locate(environment); - Assert.assertEquals("v1", propertySource.getProperty("k1")); - Assert.assertEquals("v2", propertySource.getProperty("k2")); - Assert.assertEquals("v3", propertySource.getProperty("k3")); + assertThat(propertySource.getProperty("k1")).isEqualTo("v1"); + assertThat(propertySource.getProperty("k2")).isEqualTo("v2"); + assertThat(propertySource.getProperty("k3")).isEqualTo("v3"); } } diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigFilePullerTest.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigFilePullerTest.java index 8e195ff0..0cf5e639 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigFilePullerTest.java +++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisConfigFilePullerTest.java @@ -27,14 +27,14 @@ import com.tencent.cloud.polaris.config.config.ConfigFileGroup; import com.tencent.cloud.polaris.context.config.PolarisContextProperties; import com.tencent.polaris.configuration.api.core.ConfigFileService; import com.tencent.polaris.configuration.api.core.ConfigKVFile; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.core.env.CompositePropertySource; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.when; /** @@ -42,7 +42,7 @@ import static org.mockito.Mockito.when; * * @author wlx */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class PolarisConfigFilePullerTest { private final String testNamespace = "testNamespace"; @@ -81,9 +81,9 @@ public class PolarisConfigFilePullerTest { puller.initInternalConfigFiles(compositePropertySource, new String[] {}, new String[] {}, testServiceName); - Assert.assertEquals("v1", compositePropertySource.getProperty("k1")); - Assert.assertEquals("v2", compositePropertySource.getProperty("k2")); - Assert.assertEquals("v3", compositePropertySource.getProperty("k3")); + assertThat(compositePropertySource.getProperty("k1")).isEqualTo("v1"); + assertThat(compositePropertySource.getProperty("k2")).isEqualTo("v2"); + assertThat(compositePropertySource.getProperty("k3")).isEqualTo("v3"); } @Test @@ -124,9 +124,9 @@ public class PolarisConfigFilePullerTest { CompositePropertySource compositePropertySource = new CompositePropertySource(polarisConfigPropertySourceName); puller.initInternalConfigFiles(compositePropertySource, activeProfiles, new String[] {}, testServiceName); - Assert.assertEquals("v11", compositePropertySource.getProperty("k1")); - Assert.assertEquals("v2", compositePropertySource.getProperty("k2")); - Assert.assertEquals("v3", compositePropertySource.getProperty("k3")); + assertThat(compositePropertySource.getProperty("k1")).isEqualTo("v11"); + assertThat(compositePropertySource.getProperty("k2")).isEqualTo("v2"); + assertThat(compositePropertySource.getProperty("k3")).isEqualTo("v3"); } @Test @@ -162,8 +162,8 @@ public class PolarisConfigFilePullerTest { CompositePropertySource compositePropertySource = new CompositePropertySource(polarisConfigPropertySourceName); puller.initCustomPolarisConfigFiles(compositePropertySource, customFiles); - Assert.assertEquals("v1", compositePropertySource.getProperty("k1")); - Assert.assertEquals("v2", compositePropertySource.getProperty("k2")); - Assert.assertEquals("v3", compositePropertySource.getProperty("k3")); + assertThat(compositePropertySource.getProperty("k1")).isEqualTo("v1"); + assertThat(compositePropertySource.getProperty("k2")).isEqualTo("v2"); + assertThat(compositePropertySource.getProperty("k3")).isEqualTo("v3"); } } diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertiesSourceAutoRefresherTest.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertiesSourceAutoRefresherTest.java index 912a12ac..ba38d135 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertiesSourceAutoRefresherTest.java +++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/adapter/PolarisPropertiesSourceAutoRefresherTest.java @@ -32,16 +32,16 @@ import com.tencent.cloud.polaris.config.spring.property.SpringValueRegistry; import com.tencent.polaris.configuration.api.core.ChangeType; import com.tencent.polaris.configuration.api.core.ConfigKVFileChangeEvent; import com.tencent.polaris.configuration.api.core.ConfigPropertyChangeInfo; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.TypeConverter; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.context.ConfigurableApplicationContext; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -51,7 +51,7 @@ import static org.mockito.Mockito.when; * * @author lepdou 2022-06-11 */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class PolarisPropertiesSourceAutoRefresherTest { private final String testNamespace = "testNamespace"; @@ -114,9 +114,9 @@ public class PolarisPropertiesSourceAutoRefresherTest { file.fireChangeListener(event); - Assert.assertEquals("v11", polarisPropertySource.getProperty("k1")); - Assert.assertEquals("v3", polarisPropertySource.getProperty("k3")); - Assert.assertNull(polarisPropertySource.getProperty("k2")); - Assert.assertEquals("v4", polarisPropertySource.getProperty("k4")); + assertThat(polarisPropertySource.getProperty("k1")).isEqualTo("v11"); + assertThat(polarisPropertySource.getProperty("k3")).isEqualTo("v3"); + assertThat(polarisPropertySource.getProperty("k2")).isNull(); + assertThat(polarisPropertySource.getProperty("k4")).isEqualTo("v4"); } } diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/condition/ConditionalOnReflectRefreshTypeTest.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/condition/ConditionalOnReflectRefreshTypeTest.java index 8ee9ab9d..e50eac0c 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/condition/ConditionalOnReflectRefreshTypeTest.java +++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/condition/ConditionalOnReflectRefreshTypeTest.java @@ -31,9 +31,9 @@ import com.tencent.cloud.polaris.config.enums.RefreshType; import com.tencent.cloud.polaris.config.spring.annotation.SpringValueProcessor; import com.tencent.cloud.polaris.config.spring.property.PlaceholderHelper; import com.tencent.cloud.polaris.config.spring.property.SpringValueRegistry; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; @@ -52,8 +52,8 @@ public class ConditionalOnReflectRefreshTypeTest { private static ServerSocket serverSocket; - @BeforeClass - public static void before() { + @BeforeAll + static void beforeAll() { new Thread(() -> { try { serverSocket = new ServerSocket(8093); @@ -65,8 +65,8 @@ public class ConditionalOnReflectRefreshTypeTest { }).start(); } - @AfterClass - public static void after() throws IOException { + @AfterAll + static void afterAll() throws IOException { serverSocket.close(); } diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataLoaderTest.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataLoaderTest.java index a9dcdce2..0fa44134 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataLoaderTest.java +++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataLoaderTest.java @@ -32,12 +32,11 @@ import com.tencent.polaris.client.api.SDKContext; import com.tencent.polaris.configuration.api.core.ConfigFileService; import com.tencent.polaris.configuration.api.core.ConfigKVFile; import com.tencent.polaris.configuration.factory.ConfigFileServiceFactory; -import org.junit.Assert; -import org.junit.Test; import org.junit.jupiter.api.AfterAll; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.MockedStatic; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.boot.ConfigurableBootstrapContext; import org.springframework.boot.context.config.ConfigData; @@ -49,6 +48,7 @@ import org.springframework.core.env.PropertySource; import static com.tencent.cloud.polaris.config.configdata.PolarisConfigDataLoader.CUSTOM_POLARIS_CONFIG_FILE_LOADED; import static com.tencent.cloud.polaris.config.configdata.PolarisConfigDataLoader.INTERNAL_CONFIG_FILES_LOADED; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mockStatic; @@ -59,7 +59,7 @@ import static org.mockito.Mockito.when; * * @author wlx */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class PolarisConfigDataLoaderTest { private static final SDKContext sdkContext = SDKContext.initContext(); @@ -68,6 +68,13 @@ public class PolarisConfigDataLoaderTest { private final String testServiceName = "testServiceName"; private final String polarisConfigPropertySourceName = "polaris-config"; + @AfterAll + static void afterAll() { + if (sdkContext != null) { + sdkContext.destroy(); + } + } + @Test public void loadConfigDataInternalConfigFilesTest() { try (MockedStatic mockedStatic = mockStatic(ConfigFileServiceFactory.class)) { @@ -121,9 +128,9 @@ public class PolarisConfigDataLoaderTest { List> propertySources = configData.getPropertySources(); CompositePropertySource compositePropertySource = new CompositePropertySource(polarisConfigPropertySourceName); propertySources.forEach(compositePropertySource::addPropertySource); - Assert.assertEquals("v1", compositePropertySource.getProperty("k1")); - Assert.assertEquals("v2", compositePropertySource.getProperty("k2")); - Assert.assertEquals("v3", compositePropertySource.getProperty("k3")); + assertThat(compositePropertySource.getProperty("k1")).isEqualTo("v1"); + assertThat(compositePropertySource.getProperty("k2")).isEqualTo("v2"); + assertThat(compositePropertySource.getProperty("k3")).isEqualTo("v3"); } } @@ -198,10 +205,9 @@ public class PolarisConfigDataLoaderTest { CompositePropertySource compositePropertySource = new CompositePropertySource(polarisConfigPropertySourceName); propertySources.forEach(compositePropertySource::addPropertySource); - Assert.assertEquals("v11", compositePropertySource.getProperty("k1")); - Assert.assertEquals("v2", compositePropertySource.getProperty("k2")); - Assert.assertEquals("v3", compositePropertySource.getProperty("k3")); - + assertThat(compositePropertySource.getProperty("k1")).isEqualTo("v11"); + assertThat(compositePropertySource.getProperty("k2")).isEqualTo("v2"); + assertThat(compositePropertySource.getProperty("k3")).isEqualTo("v3"); } } @@ -272,17 +278,9 @@ public class PolarisConfigDataLoaderTest { CompositePropertySource compositePropertySource = new CompositePropertySource(polarisConfigPropertySourceName); propertySources.forEach(compositePropertySource::addPropertySource); - Assert.assertEquals("v1", compositePropertySource.getProperty("k1")); - Assert.assertEquals("v2", compositePropertySource.getProperty("k2")); - Assert.assertEquals("v3", compositePropertySource.getProperty("k3")); - - } - } - - @AfterAll - static void afterAll() { - if (sdkContext != null) { - sdkContext.destroy(); + assertThat(compositePropertySource.getProperty("k1")).isEqualTo("v1"); + assertThat(compositePropertySource.getProperty("k2")).isEqualTo("v2"); + assertThat(compositePropertySource.getProperty("k3")).isEqualTo("v3"); } } } diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataLocationResolverTest.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataLocationResolverTest.java index f0a1d6d0..16011567 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataLocationResolverTest.java +++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataLocationResolverTest.java @@ -18,10 +18,10 @@ package com.tencent.cloud.polaris.config.configdata; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.boot.context.config.ConfigDataLocation; import org.springframework.boot.context.config.ConfigDataLocationResolverContext; @@ -37,38 +37,27 @@ import static org.mockito.Mockito.when; * * @author wlx */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class PolarisConfigDataLocationResolverTest { private final PolarisConfigDataLocationResolver resolver = new PolarisConfigDataLocationResolver(new DeferredLogs()); - - @Mock - private ConfigDataLocationResolverContext context; - private final MockEnvironment environment = new MockEnvironment(); - private final Binder environmentBinder = Binder.get(this.environment); + @Mock + private ConfigDataLocationResolverContext context; @Test public void testIsResolvable() { when(context.getBinder()).thenReturn(environmentBinder); - assertThat( - this.resolver.isResolvable(this.context, ConfigDataLocation.of("configserver:"))) - .isFalse(); - assertThat( - this.resolver.isResolvable(this.context, ConfigDataLocation.of("polaris:"))) - .isTrue(); - assertThat( - this.resolver.isResolvable(this.context, ConfigDataLocation.of("polaris"))) - .isTrue(); + assertThat(this.resolver.isResolvable(this.context, ConfigDataLocation.of("configserver:"))).isFalse(); + assertThat(this.resolver.isResolvable(this.context, ConfigDataLocation.of("polaris:"))).isTrue(); + assertThat(this.resolver.isResolvable(this.context, ConfigDataLocation.of("polaris"))).isTrue(); } @Test public void unEnabledPolarisConfigData() { environment.setProperty("spring.cloud.polaris.config.enabled", "false"); when(context.getBinder()).thenReturn(environmentBinder); - assertThat( - this.resolver.isResolvable(this.context, ConfigDataLocation.of("polaris:"))) - .isFalse(); + assertThat(this.resolver.isResolvable(this.context, ConfigDataLocation.of("polaris:"))).isFalse(); } } diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataMissingEnvironmentPostProcessorTest.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataMissingEnvironmentPostProcessorTest.java index eec5929c..08a61fac 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataMissingEnvironmentPostProcessorTest.java +++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/configdata/PolarisConfigDataMissingEnvironmentPostProcessorTest.java @@ -18,7 +18,8 @@ package com.tencent.cloud.polaris.config.configdata; -import org.junit.Test; + +import org.junit.jupiter.api.Test; import org.springframework.boot.SpringApplication; import org.springframework.mock.env.MockEnvironment; diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/configdata/PolarisImportExceptionFailureAnalyzerTest.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/configdata/PolarisImportExceptionFailureAnalyzerTest.java index 542557f1..1fa1d235 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/configdata/PolarisImportExceptionFailureAnalyzerTest.java +++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/configdata/PolarisImportExceptionFailureAnalyzerTest.java @@ -19,7 +19,7 @@ package com.tencent.cloud.polaris.config.configdata; import com.tencent.polaris.api.utils.StringUtils; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.boot.SpringApplication; import org.springframework.boot.diagnostics.FailureAnalysis; diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/endpoint/PolarisConfigEndpointTest.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/endpoint/PolarisConfigEndpointTest.java index 93190ee1..92933fcc 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/endpoint/PolarisConfigEndpointTest.java +++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/endpoint/PolarisConfigEndpointTest.java @@ -26,10 +26,10 @@ import com.tencent.cloud.polaris.config.adapter.MockedConfigKVFile; import com.tencent.cloud.polaris.config.adapter.PolarisPropertySource; import com.tencent.cloud.polaris.config.adapter.PolarisPropertySourceManager; import com.tencent.cloud.polaris.config.config.PolarisConfigProperties; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.when; @@ -39,7 +39,7 @@ import static org.mockito.Mockito.when; * * @author shuiqingliu */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class PolarisConfigEndpointTest { private final String testNamespace = "testNamespace"; diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/listener/ConfigChangeListenerTest.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/listener/ConfigChangeListenerTest.java index 667242c5..24ad04d7 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/listener/ConfigChangeListenerTest.java +++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/listener/ConfigChangeListenerTest.java @@ -25,8 +25,8 @@ import com.google.common.collect.Sets; import com.tencent.cloud.polaris.config.annotation.PolarisConfigKVFileChangeListener; import com.tencent.polaris.configuration.api.core.ConfigPropertyChangeInfo; import org.assertj.core.api.Assertions; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -36,7 +36,7 @@ import org.springframework.cloud.context.environment.EnvironmentChangeEvent; import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.stereotype.Component; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.DEFINED_PORT; @@ -45,7 +45,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * * @author lepdou 2022-06-11 */ -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest(webEnvironment = DEFINED_PORT, classes = ConfigChangeListenerTest.TestApplication.class, properties = {"server.port=8081", "spring.config.location = classpath:application-test.yml"}) public class ConfigChangeListenerTest { diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/spring/annotation/SpringValueProcessorTest.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/spring/annotation/SpringValueProcessorTest.java index eaf32627..0326f401 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/spring/annotation/SpringValueProcessorTest.java +++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/spring/annotation/SpringValueProcessorTest.java @@ -22,7 +22,6 @@ import java.io.IOException; import java.lang.reflect.Method; import java.net.ServerSocket; import java.util.Collection; -import java.util.Objects; import java.util.Optional; import com.tencent.cloud.polaris.config.PolarisConfigBootstrapAutoConfiguration; @@ -31,10 +30,9 @@ import com.tencent.cloud.polaris.config.spring.property.Person; import com.tencent.cloud.polaris.config.spring.property.SpringValue; import com.tencent.cloud.polaris.config.spring.property.SpringValueRegistry; import com.tencent.polaris.api.utils.CollectionUtils; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -47,6 +45,8 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.ImportResource; import org.springframework.stereotype.Component; +import static org.assertj.core.api.Assertions.assertThat; + /** * Test for {@link SpringValueProcessor}. * @@ -56,8 +56,8 @@ public class SpringValueProcessorTest { private static ServerSocket serverSocket; - @BeforeClass - public static void before() { + @BeforeAll + static void beforeAll() { new Thread(() -> { try { serverSocket = new ServerSocket(8093); @@ -69,8 +69,8 @@ public class SpringValueProcessorTest { }).start(); } - @AfterClass - public static void after() throws IOException { + @AfterAll + static void afterAll() throws IOException { serverSocket.close(); } @@ -92,19 +92,19 @@ public class SpringValueProcessorTest { PolarisConfigAutoConfiguration polarisConfigAutoConfiguration = context.getBean(PolarisConfigAutoConfiguration.class); BeanFactory beanFactory = polarisConfigAutoConfiguration.beanFactory; Collection timeout = springValueRegistry.get(beanFactory, "timeout"); - Assert.assertFalse(CollectionUtils.isEmpty(timeout)); + assertThat(CollectionUtils.isEmpty(timeout)).isFalse(); Optional springValueOptional = timeout.stream().findAny(); - Assert.assertTrue(springValueOptional.isPresent()); + assertThat(springValueOptional.isPresent()).isTrue(); SpringValue springValue = springValueOptional.get(); - Assert.assertEquals("${timeout:1000}", springValue.getPlaceholder()); - Assert.assertTrue(springValue.isField()); - Assert.assertTrue(Objects.nonNull(springValue.getField())); - Assert.assertEquals("timeout", springValue.getField().getName()); - Assert.assertEquals(int.class, springValue.getTargetType()); + assertThat(springValue.getPlaceholder()).isEqualTo("${timeout:1000}"); + assertThat(springValue.isField()).isTrue(); + assertThat(springValue.getField()).isNotNull(); + assertThat(springValue.getField().getName()).isEqualTo("timeout"); + assertThat(springValue.getTargetType()).isEqualTo(int.class); ValueTest bean = context.getBean(ValueTest.class); - Assert.assertEquals(10000, bean.timeout); + assertThat(bean.timeout).isEqualTo(10000); }); } @@ -127,19 +127,19 @@ public class SpringValueProcessorTest { PolarisConfigAutoConfiguration polarisConfigAutoConfiguration = context.getBean(PolarisConfigAutoConfiguration.class); BeanFactory beanFactory = polarisConfigAutoConfiguration.beanFactory; Collection name = springValueRegistry.get(beanFactory, "name"); - Assert.assertFalse(CollectionUtils.isEmpty(name)); + assertThat(name).isNotEmpty(); Optional springValueOptional = name.stream().findAny(); - Assert.assertTrue(springValueOptional.isPresent()); + assertThat(springValueOptional.isPresent()).isTrue(); SpringValue springValue = springValueOptional.get(); Method method = springValue.getMethodParameter().getMethod(); - Assert.assertTrue(Objects.nonNull(method)); - Assert.assertEquals("setName", method.getName()); - Assert.assertEquals("${name:1000}", springValue.getPlaceholder()); - Assert.assertFalse(springValue.isField()); - Assert.assertEquals(String.class, springValue.getTargetType()); + assertThat(method).isNotNull(); + assertThat(method.getName()).isEqualTo("setName"); + assertThat(springValue.getPlaceholder()).isEqualTo("${name:1000}"); + assertThat(springValue.isField()).isFalse(); + assertThat(springValue.getTargetType()).isEqualTo(String.class); - Assert.assertEquals("test", ValueTest.name); + assertThat(ValueTest.name).isEqualTo("test"); }); } @@ -163,31 +163,31 @@ public class SpringValueProcessorTest { SpringValueRegistry springValueRegistry = context.getBean(SpringValueRegistry.class); BeanFactory beanFactory = person.getBeanFactory(); Collection name = springValueRegistry.get(beanFactory, "name"); - Assert.assertFalse(CollectionUtils.isEmpty(name)); + assertThat(name).isNotEmpty(); Optional nameSpringValueOptional = name.stream().findAny(); - Assert.assertTrue(nameSpringValueOptional.isPresent()); + assertThat(nameSpringValueOptional.isPresent()).isTrue(); SpringValue nameSpringValue = nameSpringValueOptional.get(); Method method = nameSpringValue.getMethodParameter().getMethod(); - Assert.assertTrue(Objects.nonNull(method)); - Assert.assertEquals("setName", method.getName()); - Assert.assertEquals("${name:test}", nameSpringValue.getPlaceholder()); - Assert.assertFalse(nameSpringValue.isField()); - Assert.assertEquals(String.class, nameSpringValue.getTargetType()); + assertThat(method).isNotNull(); + assertThat(method.getName()).isEqualTo("setName"); + assertThat(nameSpringValue.getPlaceholder()).isEqualTo("${name:test}"); + assertThat(nameSpringValue.isField()).isFalse(); + assertThat(nameSpringValue.getTargetType()).isEqualTo(String.class); Collection age = springValueRegistry.get(beanFactory, "age"); - Assert.assertFalse(CollectionUtils.isEmpty(age)); + assertThat(age).isNotEmpty(); Optional ageSpringValueOptional = age.stream().findAny(); - Assert.assertTrue(ageSpringValueOptional.isPresent()); + assertThat(ageSpringValueOptional.isPresent()).isTrue(); SpringValue ageSpringValue = ageSpringValueOptional.get(); Method method1 = ageSpringValue.getMethodParameter().getMethod(); - Assert.assertTrue(Objects.nonNull(method1)); - Assert.assertEquals("setAge", method1.getName()); - Assert.assertEquals("${age:10}", ageSpringValue.getPlaceholder()); - Assert.assertFalse(ageSpringValue.isField()); - Assert.assertEquals(String.class, ageSpringValue.getTargetType()); + assertThat(method1).isNotNull(); + assertThat(method1.getName()).isEqualTo("setAge"); + assertThat(ageSpringValue.getPlaceholder()).isEqualTo("${age:10}"); + assertThat(ageSpringValue.isField()).isFalse(); + assertThat(ageSpringValue.getTargetType()).isEqualTo(String.class); }); } diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/spring/event/ConfigChangeSpringEventTest.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/spring/event/ConfigChangeSpringEventTest.java index 2e44c476..7bff67e6 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/spring/event/ConfigChangeSpringEventTest.java +++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/spring/event/ConfigChangeSpringEventTest.java @@ -26,14 +26,15 @@ import java.util.concurrent.atomic.AtomicInteger; import com.tencent.polaris.configuration.api.core.ChangeType; import com.tencent.polaris.configuration.api.core.ConfigPropertyChangeInfo; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.context.ApplicationListener; import org.springframework.context.annotation.Configuration; +import static org.assertj.core.api.Assertions.assertThat; + /** * Test for {@link ConfigChangeSpringEvent}. @@ -42,9 +43,9 @@ import org.springframework.context.annotation.Configuration; */ public class ConfigChangeSpringEventTest { - private static CountDownLatch countDownLatch = new CountDownLatch(1); + private static final CountDownLatch countDownLatch = new CountDownLatch(1); - private static AtomicInteger receiveEventTimes = new AtomicInteger(); + private static final AtomicInteger receiveEventTimes = new AtomicInteger(); @Test public void testPublishConfigChangeSpringEvent() { @@ -55,7 +56,7 @@ public class ConfigChangeSpringEventTest { changeMap.put("key", new ConfigPropertyChangeInfo("key", null, "value", ChangeType.ADDED)); context.publishEvent(new ConfigChangeSpringEvent(changeMap)); countDownLatch.await(5, TimeUnit.SECONDS); - Assert.assertEquals(1, receiveEventTimes.get()); + assertThat(receiveEventTimes.get()).isEqualTo(1); }); } @@ -65,13 +66,13 @@ public class ConfigChangeSpringEventTest { @Override public void onApplicationEvent(ConfigChangeSpringEvent event) { Set changedKeys = event.changedKeys(); - Assert.assertEquals(1, changedKeys.size()); - Assert.assertTrue(event.isChanged("key")); + assertThat(changedKeys.size()).isEqualTo(1); + assertThat(event.isChanged("key")).isTrue(); ConfigPropertyChangeInfo changeInfo = event.getChange("key"); - Assert.assertNotNull(changeInfo); - Assert.assertEquals("key", changeInfo.getPropertyName()); - Assert.assertEquals("value", changeInfo.getNewValue()); - Assert.assertEquals(ChangeType.ADDED, changeInfo.getChangeType()); + assertThat(changeInfo).isNotNull(); + assertThat(changeInfo.getPropertyName()).isEqualTo("key"); + assertThat(changeInfo.getNewValue()).isEqualTo("value"); + assertThat(changeInfo.getChangeType()).isEqualTo(ChangeType.ADDED); receiveEventTimes.incrementAndGet(); countDownLatch.countDown(); diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/spring/property/PlaceholderHelperTest.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/spring/property/PlaceholderHelperTest.java index a605dda8..19fb9958 100644 --- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/spring/property/PlaceholderHelperTest.java +++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/spring/property/PlaceholderHelperTest.java @@ -20,9 +20,9 @@ package com.tencent.cloud.polaris.config.spring.property; import java.util.Set; -import com.tencent.polaris.api.utils.CollectionUtils; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; /** * Test for {@link PlaceholderHelper}. @@ -43,31 +43,31 @@ public class PlaceholderHelperTest { final String placeholderCase5 = "#{new java.text.SimpleDateFormat('${some.key}').parse('${another.key}')}"; Set placeholderKeys = PLACEHOLDER_HELPER.extractPlaceholderKeys(placeholderCase); - Assert.assertEquals(1, placeholderKeys.size()); - Assert.assertTrue(placeholderKeys.contains("some.key")); + assertThat(placeholderKeys.size()).isEqualTo(1); + assertThat(placeholderKeys).contains("some.key"); Set placeholderKeys1 = PLACEHOLDER_HELPER.extractPlaceholderKeys(placeholderCase1); - Assert.assertEquals(2, placeholderKeys1.size()); - Assert.assertTrue(placeholderKeys1.contains("some.key")); - Assert.assertTrue(placeholderKeys1.contains("some.other.key")); + assertThat(placeholderKeys1.size()).isEqualTo(2); + assertThat(placeholderKeys1).contains("some.key"); + assertThat(placeholderKeys1).contains("some.other.key"); Set placeholderKeys2 = PLACEHOLDER_HELPER.extractPlaceholderKeys(placeholderCase2); - Assert.assertEquals(1, placeholderKeys2.size()); - Assert.assertTrue(placeholderKeys2.contains("some.key")); + assertThat(placeholderKeys2.size()).isEqualTo(1); + assertThat(placeholderKeys2).contains("some.key"); Set placeholderKeys3 = PLACEHOLDER_HELPER.extractPlaceholderKeys(placeholderCase3); - Assert.assertEquals(1, placeholderKeys3.size()); - Assert.assertTrue(placeholderKeys3.contains("some.key")); + assertThat(placeholderKeys3.size()).isEqualTo(1); + assertThat(placeholderKeys3).contains("some.key"); Set placeholderKeys4 = PLACEHOLDER_HELPER.extractPlaceholderKeys(placeholderCase4); - Assert.assertEquals(2, placeholderKeys4.size()); - Assert.assertTrue(placeholderKeys4.contains("some.key")); - Assert.assertTrue(placeholderKeys4.contains("another.key")); + assertThat(placeholderKeys4.size()).isEqualTo(2); + assertThat(placeholderKeys4).contains("some.key"); + assertThat(placeholderKeys4).contains("another.key"); Set placeholderKeys5 = PLACEHOLDER_HELPER.extractPlaceholderKeys(placeholderCase5); - Assert.assertEquals(2, placeholderKeys5.size()); - Assert.assertTrue(placeholderKeys5.contains("some.key")); - Assert.assertTrue(placeholderKeys5.contains("another.key")); + assertThat(placeholderKeys5.size()).isEqualTo(2); + assertThat(placeholderKeys5).contains("some.key"); + assertThat(placeholderKeys5).contains("another.key"); } @Test @@ -77,12 +77,12 @@ public class PlaceholderHelperTest { final String placeholderCase2 = "some.key"; Set placeholderKeys = PLACEHOLDER_HELPER.extractPlaceholderKeys(placeholderCase); - Assert.assertTrue(CollectionUtils.isEmpty(placeholderKeys)); + assertThat(placeholderKeys).isEmpty(); Set placeholderKeys1 = PLACEHOLDER_HELPER.extractPlaceholderKeys(placeholderCase1); - Assert.assertTrue(CollectionUtils.isEmpty(placeholderKeys1)); + assertThat(placeholderKeys1).isEmpty(); Set placeholderKeys2 = PLACEHOLDER_HELPER.extractPlaceholderKeys(placeholderCase2); - Assert.assertTrue(CollectionUtils.isEmpty(placeholderKeys2)); + assertThat(placeholderKeys2).isEmpty(); } } diff --git a/spring-cloud-starter-tencent-polaris-discovery/pom.xml b/spring-cloud-starter-tencent-polaris-discovery/pom.xml index 2d52c28f..41765991 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/pom.xml +++ b/spring-cloud-starter-tencent-polaris-discovery/pom.xml @@ -32,6 +32,12 @@ com.tencent.polaris polaris-test-mock-discovery test + + + junit + junit + + diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/DiscoveryPropertiesAutoConfigurationTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/DiscoveryPropertiesAutoConfigurationTest.java index f0d465a1..5fde947d 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/DiscoveryPropertiesAutoConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/DiscoveryPropertiesAutoConfigurationTest.java @@ -22,7 +22,7 @@ import com.tencent.cloud.polaris.discovery.PolarisDiscoveryHandler; import com.tencent.cloud.polaris.extend.consul.ConsulContextProperties; import com.tencent.polaris.api.core.ConsumerAPI; import com.tencent.polaris.api.core.ProviderAPI; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/DiscoveryPropertiesBootstrapAutoConfigurationTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/DiscoveryPropertiesBootstrapAutoConfigurationTest.java index 74f975a3..dc014929 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/DiscoveryPropertiesBootstrapAutoConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/DiscoveryPropertiesBootstrapAutoConfigurationTest.java @@ -18,7 +18,7 @@ package com.tencent.cloud.polaris; import com.tencent.cloud.polaris.context.config.PolarisContextAutoConfiguration; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/PolarisDiscoveryPropertiesTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/PolarisDiscoveryPropertiesTest.java index de059a52..5e7b958a 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/PolarisDiscoveryPropertiesTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/PolarisDiscoveryPropertiesTest.java @@ -18,7 +18,8 @@ package com.tencent.cloud.polaris; -import org.junit.Test; + +import org.junit.jupiter.api.Test; import static com.tencent.polaris.test.common.Consts.NAMESPACE_TEST; import static com.tencent.polaris.test.common.Consts.PROVIDER_TOKEN; diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryAutoConfigurationTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryAutoConfigurationTest.java index 6966d4f6..53cc7293 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryAutoConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryAutoConfigurationTest.java @@ -23,9 +23,9 @@ import com.tencent.cloud.polaris.context.config.PolarisContextAutoConfiguration; import com.tencent.polaris.api.core.ConsumerAPI; import com.tencent.polaris.api.core.ProviderAPI; import com.tencent.polaris.test.mock.discovery.NamingServer; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -55,13 +55,13 @@ public class PolarisDiscoveryAutoConfigurationTest { .withPropertyValues("server.port=" + PORT) .withPropertyValues("spring.cloud.polaris.address=grpc://127.0.0.1:10081"); - @BeforeClass - public static void beforeClass() throws Exception { + @BeforeAll + static void beforeAll() throws Exception { namingServer = NamingServer.startNamingServer(10081); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterAll() { if (null != namingServer) { namingServer.terminate(); } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryClientConfigurationTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryClientConfigurationTest.java index 4a066768..b53fce9f 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryClientConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryClientConfigurationTest.java @@ -19,9 +19,9 @@ package com.tencent.cloud.polaris.discovery; import com.tencent.cloud.polaris.context.config.PolarisContextAutoConfiguration; import com.tencent.polaris.test.mock.discovery.NamingServer; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -50,13 +50,13 @@ public class PolarisDiscoveryClientConfigurationTest { .withPropertyValues("server.port=" + PORT) .withPropertyValues("spring.cloud.polaris.address=grpc://127.0.0.1:10081"); - @BeforeClass - public static void beforeClass() throws Exception { + @BeforeAll + static void beforeAll() throws Exception { namingServer = NamingServer.startNamingServer(10081); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterAll() { if (null != namingServer) { namingServer.terminate(); } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryClientTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryClientTest.java index e69a433e..262d89b3 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryClientTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisDiscoveryClientTest.java @@ -20,11 +20,11 @@ package com.tencent.cloud.polaris.discovery; import java.util.List; import com.tencent.cloud.common.pojo.PolarisServiceInstance; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.cloud.client.ServiceInstance; @@ -40,7 +40,7 @@ import static org.mockito.Mockito.when; * * @author Haotian Zhang */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class PolarisDiscoveryClientTest { @Mock diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisServiceDiscoveryTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisServiceDiscoveryTest.java index 8e70596d..c7ec2de5 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisServiceDiscoveryTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/PolarisServiceDiscoveryTest.java @@ -26,12 +26,12 @@ import com.tencent.polaris.api.pojo.DefaultServiceInstances; import com.tencent.polaris.api.pojo.ServiceInfo; import com.tencent.polaris.api.rpc.InstancesResponse; import com.tencent.polaris.api.rpc.ServicesResponse; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.cloud.client.ServiceInstance; @@ -50,8 +50,7 @@ import static org.mockito.Mockito.when; * * @author Haotian Zhang */ -@RunWith(MockitoJUnitRunner.class) - +@ExtendWith(MockitoExtension.class) public class PolarisServiceDiscoveryTest { @Mock @@ -59,8 +58,8 @@ public class PolarisServiceDiscoveryTest { @InjectMocks private PolarisServiceDiscovery polarisServiceDiscovery; - @Before - public void before() { + @BeforeEach + void setUp() { new ApplicationContextAwareUtils().setApplicationContext(new StaticApplicationContext()); } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/reactive/PolarisReactiveDiscoveryClientConfigurationTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/reactive/PolarisReactiveDiscoveryClientConfigurationTest.java index 642d4304..4db4223d 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/reactive/PolarisReactiveDiscoveryClientConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/reactive/PolarisReactiveDiscoveryClientConfigurationTest.java @@ -20,9 +20,9 @@ package com.tencent.cloud.polaris.discovery.reactive; import com.tencent.cloud.polaris.context.config.PolarisContextAutoConfiguration; import com.tencent.cloud.polaris.discovery.PolarisDiscoveryClientConfiguration; import com.tencent.polaris.test.mock.discovery.NamingServer; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -52,13 +52,14 @@ public class PolarisReactiveDiscoveryClientConfigurationTest { .withPropertyValues("server.port=" + PORT) .withPropertyValues("spring.cloud.polaris.address=grpc://127.0.0.1:10081"); - @BeforeClass - public static void beforeClass() throws Exception { + + @BeforeAll + static void beforeAll() throws Exception { namingServer = NamingServer.startNamingServer(10081); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterAll() { if (null != namingServer) { namingServer.terminate(); } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/reactive/PolarisReactiveDiscoveryClientTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/reactive/PolarisReactiveDiscoveryClientTest.java index ac5f2088..d2bb28d0 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/reactive/PolarisReactiveDiscoveryClientTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/reactive/PolarisReactiveDiscoveryClientTest.java @@ -22,11 +22,11 @@ import java.util.Arrays; import com.tencent.cloud.polaris.discovery.PolarisServiceDiscovery; import com.tencent.polaris.api.exception.ErrorCode; import com.tencent.polaris.api.exception.PolarisException; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import reactor.core.publisher.Flux; import reactor.test.StepVerifier; @@ -44,7 +44,7 @@ import static org.mockito.Mockito.when; * * @author Haotian Zhang */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class PolarisReactiveDiscoveryClientTest { @Mock diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/refresh/PolarisServiceStatusChangeListenerTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/refresh/PolarisServiceStatusChangeListenerTest.java index 7366e210..6d7232b5 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/refresh/PolarisServiceStatusChangeListenerTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/discovery/refresh/PolarisServiceStatusChangeListenerTest.java @@ -27,8 +27,8 @@ import com.tencent.polaris.api.pojo.ServiceKey; import com.tencent.polaris.client.pojo.ServiceInstancesByProto; import com.tencent.polaris.client.pojo.ServicesByProto; import org.assertj.core.api.Assertions; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.context.ApplicationEvent; import org.springframework.context.ApplicationEventPublisher; @@ -52,8 +52,9 @@ public class PolarisServiceStatusChangeListenerTest { private ApplicationEventPublisher publisher; - @Before - public void setUp() { + + @BeforeEach + void setUp() { publisher = mock(ApplicationEventPublisher.class); doNothing().when(publisher).publishEvent(any(ApplicationEvent.class)); } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/endpoint/PolarisDiscoveryEndpointTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/endpoint/PolarisDiscoveryEndpointTest.java index 9de0e709..6d985da9 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/endpoint/PolarisDiscoveryEndpointTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/endpoint/PolarisDiscoveryEndpointTest.java @@ -24,9 +24,9 @@ import com.tencent.cloud.polaris.discovery.PolarisDiscoveryClient; import com.tencent.cloud.polaris.discovery.PolarisDiscoveryClientConfiguration; import com.tencent.cloud.polaris.discovery.PolarisDiscoveryHandler; import com.tencent.polaris.test.mock.discovery.NamingServer; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -60,13 +60,13 @@ public class PolarisDiscoveryEndpointTest { .withPropertyValues("spring.cloud.polaris.discovery.namespace=" + NAMESPACE_TEST) .withPropertyValues("spring.cloud.polaris.discovery.token=xxxxxx"); - @BeforeClass - public static void beforeClass() throws Exception { + @BeforeAll + static void beforeAll() throws Exception { namingServer = NamingServer.startNamingServer(10081); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterAll() { if (null != namingServer) { namingServer.terminate(); } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/extend/consul/ConsulContextPropertiesTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/extend/consul/ConsulContextPropertiesTest.java index 9366eed7..ec558015 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/extend/consul/ConsulContextPropertiesTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/extend/consul/ConsulContextPropertiesTest.java @@ -22,14 +22,14 @@ import java.util.Map; import com.tencent.polaris.client.api.SDKContext; import com.tencent.polaris.factory.config.global.ServerConnectorConfigImpl; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; 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 org.springframework.test.context.junit.jupiter.SpringExtension; import static com.tencent.polaris.plugins.connector.common.constant.ConsulConstant.MetadataMapKey.INSTANCE_ID_KEY; import static com.tencent.polaris.plugins.connector.common.constant.ConsulConstant.MetadataMapKey.IP_ADDRESS_KEY; @@ -44,7 +44,7 @@ import static org.assertj.core.api.Assertions.assertThat; * * @author Haotian Zhang */ -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest(classes = ConsulContextPropertiesTest.TestApplication.class) @ActiveProfiles("test") public class ConsulContextPropertiesTest { diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/extend/nacos/NacosContextPropertiesTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/extend/nacos/NacosContextPropertiesTest.java index 97588194..d3e72ca9 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/extend/nacos/NacosContextPropertiesTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/extend/nacos/NacosContextPropertiesTest.java @@ -25,14 +25,14 @@ import java.util.Optional; import com.tencent.polaris.api.config.plugin.DefaultPlugins; import com.tencent.polaris.client.api.SDKContext; import com.tencent.polaris.factory.config.global.ServerConnectorConfigImpl; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; 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 org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.util.CollectionUtils; import static org.assertj.core.api.Assertions.assertThat; @@ -42,7 +42,7 @@ import static org.assertj.core.api.Assertions.assertThat; * * @author lingxiao.wlx */ -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest(classes = NacosContextPropertiesTest.TestApplication.class) @ActiveProfiles("test") public class NacosContextPropertiesTest { @@ -75,7 +75,8 @@ public class NacosContextPropertiesTest { assertThat(optionalServerConnectorConfig.isPresent()).isTrue(); ServerConnectorConfigImpl serverConnectorConfig = optionalServerConnectorConfig.get(); if (!CollectionUtils.isEmpty(serverConnectorConfig.getAddresses())) { - assertThat(nacosContextProperties.getServerAddr().equals(serverConnectorConfig.getAddresses().get(0))).isTrue(); + assertThat(nacosContextProperties.getServerAddr() + .equals(serverConnectorConfig.getAddresses().get(0))).isTrue(); } assertThat(DefaultPlugins.SERVER_CONNECTOR_NACOS.equals(serverConnectorConfig.getProtocol())).isTrue(); diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/loadbalancer/PolarisLoadBalancerAutoConfigurationTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/loadbalancer/PolarisLoadBalancerAutoConfigurationTest.java index 9bce6353..dc338a54 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/loadbalancer/PolarisLoadBalancerAutoConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/loadbalancer/PolarisLoadBalancerAutoConfigurationTest.java @@ -19,7 +19,7 @@ package com.tencent.cloud.polaris.loadbalancer; import com.tencent.cloud.polaris.context.config.PolarisContextAutoConfiguration; import com.tencent.polaris.router.api.core.RouterAPI; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -32,7 +32,7 @@ import org.springframework.web.client.RestTemplate; import static com.tencent.polaris.test.common.Consts.PORT; import static com.tencent.polaris.test.common.Consts.SERVICE_PROVIDER; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.fail; +import static org.assertj.core.api.Assertions.assertThatThrownBy; /** * Test for {@link PolarisLoadBalancerAutoConfiguration}. @@ -56,13 +56,9 @@ public class PolarisLoadBalancerAutoConfigurationTest { this.contextRunner.run(context -> { assertThat(context).hasSingleBean(RouterAPI.class); assertThat(context).hasSingleBean(RestTemplate.class); - try { + assertThatThrownBy(() -> { context.getBean(RestTemplate.class).getForEntity("http://wrong.url", String.class); - fail(); - } - catch (Exception e) { - // do nothing - } + }).isInstanceOf(Exception.class); }); } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/loadbalancer/PolarisLoadBalancerTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/loadbalancer/PolarisLoadBalancerTest.java index 18fc952f..2b995800 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/loadbalancer/PolarisLoadBalancerTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/loadbalancer/PolarisLoadBalancerTest.java @@ -27,14 +27,14 @@ import com.tencent.polaris.api.pojo.Instance; import com.tencent.polaris.router.api.core.RouterAPI; import com.tencent.polaris.router.api.rpc.ProcessLoadBalanceResponse; import org.assertj.core.api.Assertions; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.MockedStatic; import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; @@ -56,7 +56,7 @@ import static org.mockito.Mockito.when; * * @author rod.xu */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class PolarisLoadBalancerTest { private static MockedStatic mockedApplicationContextAwareUtils; @@ -66,8 +66,8 @@ public class PolarisLoadBalancerTest { @Mock private ObjectProvider supplierObjectProvider; - @BeforeClass - public static void beforeClass() { + @BeforeAll + static void beforeAll() { mockedApplicationContextAwareUtils = Mockito.mockStatic(ApplicationContextAwareUtils.class); mockedApplicationContextAwareUtils.when(() -> ApplicationContextAwareUtils.getProperties(anyString())) .thenReturn("unit-test"); @@ -76,8 +76,8 @@ public class PolarisLoadBalancerTest { LOCAL_SERVICE, "host", 8090); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterAll() { mockedApplicationContextAwareUtils.close(); } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/loadbalancer/PolarisRouterAutoConfigurationTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/loadbalancer/PolarisRouterAutoConfigurationTest.java index b9e5a4a0..123343e7 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/loadbalancer/PolarisRouterAutoConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/loadbalancer/PolarisRouterAutoConfigurationTest.java @@ -19,7 +19,7 @@ package com.tencent.cloud.polaris.loadbalancer; import com.tencent.cloud.polaris.context.config.PolarisContextAutoConfiguration; import com.tencent.polaris.router.api.core.RouterAPI; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistrationTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistrationTest.java index 4a6b796c..867a990e 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistrationTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisAutoServiceRegistrationTest.java @@ -18,11 +18,13 @@ package com.tencent.cloud.polaris.registry; import com.tencent.cloud.polaris.PolarisDiscoveryProperties; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; import org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationProperties; import org.springframework.cloud.client.serviceregistry.ServiceRegistry; @@ -31,7 +33,7 @@ import org.springframework.core.env.Environment; import static com.tencent.polaris.test.common.Consts.SERVICE_PROVIDER; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.fail; +import static org.assertj.core.api.Assertions.assertThatCode; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Mockito.doNothing; @@ -42,7 +44,8 @@ import static org.mockito.Mockito.doReturn; * * @author Haotian Zhang */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) +@MockitoSettings(strictness = Strictness.LENIENT) public class PolarisAutoServiceRegistrationTest { @Mock @@ -65,8 +68,8 @@ public class PolarisAutoServiceRegistrationTest { private PolarisAutoServiceRegistration polarisAutoServiceRegistration; - @Before - public void setUp() { + @BeforeEach + void setUp() { doReturn(polarisDiscoveryProperties).when(registration).getPolarisProperties(); doNothing().when(serviceRegistry).register(nullable(PolarisRegistration.class)); @@ -81,20 +84,14 @@ public class PolarisAutoServiceRegistrationTest { @Test public void testRegister() { doReturn(false).when(registration).isRegisterEnabled(); - try { + assertThatCode(() -> { polarisAutoServiceRegistration.register(); - } - catch (Exception e) { - fail(); - } + }).doesNotThrowAnyException(); doReturn(true).when(registration).isRegisterEnabled(); - try { + assertThatCode(() -> { polarisAutoServiceRegistration.register(); - } - catch (Exception e) { - fail(); - } + }).doesNotThrowAnyException(); } @Test @@ -105,20 +102,14 @@ public class PolarisAutoServiceRegistrationTest { @Test public void testRegisterManagement() { doReturn(false).when(registration).isRegisterEnabled(); - try { + assertThatCode(() -> { polarisAutoServiceRegistration.registerManagement(); - } - catch (Exception e) { - fail(); - } + }).doesNotThrowAnyException(); doReturn(true).when(registration).isRegisterEnabled(); - try { + assertThatCode(() -> { polarisAutoServiceRegistration.registerManagement(); - } - catch (Exception e) { - fail(); - } + }).doesNotThrowAnyException(); } @Test diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisRegistrationTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisRegistrationTest.java index bb224592..ff8de26a 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisRegistrationTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisRegistrationTest.java @@ -28,10 +28,12 @@ import com.tencent.polaris.api.config.Configuration; import com.tencent.polaris.api.config.global.APIConfig; import com.tencent.polaris.api.config.global.GlobalConfig; import com.tencent.polaris.client.api.SDKContext; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; import org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext; import org.springframework.boot.web.server.WebServer; @@ -50,7 +52,8 @@ import static org.mockito.Mockito.when; * * @author Haotian Zhang */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) +@MockitoSettings(strictness = Strictness.LENIENT) public class PolarisRegistrationTest { private NacosContextProperties nacosContextProperties; @@ -59,8 +62,8 @@ public class PolarisRegistrationTest { private PolarisRegistration polarisRegistration3; - @Before - public void setUp() { + @BeforeEach + void setUp() { // mock PolarisDiscoveryProperties PolarisDiscoveryProperties polarisDiscoveryProperties = mock(PolarisDiscoveryProperties.class); doReturn(SERVICE_PROVIDER).when(polarisDiscoveryProperties).getService(); diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryAutoConfigurationTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryAutoConfigurationTest.java index 9535e4fb..77a0ef49 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryAutoConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryAutoConfigurationTest.java @@ -21,9 +21,9 @@ import com.tencent.cloud.polaris.context.config.PolarisContextAutoConfiguration; import com.tencent.cloud.polaris.discovery.PolarisDiscoveryAutoConfiguration; import com.tencent.cloud.polaris.discovery.PolarisDiscoveryClientConfiguration; import com.tencent.polaris.test.mock.discovery.NamingServer; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -53,13 +53,13 @@ public class PolarisServiceRegistryAutoConfigurationTest { .withPropertyValues("server.port=" + PORT) .withPropertyValues("spring.cloud.polaris.address=grpc://127.0.0.1:10081"); - @BeforeClass - public static void beforeClass() throws Exception { + @BeforeAll + static void beforeAll() throws Exception { namingServer = NamingServer.startNamingServer(10081); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterAll() { if (null != namingServer) { namingServer.terminate(); } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryTest.java index 8a6797b7..c0c740fa 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/registry/PolarisServiceRegistryTest.java @@ -22,9 +22,9 @@ import com.tencent.cloud.polaris.discovery.PolarisDiscoveryAutoConfiguration; import com.tencent.cloud.polaris.discovery.PolarisDiscoveryClientConfiguration; import com.tencent.polaris.api.pojo.ServiceKey; import com.tencent.polaris.test.mock.discovery.NamingServer; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.mockito.Mockito; import org.springframework.boot.autoconfigure.AutoConfigurations; @@ -36,7 +36,7 @@ import static com.tencent.polaris.test.common.Consts.NAMESPACE_TEST; import static com.tencent.polaris.test.common.Consts.PORT; import static com.tencent.polaris.test.common.Consts.SERVICE_PROVIDER; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.fail; +import static org.assertj.core.api.Assertions.assertThatCode; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.when; @@ -61,16 +61,16 @@ public class PolarisServiceRegistryTest { .withPropertyValues("spring.cloud.polaris.discovery.namespace=" + NAMESPACE_TEST) .withPropertyValues("spring.cloud.polaris.discovery.token=xxxxxx"); - @BeforeClass - public static void beforeClass() throws Exception { + @BeforeAll + static void beforeAll() throws Exception { namingServer = NamingServer.startNamingServer(10081); // add service namingServer.getNamingService().addService(new ServiceKey(NAMESPACE_TEST, SERVICE_PROVIDER)); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterAll() { if (null != namingServer) { namingServer.terminate(); } @@ -85,26 +85,17 @@ public class PolarisServiceRegistryTest { when(registration.getPort()).thenReturn(PORT); when(registration.getServiceId()).thenReturn(SERVICE_PROVIDER); - try { + assertThatCode(() -> { registry.register(registration); - } - catch (Exception e) { - fail(); - } + }).doesNotThrowAnyException(); - try { + assertThatCode(() -> { assertThat(registry.getStatus(registration)).isEqualTo("DOWN"); - } - catch (Exception e) { - fail(); - } + }).doesNotThrowAnyException(); - try { + assertThatCode(() -> { registry.deregister(registration); - } - catch (Exception e) { - fail(); - } + }).doesNotThrowAnyException(); }); } @@ -114,12 +105,9 @@ public class PolarisServiceRegistryTest { PolarisServiceRegistry registry = context.getBean(PolarisServiceRegistry.class); PolarisRegistration registration = Mockito.mock(PolarisRegistration.class); doReturn(null).when(registration).getServiceId(); - try { + assertThatCode(() -> { registry.deregister(registration); - } - catch (Throwable throwable) { - fail(); - } + }).doesNotThrowAnyException(); }); } diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/util/OkHttpUtilTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/util/OkHttpUtilTest.java index 5da37dfb..4da557bb 100644 --- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/util/OkHttpUtilTest.java +++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/util/OkHttpUtilTest.java @@ -18,13 +18,13 @@ package com.tencent.cloud.polaris.util; import org.assertj.core.util.Maps; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @@ -35,7 +35,7 @@ import static org.assertj.core.api.Assertions.assertThat; * * @author Haotian Zhang */ -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = OkHttpUtilTest.TestApplication.class) public class OkHttpUtilTest { diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/pom.xml b/spring-cloud-starter-tencent-polaris-ratelimit/pom.xml index 78cec1c4..0dd4540f 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/pom.xml +++ b/spring-cloud-starter-tencent-polaris-ratelimit/pom.xml @@ -63,6 +63,12 @@ com.tencent.polaris polaris-test-mock-discovery test + + + junit + junit + + diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/RateLimitRuleLabelResolver.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/RateLimitRuleLabelResolver.java index 37e77fd1..fed34dcc 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/RateLimitRuleLabelResolver.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/RateLimitRuleLabelResolver.java @@ -26,8 +26,8 @@ import java.util.Set; import com.tencent.cloud.common.util.expresstion.ExpressionLabelUtils; import com.tencent.cloud.polaris.context.ServiceRuleManager; -import com.tencent.polaris.client.pb.ModelProto; -import com.tencent.polaris.client.pb.RateLimitProto; +import com.tencent.polaris.specification.api.v1.model.ModelProto; +import com.tencent.polaris.specification.api.v1.traffic.manage.RateLimitProto; import org.springframework.util.CollectionUtils; diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpoint.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpoint.java index a97069c2..9aba2592 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpoint.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpoint.java @@ -28,7 +28,7 @@ import com.tencent.cloud.common.metadata.MetadataContext; import com.tencent.cloud.common.util.JacksonUtils; import com.tencent.cloud.polaris.context.ServiceRuleManager; import com.tencent.cloud.polaris.ratelimit.config.PolarisRateLimitProperties; -import com.tencent.polaris.client.pb.RateLimitProto; +import com.tencent.polaris.specification.api.v1.traffic.manage.RateLimitProto; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/RateLimitRuleLabelResolverTest.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/RateLimitRuleLabelResolverTest.java index c9abe032..4d39e0c3 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/RateLimitRuleLabelResolverTest.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/RateLimitRuleLabelResolverTest.java @@ -21,12 +21,12 @@ import java.util.Set; import com.google.protobuf.StringValue; import com.tencent.cloud.polaris.context.ServiceRuleManager; -import com.tencent.polaris.client.pb.ModelProto; -import com.tencent.polaris.client.pb.RateLimitProto; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import com.tencent.polaris.specification.api.v1.model.ModelProto; +import com.tencent.polaris.specification.api.v1.traffic.manage.RateLimitProto; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; @@ -39,13 +39,13 @@ import static org.mockito.Mockito.when; * * @author Haotian Zhang */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class RateLimitRuleLabelResolverTest { private RateLimitRuleLabelResolver rateLimitRuleLabelResolver; - @Before - public void setUp() { + @BeforeEach + void setUp() { ServiceRuleManager serviceRuleManager = mock(ServiceRuleManager.class); when(serviceRuleManager.getServiceRateLimitRule(any(), anyString())).thenAnswer(invocationOnMock -> { String serviceName = invocationOnMock.getArgument(1).toString(); @@ -61,7 +61,7 @@ public class RateLimitRuleLabelResolverTest { } else { ModelProto.MatchString matchString = ModelProto.MatchString.newBuilder() - .setType(ModelProto.Operation.EXACT) + .setType(ModelProto.MatchString.MatchStringType.EXACT) .setValue(StringValue.of("value")) .setValueType(ModelProto.MatchString.ValueType.TEXT).build(); RateLimitProto.Rule rule = RateLimitProto.Rule.newBuilder() diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitAutoConfigurationTest.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitAutoConfigurationTest.java index bcd3cf32..ac532a8b 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitAutoConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitAutoConfigurationTest.java @@ -22,7 +22,7 @@ import com.tencent.cloud.polaris.ratelimit.RateLimitRuleLabelResolver; import com.tencent.cloud.polaris.ratelimit.filter.QuotaCheckReactiveFilter; import com.tencent.cloud.polaris.ratelimit.filter.QuotaCheckServletFilter; import com.tencent.polaris.ratelimit.api.core.LimitAPI; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesAutoConfigurationTest.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesAutoConfigurationTest.java index f3130ed7..d9c61a0e 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesAutoConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitPropertiesAutoConfigurationTest.java @@ -17,7 +17,8 @@ package com.tencent.cloud.polaris.ratelimit.config; -import org.junit.Test; + +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; 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 index 90c88f98..5f25da71 100644 --- 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 @@ -17,7 +17,7 @@ package com.tencent.cloud.polaris.ratelimit.config; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; 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 8279ab0e..e36b9d53 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 @@ -17,14 +17,14 @@ package com.tencent.cloud.polaris.ratelimit.config; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; 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 org.springframework.test.context.junit.jupiter.SpringExtension; import static org.assertj.core.api.Assertions.assertThat; @@ -33,7 +33,7 @@ import static org.assertj.core.api.Assertions.assertThat; * * @author Haotian Zhang */ -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest(classes = PolarisRateLimitPropertiesTest.TestApplication.class) @ActiveProfiles("test") public class PolarisRateLimitPropertiesTest { diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/controller/CalleeControllerTests.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/controller/CalleeControllerTests.java index b8072d62..53b0ade3 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/controller/CalleeControllerTests.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/controller/CalleeControllerTests.java @@ -23,12 +23,11 @@ import com.tencent.polaris.ratelimit.api.rpc.QuotaResponse; import com.tencent.polaris.ratelimit.api.rpc.QuotaResultCode; import com.tencent.polaris.test.mock.discovery.NamingServer; import com.tencent.polaris.test.mock.discovery.NamingService; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -37,7 +36,7 @@ import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.web.client.HttpClientErrorException.TooManyRequests; import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate; @@ -45,6 +44,8 @@ import org.springframework.web.client.RestTemplate; import static com.tencent.polaris.test.common.Consts.NAMESPACE_TEST; import static com.tencent.polaris.test.common.Consts.PORT; import static com.tencent.polaris.test.common.Consts.SERVICE_PROVIDER; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Fail.fail; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -54,7 +55,7 @@ import static org.mockito.Mockito.when; * * @author Haotian Zhang */ -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = {CalleeControllerTests.Config.class, TestController.class}, properties = {"spring.application.name=java_provider_test", "spring.cloud.polaris.discovery.namespace=Test", @@ -72,8 +73,8 @@ public class CalleeControllerTests { @MockBean private LimitAPI limitAPI; - @BeforeClass - public static void beforeClass() throws Exception { + @BeforeAll + static void beforeAll() throws Exception { namingServer = NamingServer.startNamingServer(10081); // add service with 3 instances @@ -85,15 +86,15 @@ public class CalleeControllerTests { namingServer.getNamingService().batchAddInstances(serviceKey, PORT, 3, instanceParameter); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterAll() { if (null != namingServer) { namingServer.terminate(); } } - @Before - public void setUp() { + @BeforeEach + void setUp() { QuotaResponse quotaResponse = mock(QuotaResponse.class); when(quotaResponse.getCode()).thenReturn(QuotaResultCode.QuotaResultOk); when(limitAPI.getQuota(any())).thenReturn(quotaResponse); @@ -124,12 +125,12 @@ public class CalleeControllerTests { } else { e.printStackTrace(); - Assert.fail(e.getMessage()); + fail(e.getMessage()); } } } - Assert.assertTrue(hasPassed); - Assert.assertTrue(hasLimited); + assertThat(hasPassed).isTrue(); + assertThat(hasLimited).isTrue(); } @Configuration diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpointTests.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpointTests.java index d157c1e0..acc1438a 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpointTests.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/endpoint/PolarisRateLimitRuleEndpointTests.java @@ -22,12 +22,12 @@ import java.util.Map; import com.google.protobuf.StringValue; import com.tencent.cloud.polaris.context.ServiceRuleManager; import com.tencent.cloud.polaris.ratelimit.config.PolarisRateLimitProperties; -import com.tencent.polaris.client.pb.ModelProto; -import com.tencent.polaris.client.pb.RateLimitProto; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import com.tencent.polaris.specification.api.v1.model.ModelProto; +import com.tencent.polaris.specification.api.v1.traffic.manage.RateLimitProto; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -48,7 +48,7 @@ import static org.mockito.Mockito.when; * * @author shuiqingliu */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class PolarisRateLimitRuleEndpointTests { private final WebApplicationContextRunner contextRunner = new WebApplicationContextRunner() @@ -66,8 +66,8 @@ public class PolarisRateLimitRuleEndpointTests { private ServiceRuleManager serviceRuleManager; private PolarisRateLimitProperties polarisRateLimitProperties; - @Before - public void setUp() { + @BeforeEach + void setUp() { serviceRuleManager = mock(ServiceRuleManager.class); when(serviceRuleManager.getServiceRateLimitRule(any(), anyString())).thenAnswer(invocationOnMock -> { String serviceName = invocationOnMock.getArgument(1).toString(); @@ -83,7 +83,7 @@ public class PolarisRateLimitRuleEndpointTests { } else { ModelProto.MatchString matchString = ModelProto.MatchString.newBuilder() - .setType(ModelProto.Operation.EXACT) + .setType(ModelProto.MatchString.MatchStringType.EXACT) .setValue(StringValue.of("value")) .setValueType(ModelProto.MatchString.ValueType.TEXT).build(); RateLimitProto.Rule rule = RateLimitProto.Rule.newBuilder() diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckReactiveFilterTest.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckReactiveFilterTest.java index 0e5b9d3d..e707cb47 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckReactiveFilterTest.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckReactiveFilterTest.java @@ -36,14 +36,16 @@ import com.tencent.polaris.api.plugin.ratelimiter.QuotaResult; import com.tencent.polaris.ratelimit.api.core.LimitAPI; import com.tencent.polaris.ratelimit.api.rpc.QuotaRequest; import com.tencent.polaris.ratelimit.api.rpc.QuotaResponse; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.MockedStatic; import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; import reactor.core.publisher.Mono; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -69,7 +71,8 @@ import static org.mockito.Mockito.when; * * @author Haotian Zhang, kaiy */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) +@MockitoSettings(strictness = Strictness.LENIENT) @SpringBootTest(classes = QuotaCheckReactiveFilterTest.TestApplication.class, properties = {"spring.cloud.polaris.namespace=Test", "spring.cloud.polaris.service=TestApp"}) public class QuotaCheckReactiveFilterTest { @@ -82,8 +85,8 @@ public class QuotaCheckReactiveFilterTest { private QuotaCheckReactiveFilter quotaCheckWithRateLimiterLimitedFallbackReactiveFilter; private PolarisRateLimiterLimitedFallback polarisRateLimiterLimitedFallback; - @BeforeClass - public static void beforeClass() { + @BeforeAll + static void beforeAll() { expressionLabelUtilsMockedStatic = mockStatic(SpringWebExpressionLabelUtils.class); when(SpringWebExpressionLabelUtils.resolve(any(ServerWebExchange.class), anySet())) .thenReturn(Collections.singletonMap("RuleLabelResolver", "RuleLabelResolver")); @@ -93,14 +96,14 @@ public class QuotaCheckReactiveFilterTest { .thenReturn("unit-test"); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterAll() { mockedApplicationContextAwareUtils.close(); expressionLabelUtilsMockedStatic.close(); } - @Before - public void setUp() { + @BeforeEach + void setUp() { MetadataContext.LOCAL_NAMESPACE = "TEST"; polarisRateLimiterLimitedFallback = new JsonPolarisRateLimiterLimitedFallback(); diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckServletFilterTest.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckServletFilterTest.java index 44f09146..3f9cfc61 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckServletFilterTest.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/filter/QuotaCheckServletFilterTest.java @@ -38,14 +38,16 @@ import com.tencent.polaris.ratelimit.api.rpc.QuotaResponse; import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.MockedStatic; import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; +import org.mockito.junit.jupiter.MockitoSettings; +import org.mockito.quality.Strictness; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.test.context.SpringBootTest; @@ -68,7 +70,8 @@ import static org.mockito.Mockito.when; * * @author Haotian Zhang, cheese8 */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) +@MockitoSettings(strictness = Strictness.LENIENT) @SpringBootTest(classes = QuotaCheckServletFilterTest.TestApplication.class, properties = { "spring.cloud.polaris.namespace=Test", "spring.cloud.polaris.service=TestApp" }) @@ -83,8 +86,8 @@ public class QuotaCheckServletFilterTest { private QuotaCheckServletFilter quotaCheckWithRateLimiterLimitedFallbackFilter; private PolarisRateLimiterLimitedFallback polarisRateLimiterLimitedFallback; - @BeforeClass - public static void beforeClass() { + @BeforeAll + static void beforeAll() { expressionLabelUtilsMockedStatic = mockStatic(SpringWebExpressionLabelUtils.class); when(SpringWebExpressionLabelUtils.resolve(any(ServerWebExchange.class), anySet())) .thenReturn(Collections.singletonMap("RuleLabelResolver", "RuleLabelResolver")); @@ -94,14 +97,14 @@ public class QuotaCheckServletFilterTest { .thenReturn("unit-test"); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterAll() { mockedApplicationContextAwareUtils.close(); expressionLabelUtilsMockedStatic.close(); } - @Before - public void setUp() { + @BeforeEach + void setUp() { MetadataContext.LOCAL_NAMESPACE = "TEST"; LimitAPI limitAPI = mock(LimitAPI.class); @@ -238,6 +241,7 @@ public class QuotaCheckServletFilterTest { fail("Exception encountered.", e); } } + @Test public void polarisRateLimiterLimitedFallbackTest() { // Create mock FilterChain diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/utils/QuotaCheckUtilsTest.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/utils/QuotaCheckUtilsTest.java index d679381c..91e361a8 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/utils/QuotaCheckUtilsTest.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/utils/QuotaCheckUtilsTest.java @@ -22,10 +22,10 @@ import com.tencent.polaris.ratelimit.api.core.LimitAPI; import com.tencent.polaris.ratelimit.api.rpc.QuotaRequest; import com.tencent.polaris.ratelimit.api.rpc.QuotaResponse; import com.tencent.polaris.ratelimit.api.rpc.QuotaResultCode; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; @@ -37,13 +37,13 @@ import static org.mockito.Mockito.when; * * @author Haotian Zhang */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class QuotaCheckUtilsTest { private LimitAPI limitAPI; - @Before - public void setUp() { + @BeforeEach + void setUp() { limitAPI = mock(LimitAPI.class); when(limitAPI.getQuota(any(QuotaRequest.class))).thenAnswer(invocationOnMock -> { String serviceName = ((QuotaRequest) invocationOnMock.getArgument(0)).getService(); diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/utils/RateLimitUtilsTest.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/utils/RateLimitUtilsTest.java index 351e0b73..3c57633d 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/utils/RateLimitUtilsTest.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/test/java/com/tencent/cloud/polaris/ratelimit/utils/RateLimitUtilsTest.java @@ -21,10 +21,12 @@ import java.io.IOException; import com.tencent.cloud.common.util.ResourceFileUtils; import com.tencent.cloud.polaris.ratelimit.config.PolarisRateLimitProperties; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.MockedStatic; +import org.mockito.junit.jupiter.MockitoExtension; import static com.tencent.cloud.polaris.ratelimit.constant.RateLimitConstant.QUOTA_LIMITED_INFO; import static org.assertj.core.api.Assertions.assertThat; @@ -37,12 +39,14 @@ import static org.mockito.Mockito.when; * * @author Haotian Zhang */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class RateLimitUtilsTest { - @BeforeClass - public static void beforeClass() throws IOException { - mockStatic(ResourceFileUtils.class); + private static MockedStatic mockedResourceFileUtils; + + @BeforeAll + static void beforeAll() throws IOException { + mockedResourceFileUtils = mockStatic(ResourceFileUtils.class); when(ResourceFileUtils.readFile(anyString())).thenAnswer(invocation -> { String rejectFilePath = invocation.getArgument(0).toString(); if (rejectFilePath.equals("exception.html")) { @@ -54,6 +58,11 @@ public class RateLimitUtilsTest { }); } + @AfterAll + static void afterAll() { + mockedResourceFileUtils.close(); + } + @Test public void testGetRejectTips() { PolarisRateLimitProperties polarisRateLimitProperties = new PolarisRateLimitProperties(); diff --git a/spring-cloud-starter-tencent-polaris-router/pom.xml b/spring-cloud-starter-tencent-polaris-router/pom.xml index f9ceecca..2e8dc7cb 100644 --- a/spring-cloud-starter-tencent-polaris-router/pom.xml +++ b/spring-cloud-starter-tencent-polaris-router/pom.xml @@ -29,6 +29,12 @@ com.tencent.polaris router-rule + + + junit + junit + + com.tencent.polaris diff --git a/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/RouterRuleLabelResolver.java b/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/RouterRuleLabelResolver.java index b7b5821a..b410db61 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/RouterRuleLabelResolver.java +++ b/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/RouterRuleLabelResolver.java @@ -26,8 +26,8 @@ import java.util.Set; import com.tencent.cloud.common.util.expresstion.ExpressionLabelUtils; import com.tencent.cloud.polaris.context.ServiceRuleManager; -import com.tencent.polaris.client.pb.ModelProto; -import com.tencent.polaris.client.pb.RoutingProto; +import com.tencent.polaris.specification.api.v1.model.ModelProto; +import com.tencent.polaris.specification.api.v1.traffic.manage.RoutingProto; import org.springframework.util.CollectionUtils; diff --git a/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/endpoint/PolarisRouterEndpoint.java b/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/endpoint/PolarisRouterEndpoint.java index 6fd47cf2..661af3a1 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/endpoint/PolarisRouterEndpoint.java +++ b/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/endpoint/PolarisRouterEndpoint.java @@ -28,7 +28,7 @@ import com.google.protobuf.util.JsonFormat; import com.tencent.cloud.common.metadata.MetadataContext; import com.tencent.cloud.common.util.JacksonUtils; import com.tencent.cloud.polaris.context.ServiceRuleManager; -import com.tencent.polaris.client.pb.RoutingProto; +import com.tencent.polaris.specification.api.v1.traffic.manage.RoutingProto; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/PolarisRouterContextTest.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/PolarisRouterContextTest.java index 6c795db9..023bce79 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/PolarisRouterContextTest.java +++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/PolarisRouterContextTest.java @@ -24,8 +24,9 @@ import java.util.Set; import com.google.common.collect.Sets; import com.tencent.cloud.common.constant.RouterConstant; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; /** * test for {@link PolarisRouterContext}. @@ -43,26 +44,26 @@ public class PolarisRouterContextTest { PolarisRouterContext routerContext = new PolarisRouterContext(); routerContext.putLabels(RouterConstant.ROUTER_LABELS, labels); - Assert.assertEquals(0, routerContext.getLabels(RouterConstant.TRANSITIVE_LABELS).size()); - Assert.assertEquals(2, routerContext.getLabels(RouterConstant.ROUTER_LABELS).size()); - Assert.assertEquals("v1", routerContext.getLabels(RouterConstant.ROUTER_LABELS).get("k1")); - Assert.assertEquals("v2", routerContext.getLabels(RouterConstant.ROUTER_LABELS).get("k2")); - Assert.assertNull(routerContext.getLabels(RouterConstant.ROUTER_LABELS).get("k3")); + assertThat(routerContext.getLabels(RouterConstant.TRANSITIVE_LABELS).size()).isEqualTo(0); + assertThat(routerContext.getLabels(RouterConstant.ROUTER_LABELS).size()).isEqualTo(2); + assertThat(routerContext.getLabels(RouterConstant.ROUTER_LABELS).get("k1")).isEqualTo("v1"); + assertThat(routerContext.getLabels(RouterConstant.ROUTER_LABELS).get("k2")).isEqualTo("v2"); + assertThat(routerContext.getLabels(RouterConstant.ROUTER_LABELS).get("k3")).isNull(); } @Test public void testSetNull() { PolarisRouterContext routerContext = new PolarisRouterContext(); routerContext.putLabels(RouterConstant.ROUTER_LABELS, null); - Assert.assertEquals(0, routerContext.getLabels(RouterConstant.TRANSITIVE_LABELS).size()); - Assert.assertEquals(0, routerContext.getLabels(RouterConstant.ROUTER_LABELS).size()); + assertThat(routerContext.getLabels(RouterConstant.TRANSITIVE_LABELS).size()).isEqualTo(0); + assertThat(routerContext.getLabels(RouterConstant.ROUTER_LABELS).size()).isEqualTo(0); } @Test public void testGetEmptyRouterContext() { PolarisRouterContext routerContext = new PolarisRouterContext(); - Assert.assertEquals(0, routerContext.getLabels(RouterConstant.TRANSITIVE_LABELS).size()); - Assert.assertEquals(0, routerContext.getLabels(RouterConstant.ROUTER_LABELS).size()); + assertThat(routerContext.getLabels(RouterConstant.TRANSITIVE_LABELS).size()).isEqualTo(0); + assertThat(routerContext.getLabels(RouterConstant.ROUTER_LABELS).size()).isEqualTo(0); } @Test @@ -78,9 +79,9 @@ public class PolarisRouterContextTest { Map resolvedLabels = routerContext.getLabels(RouterConstant.ROUTER_LABELS, Sets.newHashSet("k1", "k2", "k4")); - Assert.assertEquals(2, resolvedLabels.size()); - Assert.assertEquals("v1", resolvedLabels.get("k1")); - Assert.assertEquals("v2", resolvedLabels.get("k2")); + assertThat(resolvedLabels.size()).isEqualTo(2); + assertThat(resolvedLabels.get("k1")).isEqualTo("v1"); + assertThat(resolvedLabels.get("k2")).isEqualTo("v2"); } @Test @@ -94,8 +95,7 @@ public class PolarisRouterContextTest { routerContext.putLabels(RouterConstant.ROUTER_LABELS, labels); String resolvedLabel = routerContext.getLabel("k1"); - - Assert.assertEquals("v1", resolvedLabel); + assertThat(resolvedLabel).isEqualTo("v1"); } @Test @@ -108,9 +108,9 @@ public class PolarisRouterContextTest { Set resolvedLabels = routerContext.getLabelAsSet("k1"); - Assert.assertEquals(3, resolvedLabels.size()); - Assert.assertTrue(resolvedLabels.contains("v1")); - Assert.assertTrue(resolvedLabels.contains("v2")); - Assert.assertTrue(resolvedLabels.contains("v3")); + assertThat(resolvedLabels.size()).isEqualTo(3); + assertThat(resolvedLabels).contains("v1"); + assertThat(resolvedLabels).contains("v2"); + assertThat(resolvedLabels).contains("v3"); } } diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/PolarisRouterServiceInstanceListSupplierTest.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/PolarisRouterServiceInstanceListSupplierTest.java index 08a576c8..00a30183 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/PolarisRouterServiceInstanceListSupplierTest.java +++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/PolarisRouterServiceInstanceListSupplierTest.java @@ -52,15 +52,13 @@ import com.tencent.polaris.plugins.router.rule.RuleBasedRouter; import com.tencent.polaris.router.api.core.RouterAPI; import com.tencent.polaris.router.api.rpc.ProcessRoutersRequest; import com.tencent.polaris.router.api.rpc.ProcessRoutersResponse; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.jupiter.api.Assertions; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.MockedStatic; import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import reactor.core.publisher.Flux; import org.springframework.cloud.client.ServiceInstance; @@ -71,6 +69,7 @@ import org.springframework.cloud.loadbalancer.core.ServiceInstanceListSupplier; import org.springframework.http.HttpHeaders; import org.springframework.mock.http.server.reactive.MockServerHttpRequest; +import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.assertj.core.api.AssertionsForClassTypes.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; @@ -81,7 +80,7 @@ import static org.mockito.Mockito.when; * * @author lepdou 2022-05-26 */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class PolarisRouterServiceInstanceListSupplierTest { private static final AtomicBoolean initTransitiveMetadata = new AtomicBoolean(false); @@ -100,8 +99,8 @@ public class PolarisRouterServiceInstanceListSupplierTest { @Mock private RouterAPI routerAPI; - @Before - public void before() { + @BeforeEach + void setUp() { requestInterceptors.add(new MetadataRouterRequestInterceptor(polarisMetadataRouterProperties)); requestInterceptors.add(new NearbyRouterRequestInterceptor(polarisNearByRouterProperties)); requestInterceptors.add(new RuleBasedRouterRequestInterceptor(polarisRuleBasedRouterProperties)); @@ -133,13 +132,13 @@ public class PolarisRouterServiceInstanceListSupplierTest { Set routerMetadata = request.getRouterArguments(MetadataRouter.ROUTER_TYPE_METADATA); - Assert.assertEquals(1, routerMetadata.size()); - Assert.assertEquals(0, request.getRouterArguments(NearbyRouter.ROUTER_TYPE_NEAR_BY).size()); - Assert.assertEquals(1, request.getRouterArguments(RuleBasedRouter.ROUTER_TYPE_RULE_BASED).size()); + assertThat(routerMetadata.size()).isEqualTo(1); + assertThat(request.getRouterArguments(NearbyRouter.ROUTER_TYPE_NEAR_BY).size()).isEqualTo(0); + assertThat(request.getRouterArguments(RuleBasedRouter.ROUTER_TYPE_RULE_BASED).size()).isEqualTo(1); for (RouteArgument routeArgument : request.getRouterArguments(RuleBasedRouter.ROUTER_TYPE_RULE_BASED)) { - Assert.assertEquals(RuleBasedRouter.ROUTER_ENABLED, routeArgument.getKey()); - Assert.assertEquals("false", routeArgument.getValue()); + assertThat(routeArgument.getKey()).isEqualTo(RuleBasedRouter.ROUTER_ENABLED); + assertThat(routeArgument.getValue()).isEqualTo("false"); } } } @@ -165,19 +164,19 @@ public class PolarisRouterServiceInstanceListSupplierTest { Set routerMetadata = request.getRouterArguments(NearbyRouter.ROUTER_TYPE_NEAR_BY); - Assert.assertEquals(0, request.getRouterArguments(MetadataRouter.ROUTER_TYPE_METADATA).size()); - Assert.assertEquals(1, routerMetadata.size()); + assertThat(request.getRouterArguments(MetadataRouter.ROUTER_TYPE_METADATA).size()).isEqualTo(0); + assertThat(routerMetadata.size()).isEqualTo(1); for (RouteArgument routeArgument : routerMetadata) { - Assert.assertEquals(NearbyRouter.ROUTER_ENABLED, routeArgument.getKey()); - Assert.assertEquals("true", routeArgument.getValue()); + assertThat(routeArgument.getKey()).isEqualTo(RuleBasedRouter.ROUTER_ENABLED); + assertThat(routeArgument.getValue()).isEqualTo("true"); } - Assert.assertEquals(1, request.getRouterArguments(RuleBasedRouter.ROUTER_TYPE_RULE_BASED).size()); + assertThat(request.getRouterArguments(RuleBasedRouter.ROUTER_TYPE_RULE_BASED).size()).isEqualTo(1); for (RouteArgument routeArgument : request.getRouterArguments(RuleBasedRouter.ROUTER_TYPE_RULE_BASED)) { - Assert.assertEquals(RuleBasedRouter.ROUTER_ENABLED, routeArgument.getKey()); - Assert.assertEquals("false", routeArgument.getValue()); + assertThat(routeArgument.getKey()).isEqualTo(RuleBasedRouter.ROUTER_ENABLED); + assertThat(routeArgument.getValue()).isEqualTo("false"); } } } @@ -203,9 +202,9 @@ public class PolarisRouterServiceInstanceListSupplierTest { Set routerMetadata = request.getRouterArguments(RuleBasedRouter.ROUTER_TYPE_RULE_BASED); - Assert.assertEquals(3, routerMetadata.size()); - Assert.assertEquals(0, request.getRouterArguments(MetadataRouter.ROUTER_TYPE_METADATA).size()); - Assert.assertEquals(0, request.getRouterArguments(NearbyRouter.ROUTER_TYPE_NEAR_BY).size()); + assertThat(routerMetadata.size()).isEqualTo(3); + assertThat(request.getRouterArguments(MetadataRouter.ROUTER_TYPE_METADATA).size()).isEqualTo(0); + assertThat(request.getRouterArguments(NearbyRouter.ROUTER_TYPE_NEAR_BY).size()).isEqualTo(0); } } @@ -227,9 +226,8 @@ public class PolarisRouterServiceInstanceListSupplierTest { Flux> servers = polarisSupplier.doRouter(assembleServers(), assembleRouterContext()); - - Assert.assertEquals(assembleResponse.getServiceInstances().getInstances().size(), - servers.toStream().mapToLong(List::size).sum()); + assertThat(servers.toStream().mapToLong(List::size).sum()).isEqualTo(assembleResponse.getServiceInstances() + .getInstances().size()); } } @@ -240,7 +238,7 @@ public class PolarisRouterServiceInstanceListSupplierTest { HttpHeaders headers = new HttpHeaders(); PolarisRouterContext context = polarisSupplier.buildRouterContext(headers); - Assert.assertNull(context); + assertThat(context).isNull(); // mock try (MockedStatic mockedApplicationContextAwareUtils = Mockito.mockStatic(ApplicationContextAwareUtils.class)) { @@ -259,7 +257,7 @@ public class PolarisRouterServiceInstanceListSupplierTest { public void testGet01() { PolarisRouterServiceInstanceListSupplier polarisSupplier = new PolarisRouterServiceInstanceListSupplier( delegate, routerAPI, requestInterceptors, null); - Assertions.assertThrows(PolarisException.class, () -> polarisSupplier.get()); + assertThatThrownBy(() -> polarisSupplier.get()).isInstanceOf(PolarisException.class); } @Test @@ -277,7 +275,7 @@ public class PolarisRouterServiceInstanceListSupplierTest { .build(); RequestDataContext requestDataContext = new RequestDataContext(new RequestData(httpRequest), "blue"); DefaultRequest request = new DefaultRequest(requestDataContext); - Assert.assertNull(polarisSupplier.get(request)); + assertThat(polarisSupplier.get(request)).isNull(); } } diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/RouterRuleLabelResolverTest.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/RouterRuleLabelResolverTest.java index 9e07504f..a1622c7b 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/RouterRuleLabelResolverTest.java +++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/RouterRuleLabelResolverTest.java @@ -24,31 +24,30 @@ import java.util.List; import java.util.Map; import java.util.Set; -import com.google.common.collect.Lists; import com.tencent.cloud.polaris.context.ServiceRuleManager; -import com.tencent.polaris.client.pb.ModelProto; -import com.tencent.polaris.client.pb.RoutingProto; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; +import com.tencent.polaris.specification.api.v1.model.ModelProto; +import com.tencent.polaris.specification.api.v1.traffic.manage.RoutingProto; +import org.assertj.core.util.Lists; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.when; /** * test for {@link RouterRuleLabelResolver}. *@author lepdou 2022-05-26 */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class RouterRuleLabelResolverTest { - @Mock - private ServiceRuleManager serviceRuleManager; - private final String testNamespace = "testNamespace"; private final String testSourceService = "sourceService"; private final String testDstService = "dstService"; + @Mock + private ServiceRuleManager serviceRuleManager; @Test public void test() { @@ -73,7 +72,7 @@ public class RouterRuleLabelResolverTest { List routes = new LinkedList<>(); RoutingProto.Route route = RoutingProto.Route.newBuilder() - .addAllSources(Lists.newArrayList(source1, source2, source3)) + .addAllSources(Lists.list(source1, source2, source3)) .build(); routes.add(route); @@ -83,13 +82,13 @@ public class RouterRuleLabelResolverTest { Set resolvedExpressionLabelKeys = resolver.getExpressionLabelKeys(testNamespace, testSourceService, testDstService); - Assert.assertNotNull(resolvedExpressionLabelKeys); - Assert.assertEquals(6, resolvedExpressionLabelKeys.size()); - Assert.assertTrue(resolvedExpressionLabelKeys.contains(validKey1)); - Assert.assertTrue(resolvedExpressionLabelKeys.contains(validKey2)); - Assert.assertTrue(resolvedExpressionLabelKeys.contains(validKey3)); - Assert.assertTrue(resolvedExpressionLabelKeys.contains(validKey4)); - Assert.assertTrue(resolvedExpressionLabelKeys.contains(validKey5)); - Assert.assertTrue(resolvedExpressionLabelKeys.contains(invalidKey)); + assertThat(resolvedExpressionLabelKeys).isNotNull(); + assertThat(resolvedExpressionLabelKeys.size()).isEqualTo(6); + assertThat(resolvedExpressionLabelKeys).contains(validKey1); + assertThat(resolvedExpressionLabelKeys).contains(validKey2); + assertThat(resolvedExpressionLabelKeys).contains(validKey3); + assertThat(resolvedExpressionLabelKeys).contains(validKey4); + assertThat(resolvedExpressionLabelKeys).contains(validKey5); + assertThat(resolvedExpressionLabelKeys).contains(invalidKey); } } diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/RouterUtilsTest.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/RouterUtilsTest.java index c9d41712..42fe721f 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/RouterUtilsTest.java +++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/RouterUtilsTest.java @@ -27,86 +27,76 @@ import com.tencent.cloud.common.util.ApplicationContextAwareUtils; import com.tencent.polaris.api.pojo.DefaultInstance; import com.tencent.polaris.api.pojo.Instance; import com.tencent.polaris.api.pojo.ServiceInstances; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.MockedStatic; import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import reactor.core.publisher.Flux; import org.springframework.cloud.client.ServiceInstance; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.mockStatic; /** * Test for ${@link RouterUtils}. * * @author lepdou 2022-07-04 */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class RouterUtilsTest { private static final String testNamespaceAndService = "testNamespaceAndService"; - private static MockedStatic mockedApplicationContextAwareUtils; - private static MockedStatic mockedMetadataContextHolder; - - @BeforeClass - public static void beforeClass() { - mockedApplicationContextAwareUtils = Mockito.mockStatic(ApplicationContextAwareUtils.class); - mockedApplicationContextAwareUtils.when(() -> ApplicationContextAwareUtils.getProperties(anyString())) - .thenReturn(testNamespaceAndService); - - MetadataContext metadataContext = Mockito.mock(MetadataContext.class); - mockedMetadataContextHolder = Mockito.mockStatic(MetadataContextHolder.class); - mockedMetadataContextHolder.when(MetadataContextHolder::get).thenReturn(metadataContext); - } - - @AfterClass - public static void afterClass() { - mockedApplicationContextAwareUtils.close(); - mockedMetadataContextHolder.close(); - } @Test public void testTransferEmptyInstances() { ServiceInstances serviceInstances = RouterUtils.transferServersToServiceInstances(Flux.empty()); - Assert.assertNotNull(serviceInstances.getInstances()); - Assert.assertEquals(0, serviceInstances.getInstances().size()); + assertThat(serviceInstances.getInstances()).isNotNull(); + assertThat(serviceInstances.getInstances()).isEmpty(); } @Test public void testTransferNotEmptyInstances() { - int instanceSize = 100; - int weight = 50; - - List instances = new ArrayList<>(); - for (int i = 0; i < instanceSize; i++) { - DefaultInstance instance = new DefaultInstance(); - instance.setService(testNamespaceAndService); - instance.setId("ins" + i); - instance.setPort(8080); - instance.setHost("127.0.0." + i); - instance.setWeight(weight); - instances.add(new PolarisServiceInstance(instance)); - } - - ServiceInstances serviceInstances = RouterUtils.transferServersToServiceInstances(Flux.just(instances)); - - Assert.assertNotNull(serviceInstances.getInstances()); - Assert.assertEquals(instanceSize, serviceInstances.getInstances().size()); - - List polarisInstances = serviceInstances.getInstances(); - for (int i = 0; i < instanceSize; i++) { - Instance instance = polarisInstances.get(i); - Assert.assertEquals(testNamespaceAndService, instance.getNamespace()); - Assert.assertEquals(testNamespaceAndService, instance.getService()); - Assert.assertEquals("ins" + i, instance.getId()); - Assert.assertEquals("127.0.0." + i, instance.getHost()); - Assert.assertEquals(8080, instance.getPort()); - Assert.assertEquals(weight, instance.getWeight()); + try ( + MockedStatic mockedApplicationContextAwareUtils = mockStatic(ApplicationContextAwareUtils.class); + MockedStatic mockedMetadataContextHolder = mockStatic(MetadataContextHolder.class) + ) { + mockedApplicationContextAwareUtils.when(() -> ApplicationContextAwareUtils.getProperties(anyString())) + .thenReturn(testNamespaceAndService); + MetadataContext metadataContext = Mockito.mock(MetadataContext.class); + mockedMetadataContextHolder.when(MetadataContextHolder::get).thenReturn(metadataContext); + + int instanceSize = 100; + int weight = 50; + + List instances = new ArrayList<>(); + for (int i = 0; i < instanceSize; i++) { + DefaultInstance instance = new DefaultInstance(); + instance.setService(testNamespaceAndService); + instance.setId("ins" + i); + instance.setPort(8080); + instance.setHost("127.0.0." + i); + instance.setWeight(weight); + instances.add(new PolarisServiceInstance(instance)); + } + + ServiceInstances serviceInstances = RouterUtils.transferServersToServiceInstances(Flux.just(instances)); + + assertThat(serviceInstances.getInstances()).isNotNull(); + assertThat(serviceInstances.getInstances().size()).isEqualTo(instanceSize); + + List polarisInstances = serviceInstances.getInstances(); + for (int i = 0; i < instanceSize; i++) { + Instance instance = polarisInstances.get(i); + assertThat(instance.getNamespace()).isEqualTo(testNamespaceAndService); + assertThat(instance.getService()).isEqualTo(testNamespaceAndService); + assertThat(instance.getId()).isEqualTo("ins" + i); + assertThat(instance.getHost()).isEqualTo("127.0.0." + i); + assertThat(instance.getPort()).isEqualTo(8080); + assertThat(instance.getWeight()).isEqualTo(weight); + } } } } diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/beanprocessor/ReactiveLoadBalancerClientFilterBeanPostProcessorTest.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/beanprocessor/ReactiveLoadBalancerClientFilterBeanPostProcessorTest.java index cff18c2e..90dde863 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/beanprocessor/ReactiveLoadBalancerClientFilterBeanPostProcessorTest.java +++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/beanprocessor/ReactiveLoadBalancerClientFilterBeanPostProcessorTest.java @@ -22,19 +22,19 @@ import com.tencent.cloud.common.util.BeanFactoryUtils; import com.tencent.cloud.polaris.router.RouterRuleLabelResolver; import com.tencent.cloud.polaris.router.scg.PolarisReactiveLoadBalancerClientFilter; import com.tencent.cloud.polaris.router.spi.SpringWebRouterLabelResolver; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.MockedStatic; import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.beans.factory.BeanFactory; import org.springframework.cloud.gateway.config.GatewayLoadBalancerProperties; import org.springframework.cloud.gateway.filter.ReactiveLoadBalancerClientFilter; import org.springframework.cloud.loadbalancer.support.LoadBalancerClientFactory; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.when; @@ -43,7 +43,7 @@ import static org.mockito.Mockito.when; * * @author lepdou 2022-07-04 */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class ReactiveLoadBalancerClientFilterBeanPostProcessorTest { @Mock @@ -75,8 +75,7 @@ public class ReactiveLoadBalancerClientFilterBeanPostProcessorTest { processor.setBeanFactory(beanFactory); Object bean = processor.postProcessBeforeInitialization(reactiveLoadBalancerClientFilter, ""); - - Assert.assertTrue(bean instanceof PolarisReactiveLoadBalancerClientFilter); + assertThat(bean).isInstanceOf(PolarisReactiveLoadBalancerClientFilter.class); } } @@ -87,8 +86,8 @@ public class ReactiveLoadBalancerClientFilterBeanPostProcessorTest { OtherBean otherBean = new OtherBean(); Object bean = processor.postProcessBeforeInitialization(otherBean, ""); - Assert.assertFalse(bean instanceof PolarisReactiveLoadBalancerClientFilter); - Assert.assertTrue(bean instanceof OtherBean); + assertThat(bean).isNotInstanceOf(PolarisReactiveLoadBalancerClientFilter.class); + assertThat(bean).isInstanceOf(OtherBean.class); } static class OtherBean { diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/FeignAutoConfigurationTest.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/FeignAutoConfigurationTest.java index e8f11661..30f37a15 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/FeignAutoConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/FeignAutoConfigurationTest.java @@ -21,7 +21,7 @@ package com.tencent.cloud.polaris.router.config; import com.tencent.cloud.common.metadata.config.MetadataAutoConfiguration; import com.tencent.cloud.polaris.context.config.PolarisContextAutoConfiguration; import com.tencent.cloud.polaris.router.feign.RouterLabelFeignInterceptor; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.WebApplicationContextRunner; diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/LoadBalancerConfigurationTest.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/LoadBalancerConfigurationTest.java index 74c9192d..c773bc7c 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/LoadBalancerConfigurationTest.java +++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/LoadBalancerConfigurationTest.java @@ -18,11 +18,10 @@ package com.tencent.cloud.polaris.router.config; - import com.tencent.cloud.polaris.context.config.PolarisContextAutoConfiguration; import com.tencent.cloud.polaris.router.PolarisRouterServiceInstanceListSupplier; import com.tencent.polaris.router.api.core.RouterAPI; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/RouterAutoConfigurationTests.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/RouterAutoConfigurationTests.java index ea46c775..5416a564 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/RouterAutoConfigurationTests.java +++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/RouterAutoConfigurationTests.java @@ -20,7 +20,7 @@ package com.tencent.cloud.polaris.router.config; import com.tencent.cloud.common.metadata.config.MetadataAutoConfiguration; import com.tencent.cloud.polaris.context.config.PolarisContextAutoConfiguration; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.WebApplicationContextRunner; diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/properties/PolarisMetadataRouterPropertiesTest.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/properties/PolarisMetadataRouterPropertiesTest.java index d5f2fbec..dca67913 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/properties/PolarisMetadataRouterPropertiesTest.java +++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/properties/PolarisMetadataRouterPropertiesTest.java @@ -18,8 +18,8 @@ package com.tencent.cloud.polaris.router.config.properties; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; @@ -30,8 +30,8 @@ public class PolarisMetadataRouterPropertiesTest { PolarisMetadataRouterProperties properties; - @Before - public void setUp() { + @BeforeEach + void setUp() { properties = new PolarisMetadataRouterProperties(); } @@ -48,7 +48,6 @@ public class PolarisMetadataRouterPropertiesTest { @Test public void testToString() { - assertThat(properties.toString()) - .isEqualTo("PolarisMetadataRouterProperties{enabled=true}"); + assertThat(properties.toString()).isEqualTo("PolarisMetadataRouterProperties{enabled=true}"); } } diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/properties/PolarisNearByRouterPropertiesTest.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/properties/PolarisNearByRouterPropertiesTest.java index 35c98adf..572b6f92 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/properties/PolarisNearByRouterPropertiesTest.java +++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/properties/PolarisNearByRouterPropertiesTest.java @@ -18,13 +18,11 @@ package com.tencent.cloud.polaris.router.config.properties; - -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; - /** * test for {@link PolarisNearByRouterProperties}. */ @@ -32,8 +30,8 @@ public class PolarisNearByRouterPropertiesTest { PolarisNearByRouterProperties properties; - @Before - public void setUp() { + @BeforeEach + void setUp() { properties = new PolarisNearByRouterProperties(); } diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/properties/PolarisRuleBasedRouterPropertiesTest.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/properties/PolarisRuleBasedRouterPropertiesTest.java index 6312803d..9a8fc569 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/properties/PolarisRuleBasedRouterPropertiesTest.java +++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/config/properties/PolarisRuleBasedRouterPropertiesTest.java @@ -18,8 +18,8 @@ package com.tencent.cloud.polaris.router.config.properties; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; @@ -30,8 +30,8 @@ public class PolarisRuleBasedRouterPropertiesTest { PolarisRuleBasedRouterProperties properties; - @Before - public void setUp() { + @BeforeEach + void setUp() { properties = new PolarisRuleBasedRouterProperties(); } diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/endpoint/PolarisRouterEndpointAutoConfigurationTests.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/endpoint/PolarisRouterEndpointAutoConfigurationTests.java index b5f8912f..22234487 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/endpoint/PolarisRouterEndpointAutoConfigurationTests.java +++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/endpoint/PolarisRouterEndpointAutoConfigurationTests.java @@ -19,7 +19,7 @@ package com.tencent.cloud.polaris.router.endpoint; import com.tencent.cloud.polaris.context.ServiceRuleManager; import com.tencent.polaris.client.api.SDKContext; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.WebApplicationContextRunner; @@ -34,13 +34,12 @@ import static org.assertj.core.api.Assertions.assertThat; */ public class PolarisRouterEndpointAutoConfigurationTests { - private ServiceRuleManager serviceRuleManager; - private final WebApplicationContextRunner contextRunner = new WebApplicationContextRunner() .withConfiguration(AutoConfigurations.of( TestServiceRuleManagerConfiguration.class, PolarisRouterEndpointAutoConfiguration.class)) .withPropertyValues("endpoints.polaris-router.enabled=true"); + private ServiceRuleManager serviceRuleManager; @Test public void polarisRouterEndpoint() { diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/endpoint/PolarisRouterEndpointTest.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/endpoint/PolarisRouterEndpointTest.java index eee88fb3..19e7cbce 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/endpoint/PolarisRouterEndpointTest.java +++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/endpoint/PolarisRouterEndpointTest.java @@ -22,22 +22,22 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; -import com.google.common.collect.Lists; import com.tencent.cloud.common.util.ApplicationContextAwareUtils; import com.tencent.cloud.polaris.context.ServiceRuleManager; -import com.tencent.polaris.client.pb.ModelProto; -import com.tencent.polaris.client.pb.RoutingProto; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; +import com.tencent.polaris.specification.api.v1.model.ModelProto; +import com.tencent.polaris.specification.api.v1.traffic.manage.RoutingProto; +import org.assertj.core.util.Lists; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.MockedStatic; import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.when; @@ -46,7 +46,7 @@ import static org.mockito.Mockito.when; * * @author lepdou 2022-07-25 */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class PolarisRouterEndpointTest { private static final String testDestService = "dstService"; @@ -57,15 +57,15 @@ public class PolarisRouterEndpointTest { @InjectMocks private PolarisRouterEndpoint polarisRouterEndpoint; - @BeforeClass - public static void beforeClass() { + @BeforeAll + static void beforeAll() { mockedApplicationContextAwareUtils = Mockito.mockStatic(ApplicationContextAwareUtils.class); mockedApplicationContextAwareUtils.when(() -> ApplicationContextAwareUtils.getProperties(anyString())) .thenReturn(testDestService); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterAll() { mockedApplicationContextAwareUtils.close(); } @@ -92,27 +92,27 @@ public class PolarisRouterEndpointTest { List routes = new LinkedList<>(); RoutingProto.Route route = RoutingProto.Route.newBuilder() - .addAllSources(Lists.newArrayList(source1, source2, source3)) + .addAllSources(Lists.list(source1, source2, source3)) .build(); routes.add(route); - when(serviceRuleManager.getServiceRouterRule(testDestService, testDestService, testDestService)).thenReturn(routes); + when(serviceRuleManager.getServiceRouterRule(anyString(), anyString(), anyString())).thenReturn(routes); Map actuator = polarisRouterEndpoint.router(testDestService); - Assert.assertNotNull(actuator.get("routerRules")); - Assert.assertEquals(1, ((List) actuator.get("routerRules")).size()); + assertThat(actuator.get("routerRules")).isNotNull(); + assertThat(((List) actuator.get("routerRules")).size()).isEqualTo(1); } @Test public void testHasNotRouterRule() { List routes = new LinkedList<>(); - when(serviceRuleManager.getServiceRouterRule(testDestService, testDestService, testDestService)).thenReturn(routes); + when(serviceRuleManager.getServiceRouterRule(anyString(), anyString(), anyString())).thenReturn(routes); Map actuator = polarisRouterEndpoint.router(testDestService); - Assert.assertNotNull(actuator.get("routerRules")); - Assert.assertEquals(0, ((List) actuator.get("routerRules")).size()); + assertThat(actuator.get("routerRules")).isNotNull(); + assertThat(((List) actuator.get("routerRules")).size()).isEqualTo(0); } } diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/feign/FeignExpressionLabelUtilsTest.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/feign/FeignExpressionLabelUtilsTest.java index 66aa7e7b..b57ac269 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/feign/FeignExpressionLabelUtilsTest.java +++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/feign/FeignExpressionLabelUtilsTest.java @@ -20,14 +20,14 @@ package com.tencent.cloud.polaris.router.feign; import java.util.HashMap; import java.util.Map; +import java.util.stream.Stream; -import com.google.common.collect.Sets; import feign.Request; import feign.RequestTemplate; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import org.springframework.util.StringUtils; +import static java.util.stream.Collectors.toSet; +import static org.assertj.core.api.Assertions.assertThat; /** * Test for {@link FeignExpressionLabelUtils}. @@ -52,14 +52,14 @@ public class FeignExpressionLabelUtilsTest { String labelKey4 = "${http.header.}"; String labelKey5 = "${http.header.teacher.age}"; Map result = FeignExpressionLabelUtils.resolve(requestTemplate, - Sets.newHashSet(labelKey1, labelKey2, labelKey3, labelKey4, labelKey5)); - - Assert.assertFalse(result.isEmpty()); - Assert.assertEquals(headerValue, result.get(labelKey1)); - Assert.assertEquals(headerValue2, result.get(labelKey5)); - Assert.assertTrue(StringUtils.isEmpty(result.get(labelKey2))); - Assert.assertTrue(StringUtils.isEmpty(result.get(labelKey3))); - Assert.assertTrue(StringUtils.isEmpty(result.get(labelKey4))); + Stream.of(labelKey1, labelKey2, labelKey3, labelKey4, labelKey5).collect(toSet())); + + assertThat(result).isNotEmpty(); + assertThat(result.get(labelKey1)).isEqualTo(headerValue); + assertThat(result.get(labelKey5)).isEqualTo(headerValue2); + assertThat(result.get(labelKey2)).isBlank(); + assertThat(result.get(labelKey3)).isBlank(); + assertThat(result.get(labelKey4)).isBlank(); } @Test @@ -79,14 +79,14 @@ public class FeignExpressionLabelUtilsTest { String labelKey4 = "${http.query.}"; String labelKey5 = "${http.query.teacher.age}"; Map result = FeignExpressionLabelUtils.resolve(requestTemplate, - Sets.newHashSet(labelKey1, labelKey2, labelKey3, labelKey4, labelKey5)); - - Assert.assertFalse(result.isEmpty()); - Assert.assertEquals(headerValue, result.get(labelKey1)); - Assert.assertEquals(headerValue2, result.get(labelKey5)); - Assert.assertTrue(StringUtils.isEmpty(result.get(labelKey2))); - Assert.assertTrue(StringUtils.isEmpty(result.get(labelKey3))); - Assert.assertTrue(StringUtils.isEmpty(result.get(labelKey4))); + Stream.of(labelKey1, labelKey2, labelKey3, labelKey4, labelKey5).collect(toSet())); + + assertThat(result).isNotEmpty(); + assertThat(result.get(labelKey1)).isEqualTo(headerValue); + assertThat(result.get(labelKey5)).isEqualTo(headerValue2); + assertThat(result.get(labelKey2)).isBlank(); + assertThat(result.get(labelKey3)).isBlank(); + assertThat(result.get(labelKey4)).isBlank(); } @Test @@ -95,11 +95,11 @@ public class FeignExpressionLabelUtilsTest { requestTemplate.method(Request.HttpMethod.GET); String labelKey1 = "${http.method}"; - Map result = FeignExpressionLabelUtils.resolve(requestTemplate, - Sets.newHashSet(labelKey1)); + Map result = FeignExpressionLabelUtils.resolve(requestTemplate, Stream.of(labelKey1) + .collect(toSet())); - Assert.assertFalse(result.isEmpty()); - Assert.assertEquals("GET", result.get(labelKey1)); + assertThat(result).isNotEmpty(); + assertThat(result.get(labelKey1)).isEqualTo("GET"); } @Test @@ -113,11 +113,11 @@ public class FeignExpressionLabelUtilsTest { requestTemplate = requestTemplate.resolve(new HashMap<>()); String labelKey1 = "${http.uri}"; - Map result = FeignExpressionLabelUtils.resolve(requestTemplate, - Sets.newHashSet(labelKey1)); + Map result = FeignExpressionLabelUtils.resolve(requestTemplate, Stream.of(labelKey1) + .collect(toSet())); - Assert.assertFalse(result.isEmpty()); - Assert.assertEquals(uri, result.get(labelKey1)); + assertThat(result).isNotEmpty(); + assertThat(result.get(labelKey1)).isEqualTo(uri); } @Test @@ -131,10 +131,10 @@ public class FeignExpressionLabelUtilsTest { requestTemplate = requestTemplate.resolve(new HashMap<>()); String labelKey1 = "${http.uri}"; - Map result = FeignExpressionLabelUtils.resolve(requestTemplate, - Sets.newHashSet(labelKey1)); + Map result = FeignExpressionLabelUtils.resolve(requestTemplate, Stream.of(labelKey1) + .collect(toSet())); - Assert.assertFalse(result.isEmpty()); - Assert.assertEquals(uri, result.get(labelKey1)); + assertThat(result).isNotEmpty(); + assertThat(result.get(labelKey1)).isEqualTo(uri); } } diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/feign/RouterLabelFeignInterceptorTest.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/feign/RouterLabelFeignInterceptorTest.java index ad9a45f1..adba7fa6 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/feign/RouterLabelFeignInterceptorTest.java +++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/feign/RouterLabelFeignInterceptorTest.java @@ -38,13 +38,12 @@ import com.tencent.cloud.polaris.router.RouterRuleLabelResolver; import com.tencent.cloud.polaris.router.spi.FeignRouterLabelResolver; import feign.RequestTemplate; import feign.Target; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.MockedStatic; import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import static org.assertj.core.api.AssertionsForClassTypes.assertThat; import static org.mockito.ArgumentMatchers.anyString; @@ -54,7 +53,7 @@ import static org.mockito.Mockito.when; * test for {@link RouterLabelFeignInterceptor}. * @author lepdou 2022-05-26 */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class RouterLabelFeignInterceptorTest { @Mock @@ -123,16 +122,16 @@ public class RouterLabelFeignInterceptorTest { Collection routerLabels = requestTemplate.headers().get(RouterConstant.ROUTER_LABEL_HEADER); - Assert.assertNotNull(routerLabels); + assertThat(routerLabels).isNotNull(); for (String value : routerLabels) { Map labels = JacksonUtils.deserialize2Map(URLDecoder.decode(value, "UTF-8")); - Assert.assertEquals("v1", labels.get("k1")); - Assert.assertEquals("v22", labels.get("k2")); - Assert.assertEquals("v3", labels.get("k3")); - Assert.assertEquals("v4", labels.get("k4")); - Assert.assertEquals(headerUidValue, labels.get("${http.header.uid}")); - Assert.assertEquals("", labels.get("${http.header.name}")); + assertThat(labels.get("k1")).isEqualTo("v1"); + assertThat(labels.get("k2")).isEqualTo("v22"); + assertThat(labels.get("k3")).isEqualTo("v3"); + assertThat(labels.get("k4")).isEqualTo("v4"); + assertThat(labels.get("${http.header.uid}")).isEqualTo(headerUidValue); + assertThat(labels.get("${http.header.name}")).isEqualTo(""); } } } diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/resttemplate/PolarisLoadBalancerRequestTests.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/resttemplate/PolarisLoadBalancerRequestTests.java index 1e36d6f1..dfe6684a 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/resttemplate/PolarisLoadBalancerRequestTests.java +++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/resttemplate/PolarisLoadBalancerRequestTests.java @@ -18,7 +18,7 @@ package com.tencent.cloud.polaris.router.resttemplate; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.cloud.client.DefaultServiceInstance; import org.springframework.cloud.client.ServiceInstance; diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/resttemplate/RouterLabelRestTemplateInterceptorTest.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/resttemplate/RouterLabelRestTemplateInterceptorTest.java index ef227022..ba55b262 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/resttemplate/RouterLabelRestTemplateInterceptorTest.java +++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/resttemplate/RouterLabelRestTemplateInterceptorTest.java @@ -18,7 +18,6 @@ package com.tencent.cloud.polaris.router.resttemplate; - import java.io.UnsupportedEncodingException; import java.net.URI; import java.net.URLDecoder; @@ -40,14 +39,12 @@ import com.tencent.cloud.common.util.expresstion.SpringWebExpressionLabelUtils; import com.tencent.cloud.polaris.context.config.PolarisContextProperties; import com.tencent.cloud.polaris.router.RouterRuleLabelResolver; import com.tencent.cloud.polaris.router.spi.SpringWebRouterLabelResolver; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.MockedStatic; import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.core.Ordered; import org.springframework.http.HttpHeaders; @@ -63,6 +60,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.mockStatic; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -71,12 +69,12 @@ import static org.mockito.Mockito.when; * * @author liuye, Haotian Zhang */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class RouterLabelRestTemplateInterceptorTest { - private static MockedStatic mockedApplicationContextAwareUtils; - private static MockedStatic mockedMetadataContextHolder; + private static final String testNamespaceAndService = "testNamespaceAndService"; @Mock + private SpringWebRouterLabelResolver routerLabelResolver; @Mock private StaticMetadataManager staticMetadataManager; @@ -88,91 +86,83 @@ public class RouterLabelRestTemplateInterceptorTest { @Mock private ClientHttpRequestExecution clientHttpRequestExecution; - @BeforeClass - public static void beforeClass() { - mockedApplicationContextAwareUtils = Mockito.mockStatic(ApplicationContextAwareUtils.class); - mockedApplicationContextAwareUtils.when(() -> ApplicationContextAwareUtils.getProperties(anyString())) - .thenReturn("callerService"); - - mockedMetadataContextHolder = Mockito.mockStatic(MetadataContextHolder.class); - } - - @AfterClass - public static void afterClass() { - mockedApplicationContextAwareUtils.close(); - mockedMetadataContextHolder.close(); - } @Test public void testRouterContext() throws Exception { - String callerService = "callerService"; - String calleeService = "calleeService"; - HttpRequest request = new MockedHttpRequest("http://" + calleeService + "/user/get"); - - // mock local metadata - Map localMetadata = new HashMap<>(); - localMetadata.put("k1", "v1"); - localMetadata.put("k2", "v2"); - when(staticMetadataManager.getMergedStaticMetadata()).thenReturn(localMetadata); - Map routerLabels = new HashMap<>(localMetadata); - - // mock expression rule labels - Set expressionKeys = new HashSet<>(); - expressionKeys.add("${http.method}"); - expressionKeys.add("${http.uri}"); - when(routerRuleLabelResolver.getExpressionLabelKeys(callerService, callerService, calleeService)).thenReturn(expressionKeys); - routerLabels.putAll(SpringWebExpressionLabelUtils.resolve(request, expressionKeys)); - - // mock custom resolved from request - Map customResolvedLabels = new HashMap<>(); - customResolvedLabels.put("k2", "v22"); - customResolvedLabels.put("k4", "v4"); - when(routerLabelResolver.resolve(request, null, expressionKeys)).thenReturn(customResolvedLabels); - routerLabels.putAll(customResolvedLabels); - - MetadataContext metadataContext = Mockito.mock(MetadataContext.class); - - // mock transitive metadata - Map transitiveLabels = new HashMap<>(); - transitiveLabels.put("k1", "v1"); - transitiveLabels.put("k2", "v22"); - when(metadataContext.getTransitiveMetadata()).thenReturn(transitiveLabels); - routerLabels.putAll(transitiveLabels); - - mockedMetadataContextHolder.when(MetadataContextHolder::get).thenReturn(metadataContext); - - RouterLabelRestTemplateInterceptor routerLabelRestTemplateInterceptor = new RouterLabelRestTemplateInterceptor( - Collections.singletonList(routerLabelResolver), staticMetadataManager, routerRuleLabelResolver, polarisContextProperties); - - ClientHttpResponse mockedResponse = new MockClientHttpResponse(new byte[] {}, HttpStatus.OK); - when(clientHttpRequestExecution.execute(eq(request), any())).thenReturn(mockedResponse); - - assertThat(routerLabelRestTemplateInterceptor.getOrder()).isEqualTo(Ordered.LOWEST_PRECEDENCE); - - routerLabelRestTemplateInterceptor.intercept(request, null, clientHttpRequestExecution); - - verify(staticMetadataManager).getMergedStaticMetadata(); - verify(routerRuleLabelResolver).getExpressionLabelKeys(callerService, callerService, calleeService); - verify(routerLabelResolver).resolve(request, null, expressionKeys); - - - Map headers = JacksonUtils.deserialize2Map(URLDecoder.decode(Objects.requireNonNull(request.getHeaders() - .get(RouterConstant.ROUTER_LABEL_HEADER)).get(0), "UTF-8")); - assertThat("v1").isEqualTo(headers.get("k1")); - assertThat("v22").isEqualTo(headers.get("k2")); - assertThat("v4").isEqualTo(headers.get("k4")); - assertThat("GET").isEqualTo(headers.get("${http.method}")); - assertThat("/user/get").isEqualTo(headers.get("${http.uri}")); - String encodedLabelsContent; - try { - encodedLabelsContent = URLEncoder.encode(JacksonUtils.serialize2Json(routerLabels), UTF_8); + try ( + MockedStatic mockedApplicationContextAwareUtils = mockStatic(ApplicationContextAwareUtils.class); + MockedStatic mockedMetadataContextHolder = mockStatic(MetadataContextHolder.class) + ) { + mockedApplicationContextAwareUtils.when(() -> ApplicationContextAwareUtils.getProperties(anyString())) + .thenReturn(testNamespaceAndService); + + String calleeService = "calleeService"; + HttpRequest request = new MockedHttpRequest("http://" + calleeService + "/user/get"); + + // mock local metadata + Map localMetadata = new HashMap<>(); + localMetadata.put("k1", "v1"); + localMetadata.put("k2", "v2"); + when(staticMetadataManager.getMergedStaticMetadata()).thenReturn(localMetadata); + Map routerLabels = new HashMap<>(localMetadata); + + // mock expression rule labels + Set expressionKeys = new HashSet<>(); + expressionKeys.add("${http.method}"); + expressionKeys.add("${http.uri}"); + when(routerRuleLabelResolver.getExpressionLabelKeys(testNamespaceAndService, testNamespaceAndService, calleeService)).thenReturn(expressionKeys); + routerLabels.putAll(SpringWebExpressionLabelUtils.resolve(request, expressionKeys)); + + // mock custom resolved from request + Map customResolvedLabels = new HashMap<>(); + customResolvedLabels.put("k2", "v22"); + customResolvedLabels.put("k4", "v4"); + when(routerLabelResolver.resolve(request, null, expressionKeys)).thenReturn(customResolvedLabels); + routerLabels.putAll(customResolvedLabels); + + MetadataContext metadataContext = Mockito.mock(MetadataContext.class); + + // mock transitive metadata + Map transitiveLabels = new HashMap<>(); + transitiveLabels.put("k1", "v1"); + transitiveLabels.put("k2", "v22"); + when(metadataContext.getTransitiveMetadata()).thenReturn(transitiveLabels); + routerLabels.putAll(transitiveLabels); + + mockedMetadataContextHolder.when(MetadataContextHolder::get).thenReturn(metadataContext); + + RouterLabelRestTemplateInterceptor routerLabelRestTemplateInterceptor = new RouterLabelRestTemplateInterceptor( + Collections.singletonList(routerLabelResolver), staticMetadataManager, routerRuleLabelResolver, polarisContextProperties); + + ClientHttpResponse mockedResponse = new MockClientHttpResponse(new byte[] {}, HttpStatus.OK); + when(clientHttpRequestExecution.execute(eq(request), any())).thenReturn(mockedResponse); + + assertThat(routerLabelRestTemplateInterceptor.getOrder()).isEqualTo(Ordered.LOWEST_PRECEDENCE); + + routerLabelRestTemplateInterceptor.intercept(request, null, clientHttpRequestExecution); + + verify(staticMetadataManager).getMergedStaticMetadata(); + verify(routerRuleLabelResolver).getExpressionLabelKeys(testNamespaceAndService, testNamespaceAndService, calleeService); + verify(routerLabelResolver).resolve(request, null, expressionKeys); + + + Map headers = JacksonUtils.deserialize2Map(URLDecoder.decode(Objects.requireNonNull(request.getHeaders() + .get(RouterConstant.ROUTER_LABEL_HEADER)).get(0), "UTF-8")); + assertThat("v1").isEqualTo(headers.get("k1")); + assertThat("v22").isEqualTo(headers.get("k2")); + assertThat("v4").isEqualTo(headers.get("k4")); + assertThat("GET").isEqualTo(headers.get("${http.method}")); + assertThat("/user/get").isEqualTo(headers.get("${http.uri}")); + String encodedLabelsContent; + try { + encodedLabelsContent = URLEncoder.encode(JacksonUtils.serialize2Json(routerLabels), UTF_8); + } + catch (UnsupportedEncodingException e) { + throw new RuntimeException("unsupported charset exception " + UTF_8); + } + assertThat(mockedResponse.getHeaders().get(RouterConstant.ROUTER_LABEL_HEADER).get(0)) + .isEqualTo(encodedLabelsContent); } - catch (UnsupportedEncodingException e) { - throw new RuntimeException("unsupported charset exception " + UTF_8); - } - assertThat(mockedResponse.getHeaders().get(RouterConstant.ROUTER_LABEL_HEADER).get(0)) - .isEqualTo(encodedLabelsContent); - } static class MockedHttpRequest implements HttpRequest { diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/scg/PolarisReactiveLoadBalancerClientFilterTest.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/scg/PolarisReactiveLoadBalancerClientFilterTest.java index e3ea6ba5..23448265 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/scg/PolarisReactiveLoadBalancerClientFilterTest.java +++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/scg/PolarisReactiveLoadBalancerClientFilterTest.java @@ -21,13 +21,12 @@ package com.tencent.cloud.polaris.router.scg; import java.io.UnsupportedEncodingException; import java.net.URI; import java.net.URLDecoder; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import com.tencent.cloud.common.constant.RouterConstant; import com.tencent.cloud.common.metadata.MetadataContext; import com.tencent.cloud.common.metadata.MetadataContextHolder; @@ -37,15 +36,13 @@ import com.tencent.cloud.common.util.JacksonUtils; import com.tencent.cloud.polaris.context.config.PolarisContextProperties; import com.tencent.cloud.polaris.router.RouterRuleLabelResolver; import com.tencent.cloud.polaris.router.spi.SpringWebRouterLabelResolver; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.assertj.core.util.Lists; +import org.assertj.core.util.Sets; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.MockedStatic; -import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import reactor.core.publisher.Mono; import org.springframework.cloud.client.loadbalancer.LoadBalancerProperties; @@ -59,27 +56,27 @@ import org.springframework.cloud.loadbalancer.support.SimpleObjectProvider; import org.springframework.http.HttpHeaders; import org.springframework.mock.http.server.reactive.MockServerHttpRequest; import org.springframework.mock.web.server.MockServerWebExchange; -import org.springframework.util.CollectionUtils; import org.springframework.web.server.ServerWebExchange; import static com.tencent.cloud.common.constant.ContextConstant.UTF_8; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.mockStatic; import static org.mockito.Mockito.when; import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.GATEWAY_REQUEST_URL_ATTR; import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.GATEWAY_SCHEME_PREFIX_ATTR; /** * Test for ${@link PolarisReactiveLoadBalancerClientFilter}. - *@author lepdou 2022-07-04 + * + * @author lepdou 2022-07-04 */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class PolarisReactiveLoadBalancerClientFilterTest { - private static final String callerService = "callerService"; + private static final String testNamespaceAndService = "testNamespaceAndService"; private static final String calleeService = "calleeService"; - private static MockedStatic mockedApplicationContextAwareUtils; - private static MockedStatic mockedMetadataContextHolder; @Mock private StaticMetadataManager staticMetadataManager; @@ -94,95 +91,105 @@ public class PolarisReactiveLoadBalancerClientFilterTest { @Mock private PolarisContextProperties polarisContextProperties; - @BeforeClass - public static void beforeClass() { - mockedApplicationContextAwareUtils = Mockito.mockStatic(ApplicationContextAwareUtils.class); - mockedApplicationContextAwareUtils.when(() -> ApplicationContextAwareUtils.getProperties(anyString())) - .thenReturn(callerService); - - MetadataContext metadataContext = mock(MetadataContext.class); - - // mock transitive metadata - Map transitiveLabels = new HashMap<>(); - transitiveLabels.put("t1", "v1"); - transitiveLabels.put("t2", "v2"); - when(metadataContext.getTransitiveMetadata()).thenReturn(transitiveLabels); - - mockedMetadataContextHolder = Mockito.mockStatic(MetadataContextHolder.class); - mockedMetadataContextHolder.when(MetadataContextHolder::get).thenReturn(metadataContext); - } - - @AfterClass - public static void afterClass() { - mockedApplicationContextAwareUtils.close(); - mockedMetadataContextHolder.close(); - } - @Test public void testGenRouterHttpHeaders() throws UnsupportedEncodingException { - PolarisReactiveLoadBalancerClientFilter filter = new PolarisReactiveLoadBalancerClientFilter(loadBalancerClientFactory, - gatewayLoadBalancerProperties, staticMetadataManager, routerRuleLabelResolver, - Lists.newArrayList(routerLabelResolver), polarisContextProperties); - - Map localMetadata = new HashMap<>(); - localMetadata.put("env", "blue"); - when(staticMetadataManager.getMergedStaticMetadata()).thenReturn(localMetadata); - - Set expressionLabelKeys = Sets.newHashSet("${http.header.k1}", "${http.query.userid}"); - when(routerRuleLabelResolver.getExpressionLabelKeys(anyString(), anyString(), anyString())).thenReturn(expressionLabelKeys); - - MockServerHttpRequest request = MockServerHttpRequest.get("/" + calleeService + "/users") - .header("k1", "v1") - .queryParam("userid", "zhangsan") - .build(); - MockServerWebExchange webExchange = new MockServerWebExchange.Builder(request).build(); - - Map customMetadata = new HashMap<>(); - customMetadata.put("k2", "v2"); - when(routerLabelResolver.resolve(webExchange, expressionLabelKeys)).thenReturn(customMetadata); - - HttpHeaders headers = filter.genRouterHttpHeaders(webExchange, calleeService); - - Assert.assertNotNull(headers); - List routerHeaders = headers.get(RouterConstant.ROUTER_LABEL_HEADER); - Assert.assertFalse(CollectionUtils.isEmpty(routerHeaders)); - - Map routerLabels = JacksonUtils.deserialize2Map(URLDecoder.decode(routerHeaders.get(0), UTF_8)); - Assert.assertEquals("v1", routerLabels.get("${http.header.k1}")); - Assert.assertEquals("zhangsan", routerLabels.get("${http.query.userid}")); - Assert.assertEquals("blue", routerLabels.get("env")); - Assert.assertEquals("v1", routerLabels.get("t1")); - Assert.assertEquals("v2", routerLabels.get("t2")); + try ( + MockedStatic mockedApplicationContextAwareUtils = mockStatic(ApplicationContextAwareUtils.class); + MockedStatic mockedMetadataContextHolder = mockStatic(MetadataContextHolder.class) + ) { + mockedApplicationContextAwareUtils.when(() -> ApplicationContextAwareUtils.getProperties(anyString())) + .thenReturn(testNamespaceAndService); + + MetadataContext metadataContext = mock(MetadataContext.class); + + // mock transitive metadata + Map transitiveLabels = new HashMap<>(); + transitiveLabels.put("t1", "v1"); + transitiveLabels.put("t2", "v2"); + when(metadataContext.getTransitiveMetadata()).thenReturn(transitiveLabels); + mockedMetadataContextHolder.when(MetadataContextHolder::get).thenReturn(metadataContext); + + PolarisReactiveLoadBalancerClientFilter filter = new PolarisReactiveLoadBalancerClientFilter(loadBalancerClientFactory, + gatewayLoadBalancerProperties, staticMetadataManager, routerRuleLabelResolver, + Collections.singletonList(routerLabelResolver), polarisContextProperties); + + Map localMetadata = new HashMap<>(); + localMetadata.put("env", "blue"); + when(staticMetadataManager.getMergedStaticMetadata()).thenReturn(localMetadata); + + Set expressionLabelKeys = Sets.set("${http.header.k1}", "${http.query.userid}"); + when(routerRuleLabelResolver.getExpressionLabelKeys(anyString(), anyString(), anyString())).thenReturn(expressionLabelKeys); + + MockServerHttpRequest request = MockServerHttpRequest.get("/" + calleeService + "/users") + .header("k1", "v1") + .queryParam("userid", "zhangsan") + .build(); + MockServerWebExchange webExchange = new MockServerWebExchange.Builder(request).build(); + + Map customMetadata = new HashMap<>(); + customMetadata.put("k2", "v2"); + when(routerLabelResolver.resolve(webExchange, expressionLabelKeys)).thenReturn(customMetadata); + + HttpHeaders headers = filter.genRouterHttpHeaders(webExchange, calleeService); + + assertThat(headers).isNotNull(); + List routerHeaders = headers.get(RouterConstant.ROUTER_LABEL_HEADER); + assertThat(routerHeaders).isNotNull(); + + + Map routerLabels = JacksonUtils.deserialize2Map(URLDecoder.decode(routerHeaders.get(0), UTF_8)); + assertThat(routerLabels.get("${http.header.k1}")).isEqualTo("v1"); + assertThat(routerLabels.get("${http.query.userid}")).isEqualTo("zhangsan"); + assertThat(routerLabels.get("env")).isEqualTo("blue"); + assertThat(routerLabels.get("t1")).isEqualTo("v1"); + assertThat(routerLabels.get("t2")).isEqualTo("v2"); + } } @Test public void testFilter01() throws Exception { - PolarisReactiveLoadBalancerClientFilter filter = new PolarisReactiveLoadBalancerClientFilter(loadBalancerClientFactory, - gatewayLoadBalancerProperties, staticMetadataManager, routerRuleLabelResolver, - Lists.newArrayList(routerLabelResolver), polarisContextProperties); - - MockServerHttpRequest request = MockServerHttpRequest.get("/" + calleeService + "/users").build(); - MockServerWebExchange exchange = new MockServerWebExchange.Builder(request).build(); - - // mock no lb - EmptyGatewayFilterChain chain = new EmptyGatewayFilterChain(); - Mono ret = filter.filter(exchange, chain); - Assert.assertEquals(ret, Mono.empty()); - - // mock with lb - exchange = new MockServerWebExchange.Builder(request).build(); - exchange.getAttributes().put(GATEWAY_REQUEST_URL_ATTR, new URI("https://" + calleeService + ":8091")); - exchange.getAttributes().put(GATEWAY_SCHEME_PREFIX_ATTR, "lb"); - - NoopServiceInstanceListSupplier serviceInstanceListSupplier = new NoopServiceInstanceListSupplier(); - RoundRobinLoadBalancer roundRobinLoadBalancer = new RoundRobinLoadBalancer(new SimpleObjectProvider<>(serviceInstanceListSupplier), calleeService); - - when(loadBalancerClientFactory.getInstance(calleeService, ReactorServiceInstanceLoadBalancer.class)).thenReturn(roundRobinLoadBalancer); - LoadBalancerProperties loadBalancerProperties = mock(LoadBalancerProperties.class); - when(loadBalancerProperties.getHint()).thenReturn(new HashMap<>()); - when(loadBalancerClientFactory.getProperties(calleeService)).thenReturn(loadBalancerProperties); - filter.filter(exchange, chain); - + try ( + MockedStatic mockedApplicationContextAwareUtils = mockStatic(ApplicationContextAwareUtils.class); + MockedStatic mockedMetadataContextHolder = mockStatic(MetadataContextHolder.class) + ) { + mockedApplicationContextAwareUtils.when(() -> ApplicationContextAwareUtils.getProperties(anyString())) + .thenReturn(testNamespaceAndService); + + MetadataContext metadataContext = mock(MetadataContext.class); + + // mock transitive metadata + Map transitiveLabels = new HashMap<>(); + transitiveLabels.put("t1", "v1"); + transitiveLabels.put("t2", "v2"); + when(metadataContext.getTransitiveMetadata()).thenReturn(transitiveLabels); + mockedMetadataContextHolder.when(MetadataContextHolder::get).thenReturn(metadataContext); + + PolarisReactiveLoadBalancerClientFilter filter = new PolarisReactiveLoadBalancerClientFilter(loadBalancerClientFactory, + gatewayLoadBalancerProperties, staticMetadataManager, routerRuleLabelResolver, + Lists.list(routerLabelResolver), polarisContextProperties); + + MockServerHttpRequest request = MockServerHttpRequest.get("/" + calleeService + "/users").build(); + MockServerWebExchange exchange = new MockServerWebExchange.Builder(request).build(); + + // mock no lb + EmptyGatewayFilterChain chain = new EmptyGatewayFilterChain(); + Mono ret = filter.filter(exchange, chain); + assertThat(ret).isEqualTo(Mono.empty()); + + // mock with lb + exchange = new MockServerWebExchange.Builder(request).build(); + exchange.getAttributes().put(GATEWAY_REQUEST_URL_ATTR, new URI("https://" + calleeService + ":8091")); + exchange.getAttributes().put(GATEWAY_SCHEME_PREFIX_ATTR, "lb"); + + NoopServiceInstanceListSupplier serviceInstanceListSupplier = new NoopServiceInstanceListSupplier(); + RoundRobinLoadBalancer roundRobinLoadBalancer = new RoundRobinLoadBalancer(new SimpleObjectProvider<>(serviceInstanceListSupplier), calleeService); + + when(loadBalancerClientFactory.getInstance(calleeService, ReactorServiceInstanceLoadBalancer.class)).thenReturn(roundRobinLoadBalancer); + LoadBalancerProperties loadBalancerProperties = mock(LoadBalancerProperties.class); + when(loadBalancerProperties.getHint()).thenReturn(new HashMap<>()); + when(loadBalancerClientFactory.getProperties(calleeService)).thenReturn(loadBalancerProperties); + filter.filter(exchange, chain); + } } static class EmptyGatewayFilterChain implements GatewayFilterChain { @@ -192,5 +199,4 @@ public class PolarisReactiveLoadBalancerClientFilterTest { return Mono.empty(); } } - } diff --git a/spring-cloud-tencent-commons/pom.xml b/spring-cloud-tencent-commons/pom.xml index 5e373d14..db4ac9ac 100644 --- a/spring-cloud-tencent-commons/pom.xml +++ b/spring-cloud-tencent-commons/pom.xml @@ -102,7 +102,7 @@ uk.org.webcompere - system-stubs-junit4 + system-stubs-jupiter test diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/MetadataContextHolderTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/MetadataContextHolderTest.java index 78ecbd5c..d405b52a 100644 --- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/MetadataContextHolderTest.java +++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/MetadataContextHolderTest.java @@ -21,19 +21,19 @@ import java.util.HashMap; import java.util.Map; import org.assertj.core.api.Assertions; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; /** * Test for {@link MetadataContextHolder}. * * @author Haotian Zhang */ -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = MetadataContextHolderTest.TestApplication.class, properties = {"spring.config.location = classpath:application-test.yml"}) diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/StaticMetadataManagerTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/StaticMetadataManagerTest.java index 4ca51fdc..2bd773e9 100644 --- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/StaticMetadataManagerTest.java +++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/StaticMetadataManagerTest.java @@ -26,35 +26,32 @@ import java.util.Set; import com.tencent.cloud.common.metadata.config.MetadataLocalProperties; import com.tencent.cloud.common.spi.InstanceMetadataProvider; -import org.junit.Assert; -import org.junit.Rule; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; -import uk.org.webcompere.systemstubs.rules.EnvironmentVariablesRule; - -import org.springframework.util.CollectionUtils; +import org.mockito.junit.jupiter.MockitoExtension; +import uk.org.webcompere.systemstubs.environment.EnvironmentVariables; +import uk.org.webcompere.systemstubs.jupiter.SystemStub; +import uk.org.webcompere.systemstubs.jupiter.SystemStubsExtension; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.when; - /** * test for {@link StaticMetadataManager}. * * @author lepdou 2022-06-27 */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith({MockitoExtension.class, SystemStubsExtension.class}) public class StaticMetadataManagerTest { - @Mock - private MetadataLocalProperties metadataLocalProperties; - /** * EnvironmentVariablesRule. */ - @Rule - public EnvironmentVariablesRule rule = new EnvironmentVariablesRule(); + @SystemStub + public EnvironmentVariables environmentVariables = new EnvironmentVariables(); + @Mock + private MetadataLocalProperties metadataLocalProperties; @Test public void testParseConfigMetadata() { @@ -70,20 +67,20 @@ public class StaticMetadataManagerTest { StaticMetadataManager metadataManager = new StaticMetadataManager(metadataLocalProperties, null); Map metadata = metadataManager.getAllConfigMetadata(); - Assert.assertEquals(4, metadata.size()); - Assert.assertEquals("v1", metadata.get("k1")); - Assert.assertEquals("v22", metadata.get("k2")); + assertThat(metadata.size()).isEqualTo(4); + assertThat(metadata.get("k1")).isEqualTo("v1"); + assertThat(metadata.get("k2")).isEqualTo("v22"); Map transitiveMetadata = metadataManager.getConfigTransitiveMetadata(); - Assert.assertEquals(1, transitiveMetadata.size()); - Assert.assertEquals("v1", transitiveMetadata.get("k1")); + assertThat(transitiveMetadata.size()).isEqualTo(1); + assertThat(transitiveMetadata.get("k1")).isEqualTo("v1"); - Assert.assertEquals("zone1", metadataManager.getZone()); - Assert.assertEquals("region1", metadataManager.getRegion()); + assertThat(metadataManager.getZone()).isEqualTo("zone1"); + assertThat(metadataManager.getRegion()).isEqualTo("region1"); Map locationInfo = metadataManager.getLocationMetadata(); - Assert.assertEquals("zone1", locationInfo.get("zone")); - Assert.assertEquals("region1", locationInfo.get("region")); + assertThat(locationInfo.get("zone")).isEqualTo("zone1"); + assertThat(locationInfo.get("region")).isEqualTo("region1"); } @Test @@ -99,21 +96,21 @@ public class StaticMetadataManagerTest { new MockedMetadataProvider()); Map metadata = metadataManager.getAllCustomMetadata(); - Assert.assertEquals(3, metadata.size()); - Assert.assertEquals("v1", metadata.get("k1")); - Assert.assertEquals("v22", metadata.get("k2")); - Assert.assertEquals("v33", metadata.get("k3")); + assertThat(metadata.size()).isEqualTo(3); + assertThat(metadata.get("k1")).isEqualTo("v1"); + assertThat(metadata.get("k2")).isEqualTo("v22"); + assertThat(metadata.get("k3")).isEqualTo("v33"); Map transitiveMetadata = metadataManager.getCustomSPITransitiveMetadata(); - Assert.assertEquals(1, transitiveMetadata.size()); - Assert.assertEquals("v22", metadata.get("k2")); + assertThat(transitiveMetadata.size()).isEqualTo(1); + assertThat(metadata.get("k2")).isEqualTo("v22"); - Assert.assertEquals("zone2", metadataManager.getZone()); - Assert.assertEquals("region1", metadataManager.getRegion()); + assertThat(metadataManager.getZone()).isEqualTo("zone2"); + assertThat(metadataManager.getRegion()).isEqualTo("region1"); Map locationInfo = metadataManager.getLocationMetadata(); - Assert.assertEquals("zone2", locationInfo.get("zone")); - Assert.assertEquals("region1", locationInfo.get("region")); + assertThat(locationInfo.get("zone")).isEqualTo("zone2"); + assertThat(locationInfo.get("region")).isEqualTo("region1"); } @Test @@ -132,53 +129,52 @@ public class StaticMetadataManagerTest { new MockedMetadataProvider()); Map metadata = metadataManager.getMergedStaticMetadata(); - Assert.assertEquals(6, metadata.size()); - Assert.assertEquals("v1", metadata.get("k1")); - Assert.assertEquals("v22", metadata.get("k2")); - Assert.assertEquals("v33", metadata.get("k3")); + assertThat(metadata.size()).isEqualTo(6); + assertThat(metadata.get("k1")).isEqualTo("v1"); + assertThat(metadata.get("k2")).isEqualTo("v22"); + assertThat(metadata.get("k3")).isEqualTo("v33"); Map transitiveMetadata = metadataManager.getMergedStaticTransitiveMetadata(); - Assert.assertEquals(2, transitiveMetadata.size()); - Assert.assertEquals("v1", metadata.get("k1")); - Assert.assertEquals("v22", metadata.get("k2")); + assertThat(transitiveMetadata.size()).isEqualTo(2); + assertThat(metadata.get("k1")).isEqualTo("v1"); + assertThat(metadata.get("k2")).isEqualTo("v22"); - Assert.assertTrue(CollectionUtils.isEmpty(metadataManager.getAllEnvMetadata())); - Assert.assertTrue(CollectionUtils.isEmpty(metadataManager.getEnvTransitiveMetadata())); + assertThat(metadataManager.getAllEnvMetadata()).isEmpty(); + assertThat(metadataManager.getEnvTransitiveMetadata()).isEmpty(); - Assert.assertEquals("zone2", metadataManager.getZone()); - Assert.assertEquals("region1", metadataManager.getRegion()); + assertThat(metadataManager.getZone()).isEqualTo("zone2"); + assertThat(metadataManager.getRegion()).isEqualTo("region1"); Map locationInfo = metadataManager.getLocationMetadata(); - Assert.assertEquals("zone2", locationInfo.get("zone")); - Assert.assertEquals("region1", locationInfo.get("region")); - Assert.assertEquals("campus1", locationInfo.get("campus")); - + assertThat(locationInfo.get("zone")).isEqualTo("zone2"); + assertThat(locationInfo.get("region")).isEqualTo("region1"); + assertThat(locationInfo.get("campus")).isEqualTo("campus1"); } @Test public void testEnvMetadata() { // set env - rule.set("SCT_METADATA_CONTENT_TRANSITIVE", "transitiveKey"); - rule.set("SCT_METADATA_CONTENT_DISPOSABLE", "disposableKey"); - rule.set("SCT_METADATA_CONTENT_transitiveKey", "transitiveValue"); - rule.set("SCT_METADATA_CONTENT_disposableKey", "disposableValue"); - rule.set("SCT_TRAFFIC_CONTENT_RAW_TRANSHEADERS", "header1,header2,header3"); + environmentVariables.set("SCT_METADATA_CONTENT_TRANSITIVE", "transitiveKey") + .set("SCT_METADATA_CONTENT_DISPOSABLE", "disposableKey") + .set("SCT_METADATA_CONTENT_transitiveKey", "transitiveValue") + .set("SCT_METADATA_CONTENT_disposableKey", "disposableValue") + .set("SCT_TRAFFIC_CONTENT_RAW_TRANSHEADERS", "header1,header2,header3"); StaticMetadataManager metadataManager = new StaticMetadataManager(metadataLocalProperties, null); Map allEnvMetadata = metadataManager.getAllEnvMetadata(); - Assert.assertTrue(allEnvMetadata.containsKey("transitiveKey")); - Assert.assertTrue(allEnvMetadata.containsKey("disposableKey")); + assertThat(allEnvMetadata).containsKey("transitiveKey"); + assertThat(allEnvMetadata).containsKey("disposableKey"); Map envDisposableMetadata = metadataManager.getEnvDisposableMetadata(); - Assert.assertTrue(envDisposableMetadata.containsKey("disposableKey")); - Assert.assertEquals(envDisposableMetadata.get("disposableKey"), "disposableValue"); + assertThat(envDisposableMetadata).containsKey("disposableKey"); + assertThat(envDisposableMetadata.get("disposableKey")).isEqualTo("disposableValue"); Map envTransitiveMetadata = metadataManager.getEnvTransitiveMetadata(); - Assert.assertTrue(envTransitiveMetadata.containsKey("transitiveKey")); - Assert.assertEquals(envTransitiveMetadata.get("transitiveKey"), "transitiveValue"); + assertThat(envTransitiveMetadata).containsKey("transitiveKey"); + assertThat(envTransitiveMetadata.get("transitiveKey")).isEqualTo("transitiveValue"); String transHeaderFromEnv = metadataManager.getTransHeaderFromEnv(); - Assert.assertEquals(transHeaderFromEnv, "header1,header2,header3"); + assertThat(transHeaderFromEnv).isEqualTo("header1,header2,header3"); } static class MockedMetadataProvider implements InstanceMetadataProvider { diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/config/MetadataAutoConfigurationTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/config/MetadataAutoConfigurationTest.java index a8280d00..83143d6d 100644 --- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/config/MetadataAutoConfigurationTest.java +++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/config/MetadataAutoConfigurationTest.java @@ -19,7 +19,7 @@ package com.tencent.cloud.common.metadata.config; import org.assertj.core.api.Assertions; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/config/MetadataLocalPropertiesTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/config/MetadataLocalPropertiesTest.java index 2ef25072..b88b0b82 100644 --- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/config/MetadataLocalPropertiesTest.java +++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/config/MetadataLocalPropertiesTest.java @@ -18,20 +18,20 @@ package com.tencent.cloud.common.metadata.config; import org.assertj.core.api.Assertions; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; 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.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; /** * Test for {@link MetadataLocalProperties}. * * @author Haotian Zhang */ -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = MetadataLocalPropertiesTest.TestApplication.class, properties = {"spring.config.location = classpath:application-test.yml"}) diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/endpoint/PolarisMetadataEndpointTests.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/endpoint/PolarisMetadataEndpointTests.java index d20a2fd4..4d4ecec1 100644 --- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/endpoint/PolarisMetadataEndpointTests.java +++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/metadata/endpoint/PolarisMetadataEndpointTests.java @@ -16,17 +16,16 @@ * */ - package com.tencent.cloud.common.metadata.endpoint; import java.util.HashMap; import java.util.Map; import com.tencent.cloud.common.metadata.StaticMetadataManager; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.when; @@ -36,7 +35,7 @@ import static org.mockito.Mockito.when; * * @author shuiqingliu */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class PolarisMetadataEndpointTests { @Mock diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/rule/OperationTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/rule/OperationTest.java index 33fe393c..af6345e0 100644 --- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/rule/OperationTest.java +++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/rule/OperationTest.java @@ -21,77 +21,78 @@ package com.tencent.cloud.common.rule; import java.util.Arrays; import java.util.Collections; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; + +import static org.assertj.core.api.Assertions.assertThat; /** * Test for {@link Operation}. * @author lepdou 2022-07-12 */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class OperationTest { @Test public void testEqual() { - Assert.assertTrue(Operation.match(Collections.singletonList("v1"), "v1", Operation.EQUALS.getValue())); - Assert.assertFalse(Operation.match(Collections.singletonList("v1"), "v2", Operation.EQUALS.getValue())); - Assert.assertFalse(Operation.match(Collections.singletonList(""), "v2", Operation.EQUALS.getValue())); - Assert.assertFalse(Operation.match(Collections.singletonList("v1"), "", Operation.EQUALS.getValue())); - Assert.assertFalse(Operation.match(Collections.singletonList("v1"), null, Operation.EQUALS.getValue())); - Assert.assertFalse(Operation.match(Collections.emptyList(), "v1", Operation.EQUALS.getValue())); + assertThat(Operation.match(Collections.singletonList("v1"), "v1", Operation.EQUALS.getValue())).isTrue(); + assertThat(Operation.match(Collections.singletonList("v1"), "v2", Operation.EQUALS.getValue())).isFalse(); + assertThat(Operation.match(Collections.singletonList(""), "v2", Operation.EQUALS.getValue())).isFalse(); + assertThat(Operation.match(Collections.singletonList("v1"), "", Operation.EQUALS.getValue())).isFalse(); + assertThat(Operation.match(Collections.singletonList("v1"), null, Operation.EQUALS.getValue())).isFalse(); + assertThat(Operation.match(Collections.emptyList(), "v1", Operation.EQUALS.getValue())).isFalse(); } @Test public void testNotEqual() { - Assert.assertFalse(Operation.match(Collections.singletonList("v1"), "v1", Operation.NOT_EQUALS.getValue())); - Assert.assertTrue(Operation.match(Collections.singletonList("v1"), "v2", Operation.NOT_EQUALS.getValue())); - Assert.assertTrue(Operation.match(Collections.singletonList(""), "v2", Operation.NOT_EQUALS.getValue())); - Assert.assertTrue(Operation.match(Collections.singletonList("v1"), "", Operation.NOT_EQUALS.getValue())); - Assert.assertTrue(Operation.match(Collections.singletonList("v1"), null, Operation.NOT_EQUALS.getValue())); - Assert.assertTrue(Operation.match(Collections.emptyList(), "v1", Operation.NOT_EQUALS.getValue())); + assertThat(Operation.match(Collections.singletonList("v1"), "v1", Operation.NOT_EQUALS.getValue())).isFalse(); + assertThat(Operation.match(Collections.singletonList("v1"), "v2", Operation.NOT_EQUALS.getValue())).isTrue(); + assertThat(Operation.match(Collections.singletonList(""), "v2", Operation.NOT_EQUALS.getValue())).isTrue(); + assertThat(Operation.match(Collections.singletonList("v1"), "", Operation.NOT_EQUALS.getValue())).isTrue(); + assertThat(Operation.match(Collections.singletonList("v1"), null, Operation.NOT_EQUALS.getValue())).isTrue(); + assertThat(Operation.match(Collections.emptyList(), "v1", Operation.NOT_EQUALS.getValue())).isTrue(); } @Test public void testIn() { - Assert.assertTrue(Operation.match(Arrays.asList("v1", "v2", "v3"), "v1", Operation.IN.getValue())); - Assert.assertTrue(Operation.match(Arrays.asList("v1", "v2", "v3"), "v2", Operation.IN.getValue())); - Assert.assertFalse(Operation.match(Arrays.asList("v1", "v2", "v3"), "v4", Operation.IN.getValue())); - Assert.assertFalse(Operation.match(Arrays.asList("v1", "v2", "v3"), "", Operation.IN.getValue())); - Assert.assertFalse(Operation.match(Arrays.asList("v1", "v2", "v3"), null, Operation.IN.getValue())); - Assert.assertFalse(Operation.match(Collections.emptyList(), null, Operation.IN.getValue())); + assertThat(Operation.match(Arrays.asList("v1", "v2", "v3"), "v1", Operation.IN.getValue())).isTrue(); + assertThat(Operation.match(Arrays.asList("v1", "v2", "v3"), "v2", Operation.IN.getValue())).isTrue(); + assertThat(Operation.match(Arrays.asList("v1", "v2", "v3"), "v4", Operation.IN.getValue())).isFalse(); + assertThat(Operation.match(Arrays.asList("v1", "v2", "v3"), "", Operation.IN.getValue())).isFalse(); + assertThat(Operation.match(Arrays.asList("v1", "v2", "v3"), null, Operation.IN.getValue())).isFalse(); + assertThat(Operation.match(Collections.emptyList(), null, Operation.IN.getValue())).isFalse(); } @Test public void testNotIn() { - Assert.assertFalse(Operation.match(Arrays.asList("v1", "v2", "v3"), "v1", Operation.NOT_IN.getValue())); - Assert.assertFalse(Operation.match(Arrays.asList("v1", "v2", "v3"), "v2", Operation.NOT_IN.getValue())); - Assert.assertTrue(Operation.match(Arrays.asList("v1", "v2", "v3"), "v4", Operation.NOT_IN.getValue())); - Assert.assertTrue(Operation.match(Arrays.asList("v1", "v2", "v3"), "", Operation.NOT_IN.getValue())); - Assert.assertTrue(Operation.match(Arrays.asList("v1", "v2", "v3"), null, Operation.NOT_IN.getValue())); - Assert.assertTrue(Operation.match(Collections.emptyList(), null, Operation.NOT_IN.getValue())); + assertThat(Operation.match(Arrays.asList("v1", "v2", "v3"), "v1", Operation.NOT_IN.getValue())).isFalse(); + assertThat(Operation.match(Arrays.asList("v1", "v2", "v3"), "v2", Operation.NOT_IN.getValue())).isFalse(); + assertThat(Operation.match(Arrays.asList("v1", "v2", "v3"), "v4", Operation.NOT_IN.getValue())).isTrue(); + assertThat(Operation.match(Arrays.asList("v1", "v2", "v3"), "", Operation.NOT_IN.getValue())).isTrue(); + assertThat(Operation.match(Arrays.asList("v1", "v2", "v3"), null, Operation.NOT_IN.getValue())).isTrue(); + assertThat(Operation.match(Collections.emptyList(), null, Operation.NOT_IN.getValue())).isTrue(); } @Test public void testEmpty() { - Assert.assertTrue(Operation.match(Collections.singletonList("v1"), null, Operation.BLANK.getValue())); - Assert.assertTrue(Operation.match(Collections.singletonList("v1"), "", Operation.BLANK.getValue())); - Assert.assertTrue(Operation.match(Collections.emptyList(), null, Operation.BLANK.getValue())); + assertThat(Operation.match(Collections.singletonList("v1"), null, Operation.BLANK.getValue())).isTrue(); + assertThat(Operation.match(Collections.singletonList("v1"), "", Operation.BLANK.getValue())).isTrue(); + assertThat(Operation.match(Collections.emptyList(), null, Operation.BLANK.getValue())).isTrue(); } @Test public void testNotEmpty() { - Assert.assertFalse(Operation.match(Collections.singletonList("v1"), null, Operation.NOT_BLANK.getValue())); - Assert.assertFalse(Operation.match(Collections.singletonList("v1"), "", Operation.NOT_BLANK.getValue())); - Assert.assertFalse(Operation.match(Collections.emptyList(), null, Operation.NOT_BLANK.getValue())); - Assert.assertTrue(Operation.match(Collections.emptyList(), "v1", Operation.NOT_BLANK.getValue())); + assertThat(Operation.match(Collections.singletonList("v1"), null, Operation.NOT_BLANK.getValue())).isFalse(); + assertThat(Operation.match(Collections.singletonList("v1"), "", Operation.NOT_BLANK.getValue())).isFalse(); + assertThat(Operation.match(Collections.emptyList(), null, Operation.NOT_BLANK.getValue())).isFalse(); + assertThat(Operation.match(Collections.emptyList(), "v1", Operation.NOT_BLANK.getValue())).isTrue(); } @Test public void testRegex() { - Assert.assertTrue(Operation.match(Collections.singletonList("v[1~10]"), "v1", Operation.REGEX.getValue())); - Assert.assertFalse(Operation.match(Collections.singletonList("v[1~10]"), "v12", Operation.REGEX.getValue())); - Assert.assertFalse(Operation.match(Collections.singletonList("v[1~10]*"), "v12", Operation.REGEX.getValue())); + assertThat(Operation.match(Collections.singletonList("v[1~10]"), "v1", Operation.REGEX.getValue())).isTrue(); + assertThat(Operation.match(Collections.singletonList("v[1~10]"), "v12", Operation.REGEX.getValue())).isFalse(); + assertThat(Operation.match(Collections.singletonList("v[1~10]*"), "v12", Operation.REGEX.getValue())).isFalse(); } } diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/AddressUtilsTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/AddressUtilsTest.java index ca50c360..5485513d 100644 --- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/AddressUtilsTest.java +++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/AddressUtilsTest.java @@ -20,37 +20,40 @@ package com.tencent.cloud.common.util; import java.util.List; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; + +import static org.assertj.core.api.Assertions.assertThat; /** * test for {@link AddressUtils}. * * @author lepdou 2022-05-27 */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class AddressUtilsTest { @Test public void testEmptyStr() { List result = AddressUtils.parseAddressList(""); - Assert.assertEquals(0, result.size()); + assertThat(result).isNotNull(); + assertThat(result).isEmpty(); } @Test public void testNullStr() { List result = AddressUtils.parseAddressList(null); - Assert.assertEquals(0, result.size()); + assertThat(result).isNotNull(); + assertThat(result).isEmpty(); } @Test public void testOneStr() { String host1 = "http://localhost"; List result = AddressUtils.parseAddressList(host1); - Assert.assertEquals(1, result.size()); - Assert.assertTrue(result.contains("localhost")); + assertThat(result.size()).isEqualTo(1); + assertThat(result).contains("localhost"); } @Test @@ -59,9 +62,9 @@ public class AddressUtilsTest { String host2 = "http://localhost2"; String host3 = "http://localhost3"; List result = AddressUtils.parseAddressList(host1 + "," + host2 + "," + host3); - Assert.assertEquals(3, result.size()); - Assert.assertTrue(result.contains("localhost")); - Assert.assertTrue(result.contains("localhost2")); - Assert.assertTrue(result.contains("localhost3")); + assertThat(result.size()).isEqualTo(3); + assertThat(result).contains("localhost"); + assertThat(result).contains("localhost2"); + assertThat(result).contains("localhost3"); } } diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/BeanFactoryUtilsTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/BeanFactoryUtilsTest.java index 36dbd7e9..9a94a32e 100644 --- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/BeanFactoryUtilsTest.java +++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/BeanFactoryUtilsTest.java @@ -17,12 +17,13 @@ package com.tencent.cloud.common.util; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.support.DefaultListableBeanFactory; import org.springframework.beans.factory.support.RootBeanDefinition; +import static org.assertj.core.api.Assertions.assertThat; + /** * Test for {@link BeanFactoryUtils}. * @@ -37,10 +38,9 @@ public class BeanFactoryUtilsTest { DefaultListableBeanFactory childBeanFactory = new DefaultListableBeanFactory(parentBeanFactory); - Assert.assertTrue(childBeanFactory.getBeansOfType(Foo.class).isEmpty()); - Assert.assertTrue(BeanFactoryUtils.getBeans(childBeanFactory, Foo.class).size() == 1); - - Assert.assertTrue(BeanFactoryUtils.getBeans(childBeanFactory, Bar.class).isEmpty()); + assertThat(childBeanFactory.getBeansOfType(Foo.class)).isEmpty(); + assertThat(BeanFactoryUtils.getBeans(childBeanFactory, Foo.class).size()).isEqualTo(1); + assertThat(BeanFactoryUtils.getBeans(childBeanFactory, Bar.class)).isEmpty(); } static class Foo { diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ExpressionLabelUtilsTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ExpressionLabelUtilsTest.java index 0091dcac..c12f5880 100644 --- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ExpressionLabelUtilsTest.java +++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ExpressionLabelUtilsTest.java @@ -21,15 +21,14 @@ package com.tencent.cloud.common.util; import java.net.URI; import java.util.Map; import java.util.Set; +import java.util.stream.Stream; -import com.google.common.collect.Sets; import com.tencent.cloud.common.util.expresstion.ExpressionLabelUtils; import com.tencent.cloud.common.util.expresstion.ServletExpressionLabelUtils; import com.tencent.cloud.common.util.expresstion.SpringWebExpressionLabelUtils; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.http.HttpCookie; import org.springframework.http.HttpMethod; @@ -39,12 +38,15 @@ import org.springframework.mock.web.MockCookie; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.server.MockServerWebExchange; +import static java.util.stream.Collectors.toSet; +import static org.assertj.core.api.Assertions.assertThat; + /** * test for {@link ExpressionLabelUtils}. * * @author lepdou 2022-05-27 */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class ExpressionLabelUtilsTest { @Test @@ -64,20 +66,20 @@ public class ExpressionLabelUtilsTest { String invalidLabel8 = "$${http.uri}"; String invalidLabel9 = "#{http.uri}"; - Assert.assertTrue(ExpressionLabelUtils.isExpressionLabel(validLabel1)); - Assert.assertTrue(ExpressionLabelUtils.isExpressionLabel(validLabel2)); - Assert.assertTrue(ExpressionLabelUtils.isExpressionLabel(validLabel3)); - Assert.assertTrue(ExpressionLabelUtils.isExpressionLabel(validLabel4)); - Assert.assertTrue(ExpressionLabelUtils.isExpressionLabel(validLabel5)); - Assert.assertTrue(ExpressionLabelUtils.isExpressionLabel(invalidLabel1)); - Assert.assertFalse(ExpressionLabelUtils.isExpressionLabel(invalidLabel2)); - Assert.assertTrue(ExpressionLabelUtils.isExpressionLabel(invalidLabel3)); - Assert.assertTrue(ExpressionLabelUtils.isExpressionLabel(invalidLabel4)); - Assert.assertTrue(ExpressionLabelUtils.isExpressionLabel(invalidLabel5)); - Assert.assertTrue(ExpressionLabelUtils.isExpressionLabel(invalidLabel6)); - Assert.assertFalse(ExpressionLabelUtils.isExpressionLabel(invalidLabel7)); - Assert.assertTrue(ExpressionLabelUtils.isExpressionLabel(invalidLabel8)); - Assert.assertFalse(ExpressionLabelUtils.isExpressionLabel(invalidLabel9)); + assertThat(ExpressionLabelUtils.isExpressionLabel(validLabel1)).isTrue(); + assertThat(ExpressionLabelUtils.isExpressionLabel(validLabel2)).isTrue(); + assertThat(ExpressionLabelUtils.isExpressionLabel(validLabel3)).isTrue(); + assertThat(ExpressionLabelUtils.isExpressionLabel(validLabel4)).isTrue(); + assertThat(ExpressionLabelUtils.isExpressionLabel(validLabel5)).isTrue(); + assertThat(ExpressionLabelUtils.isExpressionLabel(invalidLabel1)).isTrue(); + assertThat(ExpressionLabelUtils.isExpressionLabel(invalidLabel2)).isFalse(); + assertThat(ExpressionLabelUtils.isExpressionLabel(invalidLabel3)).isTrue(); + assertThat(ExpressionLabelUtils.isExpressionLabel(invalidLabel4)).isTrue(); + assertThat(ExpressionLabelUtils.isExpressionLabel(invalidLabel5)).isTrue(); + assertThat(ExpressionLabelUtils.isExpressionLabel(invalidLabel6)).isTrue(); + assertThat(ExpressionLabelUtils.isExpressionLabel(invalidLabel7)).isFalse(); + assertThat(ExpressionLabelUtils.isExpressionLabel(invalidLabel8)).isTrue(); + assertThat(ExpressionLabelUtils.isExpressionLabel(invalidLabel9)).isFalse(); } @Test @@ -97,9 +99,9 @@ public class ExpressionLabelUtilsTest { String invalidLabel8 = "$${http.uri}"; String invalidLabel9 = "#{http.uri}"; - Set labelKeys = Sets.newHashSet(validLabel1, validLabel2, validLabel3, validLabel4, validLabel5, + Set labelKeys = Stream.of(validLabel1, validLabel2, validLabel3, validLabel4, validLabel5, invalidLabel1, invalidLabel2, invalidLabel3, invalidLabel4, invalidLabel5, invalidLabel6, invalidLabel7, - invalidLabel8, invalidLabel9); + invalidLabel8, invalidLabel9).collect(toSet()); MockHttpServletRequest request = new MockHttpServletRequest(); request.setQueryString("uid=zhangsan"); @@ -110,20 +112,20 @@ public class ExpressionLabelUtilsTest { Map result = ServletExpressionLabelUtils.resolve(request, labelKeys); - Assert.assertEquals("zhangsan", result.get(validLabel1)); - Assert.assertEquals("zhangsan", result.get(validLabel2)); - Assert.assertEquals("zhangsan", result.get(validLabel3)); - Assert.assertEquals("GET", result.get(validLabel4)); - Assert.assertEquals("/users", result.get(validLabel5)); - Assert.assertNull(result.get(invalidLabel1)); - Assert.assertNull(result.get(invalidLabel2)); - Assert.assertNull(result.get(invalidLabel3)); - Assert.assertNull(result.get(invalidLabel4)); - Assert.assertNull(result.get(invalidLabel5)); - Assert.assertNull(result.get(invalidLabel6)); - Assert.assertNull(result.get(invalidLabel7)); - Assert.assertNull(result.get(invalidLabel8)); - Assert.assertNull(result.get(invalidLabel9)); + assertThat(result.get(validLabel1)).isEqualTo("zhangsan"); + assertThat(result.get(validLabel2)).isEqualTo("zhangsan"); + assertThat(result.get(validLabel3)).isEqualTo("zhangsan"); + assertThat(result.get(validLabel4)).isEqualTo("GET"); + assertThat(result.get(validLabel5)).isEqualTo("/users"); + assertThat(result.get(invalidLabel1)).isNull(); + assertThat(result.get(invalidLabel2)).isNull(); + assertThat(result.get(invalidLabel3)).isNull(); + assertThat(result.get(invalidLabel4)).isNull(); + assertThat(result.get(invalidLabel5)).isNull(); + assertThat(result.get(invalidLabel6)).isNull(); + assertThat(result.get(invalidLabel7)).isNull(); + assertThat(result.get(invalidLabel8)).isNull(); + assertThat(result.get(invalidLabel9)).isNull(); } @Test @@ -143,9 +145,9 @@ public class ExpressionLabelUtilsTest { String invalidLabel8 = "$${http.uri}"; String invalidLabel9 = "#{http.uri}"; - Set labelKeys = Sets.newHashSet(validLabel1, validLabel2, validLabel3, validLabel4, validLabel5, + Set labelKeys = Stream.of(validLabel1, validLabel2, validLabel3, validLabel4, validLabel5, invalidLabel1, invalidLabel2, invalidLabel3, invalidLabel4, invalidLabel5, invalidLabel6, invalidLabel7, - invalidLabel8, invalidLabel9); + invalidLabel8, invalidLabel9).collect(toSet()); MockServerHttpRequest httpRequest = MockServerHttpRequest.get("http://calleeService/user/get?uid=zhangsan") .header("uid", "zhangsan") @@ -154,20 +156,20 @@ public class ExpressionLabelUtilsTest { Map result = SpringWebExpressionLabelUtils.resolve(exchange, labelKeys); - Assert.assertEquals("zhangsan", result.get(validLabel1)); - Assert.assertEquals("zhangsan", result.get(validLabel2)); - Assert.assertEquals("zhangsan", result.get(validLabel3)); - Assert.assertEquals("GET", result.get(validLabel4)); - Assert.assertEquals("/user/get", result.get(validLabel5)); - Assert.assertNull(result.get(invalidLabel1)); - Assert.assertNull(result.get(invalidLabel2)); - Assert.assertNull(result.get(invalidLabel3)); - Assert.assertNull(result.get(invalidLabel4)); - Assert.assertNull(result.get(invalidLabel5)); - Assert.assertNull(result.get(invalidLabel6)); - Assert.assertNull(result.get(invalidLabel7)); - Assert.assertNull(result.get(invalidLabel8)); - Assert.assertNull(result.get(invalidLabel9)); + assertThat(result.get(validLabel1)).isEqualTo("zhangsan"); + assertThat(result.get(validLabel2)).isEqualTo("zhangsan"); + assertThat(result.get(validLabel3)).isEqualTo("zhangsan"); + assertThat(result.get(validLabel4)).isEqualTo("GET"); + assertThat(result.get(validLabel5)).isEqualTo("/user/get"); + assertThat(result.get(invalidLabel1)).isNull(); + assertThat(result.get(invalidLabel2)).isNull(); + assertThat(result.get(invalidLabel3)).isNull(); + assertThat(result.get(invalidLabel4)).isNull(); + assertThat(result.get(invalidLabel5)).isNull(); + assertThat(result.get(invalidLabel6)).isNull(); + assertThat(result.get(invalidLabel7)).isNull(); + assertThat(result.get(invalidLabel8)).isNull(); + assertThat(result.get(invalidLabel9)).isNull(); } @Test @@ -187,9 +189,9 @@ public class ExpressionLabelUtilsTest { String invalidLabel8 = "$${http.uri}"; String invalidLabel9 = "#{http.uri}"; - Set labelKeys = Sets.newHashSet(validLabel1, validLabel2, validLabel3, validLabel4, validLabel5, + Set labelKeys = Stream.of(validLabel1, validLabel2, validLabel3, validLabel4, validLabel5, invalidLabel1, invalidLabel2, invalidLabel3, invalidLabel4, invalidLabel5, invalidLabel6, invalidLabel7, - invalidLabel8, invalidLabel9); + invalidLabel8, invalidLabel9).collect(toSet()); MockClientHttpRequest request = new MockClientHttpRequest(); request.setMethod(HttpMethod.GET); @@ -198,19 +200,19 @@ public class ExpressionLabelUtilsTest { Map result = SpringWebExpressionLabelUtils.resolve(request, labelKeys); - Assert.assertEquals("zhangsan", result.get(validLabel1)); - Assert.assertEquals("zhangsan", result.get(validLabel2)); - Assert.assertNull(result.get(validLabel3)); - Assert.assertEquals("GET", result.get(validLabel4)); - Assert.assertEquals("/user/get", result.get(validLabel5)); - Assert.assertNull(result.get(invalidLabel1)); - Assert.assertNull(result.get(invalidLabel2)); - Assert.assertNull(result.get(invalidLabel3)); - Assert.assertNull(result.get(invalidLabel4)); - Assert.assertNull(result.get(invalidLabel5)); - Assert.assertNull(result.get(invalidLabel6)); - Assert.assertNull(result.get(invalidLabel7)); - Assert.assertNull(result.get(invalidLabel8)); - Assert.assertNull(result.get(invalidLabel9)); + assertThat(result.get(validLabel1)).isEqualTo("zhangsan"); + assertThat(result.get(validLabel2)).isEqualTo("zhangsan"); + assertThat(result.get(validLabel3)).isNull(); + assertThat(result.get(validLabel4)).isEqualTo("GET"); + assertThat(result.get(validLabel5)).isEqualTo("/user/get"); + assertThat(result.get(invalidLabel1)).isNull(); + assertThat(result.get(invalidLabel2)).isNull(); + assertThat(result.get(invalidLabel3)).isNull(); + assertThat(result.get(invalidLabel4)).isNull(); + assertThat(result.get(invalidLabel5)).isNull(); + assertThat(result.get(invalidLabel6)).isNull(); + assertThat(result.get(invalidLabel7)).isNull(); + assertThat(result.get(invalidLabel8)).isNull(); + assertThat(result.get(invalidLabel9)).isNull(); } } diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ExpressionParserV1Test.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ExpressionParserV1Test.java index ae55900f..a05aee70 100644 --- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ExpressionParserV1Test.java +++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ExpressionParserV1Test.java @@ -18,8 +18,9 @@ package com.tencent.cloud.common.util; import com.tencent.cloud.common.util.expresstion.ExpressionParserV1; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; /** * Test for {@link ExpressionParserV1}. @@ -46,25 +47,25 @@ public class ExpressionParserV1Test { ExpressionParserV1 parser = new ExpressionParserV1(); - Assert.assertTrue(parser.isExpressionLabel(validLabel1)); - Assert.assertTrue(parser.isExpressionLabel(validLabel2)); - Assert.assertTrue(parser.isExpressionLabel(validLabel3)); - Assert.assertTrue(parser.isExpressionLabel(validLabel4)); - Assert.assertTrue(parser.isExpressionLabel(validLabel5)); - Assert.assertTrue(parser.isExpressionLabel(invalidLabel1)); - Assert.assertFalse(parser.isExpressionLabel(invalidLabel2)); - Assert.assertFalse(parser.isExpressionLabel(invalidLabel3)); - Assert.assertFalse(parser.isExpressionLabel(invalidLabel4)); - Assert.assertTrue(parser.isExpressionLabel(invalidLabel5)); - Assert.assertTrue(parser.isExpressionLabel(invalidLabel6)); - Assert.assertFalse(parser.isExpressionLabel(invalidLabel7)); - Assert.assertFalse(parser.isExpressionLabel(invalidLabel8)); - Assert.assertFalse(parser.isExpressionLabel(invalidLabel9)); + assertThat(parser.isExpressionLabel(validLabel1)).isTrue(); + assertThat(parser.isExpressionLabel(validLabel2)).isTrue(); + assertThat(parser.isExpressionLabel(validLabel3)).isTrue(); + assertThat(parser.isExpressionLabel(validLabel4)).isTrue(); + assertThat(parser.isExpressionLabel(validLabel5)).isTrue(); + assertThat(parser.isExpressionLabel(invalidLabel1)).isTrue(); + assertThat(parser.isExpressionLabel(invalidLabel2)).isFalse(); + assertThat(parser.isExpressionLabel(invalidLabel3)).isFalse(); + assertThat(parser.isExpressionLabel(invalidLabel4)).isFalse(); + assertThat(parser.isExpressionLabel(invalidLabel5)).isTrue(); + assertThat(parser.isExpressionLabel(invalidLabel6)).isTrue(); + assertThat(parser.isExpressionLabel(invalidLabel7)).isFalse(); + assertThat(parser.isExpressionLabel(invalidLabel8)).isFalse(); + assertThat(parser.isExpressionLabel(invalidLabel9)).isFalse(); - Assert.assertTrue(parser.isQueryLabel(validLabel1)); - Assert.assertTrue(parser.isHeaderLabel(validLabel2)); - Assert.assertTrue(parser.isCookieLabel(validLabel3)); - Assert.assertTrue(parser.isMethodLabel(validLabel4)); - Assert.assertTrue(parser.isUriLabel(validLabel5)); + assertThat(parser.isQueryLabel(validLabel1)).isTrue(); + assertThat(parser.isHeaderLabel(validLabel2)).isTrue(); + assertThat(parser.isCookieLabel(validLabel3)).isTrue(); + assertThat(parser.isMethodLabel(validLabel4)).isTrue(); + assertThat(parser.isUriLabel(validLabel5)).isTrue(); } } diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ExpressionParserV2Test.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ExpressionParserV2Test.java index 38d4a661..6a34b617 100644 --- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ExpressionParserV2Test.java +++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ExpressionParserV2Test.java @@ -18,8 +18,9 @@ package com.tencent.cloud.common.util; import com.tencent.cloud.common.util.expresstion.ExpressionParserV2; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; /** * Test for {@link ExpressionParserV2}. @@ -46,29 +47,29 @@ public class ExpressionParserV2Test { ExpressionParserV2 parser = new ExpressionParserV2(); - Assert.assertTrue(parser.isExpressionLabel(validLabel1)); - Assert.assertTrue(parser.isExpressionLabel(validLabel2)); - Assert.assertTrue(parser.isExpressionLabel(validLabel3)); - Assert.assertTrue(parser.isExpressionLabel(validLabel4)); - Assert.assertTrue(parser.isExpressionLabel(validLabel5)); - Assert.assertTrue(parser.isExpressionLabel(invalidLabel1)); - Assert.assertFalse(parser.isExpressionLabel(invalidLabel2)); - Assert.assertTrue(parser.isExpressionLabel(invalidLabel3)); - Assert.assertTrue(parser.isExpressionLabel(invalidLabel4)); - Assert.assertTrue(parser.isExpressionLabel(invalidLabel5)); - Assert.assertTrue(parser.isExpressionLabel(invalidLabel6)); - Assert.assertFalse(parser.isExpressionLabel(invalidLabel7)); - Assert.assertTrue(parser.isExpressionLabel(invalidLabel8)); - Assert.assertFalse(parser.isExpressionLabel(invalidLabel9)); + assertThat(parser.isExpressionLabel(validLabel1)).isTrue(); + assertThat(parser.isExpressionLabel(validLabel2)).isTrue(); + assertThat(parser.isExpressionLabel(validLabel3)).isTrue(); + assertThat(parser.isExpressionLabel(validLabel4)).isTrue(); + assertThat(parser.isExpressionLabel(validLabel5)).isTrue(); + assertThat(parser.isExpressionLabel(invalidLabel1)).isTrue(); + assertThat(parser.isExpressionLabel(invalidLabel2)).isFalse(); + assertThat(parser.isExpressionLabel(invalidLabel3)).isTrue(); + assertThat(parser.isExpressionLabel(invalidLabel4)).isTrue(); + assertThat(parser.isExpressionLabel(invalidLabel5)).isTrue(); + assertThat(parser.isExpressionLabel(invalidLabel6)).isTrue(); + assertThat(parser.isExpressionLabel(invalidLabel7)).isFalse(); + assertThat(parser.isExpressionLabel(invalidLabel8)).isTrue(); + assertThat(parser.isExpressionLabel(invalidLabel9)).isFalse(); - Assert.assertFalse(parser.isQueryLabel(validLabel1)); - Assert.assertFalse(parser.isHeaderLabel(validLabel2)); - Assert.assertFalse(parser.isCookieLabel(validLabel3)); - Assert.assertFalse(parser.isMethodLabel(validLabel4)); - Assert.assertFalse(parser.isUriLabel(validLabel5)); + assertThat(parser.isQueryLabel(validLabel1)).isFalse(); + assertThat(parser.isHeaderLabel(validLabel2)).isFalse(); + assertThat(parser.isCookieLabel(validLabel3)).isFalse(); + assertThat(parser.isMethodLabel(validLabel4)).isFalse(); + assertThat(parser.isUriLabel(validLabel5)).isFalse(); - Assert.assertTrue(parser.isHeaderLabel("$header.userId")); - Assert.assertTrue(parser.isMethodLabel("$method")); - Assert.assertTrue(parser.isQueryLabel("$query.userId")); + assertThat(parser.isHeaderLabel("$header.userId")).isTrue(); + assertThat(parser.isMethodLabel("$method")).isTrue(); + assertThat(parser.isQueryLabel("$query.userId")).isTrue(); } } diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/JacksonUtilsTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/JacksonUtilsTest.java index e07dcceb..962f014a 100644 --- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/JacksonUtilsTest.java +++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/JacksonUtilsTest.java @@ -21,9 +21,9 @@ package com.tencent.cloud.common.util; import java.util.HashMap; import java.util.Map; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; @@ -33,7 +33,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy; * * @author lepdou, Haotian Zhang, cheese8 */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class JacksonUtilsTest { @Test diff --git a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ResourceFileUtilsTest.java b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ResourceFileUtilsTest.java index a3cb8a96..624886c5 100644 --- a/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ResourceFileUtilsTest.java +++ b/spring-cloud-tencent-commons/src/test/java/com/tencent/cloud/common/util/ResourceFileUtilsTest.java @@ -20,28 +20,29 @@ package com.tencent.cloud.common.util; import java.io.IOException; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; + +import static org.assertj.core.api.Assertions.assertThat; /** * test for {@link ResourceFileUtils}. * * @author lepdou 2022-05-27 */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class ResourceFileUtilsTest { @Test public void testReadExistedFile() throws IOException { String content = ResourceFileUtils.readFile("test.txt"); - Assert.assertEquals("just for test", content); + assertThat(content).isEqualTo("just for test"); } @Test public void testReadNotExistedFile() throws IOException { String content = ResourceFileUtils.readFile("not_existed_test.txt"); - Assert.assertEquals("", content); + assertThat(content).isEqualTo(""); } } diff --git a/spring-cloud-tencent-dependencies/pom.xml b/spring-cloud-tencent-dependencies/pom.xml index 8f288911..25637269 100644 --- a/spring-cloud-tencent-dependencies/pom.xml +++ b/spring-cloud-tencent-dependencies/pom.xml @@ -73,13 +73,13 @@ 1.10.0-2022.0.1-SNAPSHOT - 1.10.5 + 1.11.0-SNAPSHOT 31.1-jre 4.9.0 1.12.19 3.21.7 1.69 - 2.0.1 + 2.0.2 1.3.0 @@ -231,8 +231,8 @@ uk.org.webcompere - system-stubs-junit4 - ${system-stubs-junit4.version} + system-stubs-jupiter + ${system-stubs-jupiter.version} test diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-featureenv-plugin/src/test/java/com/tencent/cloud/plugin/featureenv/FeatureEnvRouterRequestInterceptorTest.java b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-featureenv-plugin/src/test/java/com/tencent/cloud/plugin/featureenv/FeatureEnvRouterRequestInterceptorTest.java index 6f63bb82..e3d93d65 100644 --- a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-featureenv-plugin/src/test/java/com/tencent/cloud/plugin/featureenv/FeatureEnvRouterRequestInterceptorTest.java +++ b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-featureenv-plugin/src/test/java/com/tencent/cloud/plugin/featureenv/FeatureEnvRouterRequestInterceptorTest.java @@ -29,18 +29,19 @@ import com.tencent.polaris.api.pojo.ServiceInstances; import com.tencent.polaris.api.pojo.ServiceKey; import com.tencent.polaris.plugins.router.metadata.MetadataRouter; import com.tencent.polaris.router.api.rpc.ProcessRoutersRequest; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; + +import static org.assertj.core.api.Assertions.assertThat; /** * Test for {@link FeatureEnvRouterRequestInterceptor}. * * @author lepdou, Hoatian Zhang */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class FeatureEnvRouterRequestInterceptorTest { @Test @@ -59,8 +60,8 @@ public class FeatureEnvRouterRequestInterceptorTest { interceptor.apply(request, routerContext); Map metadataRouterLabels = request.getRouterMetadata().get(MetadataRouter.ROUTER_TYPE_METADATA); - Assert.assertEquals(1, metadataRouterLabels.size()); - Assert.assertEquals("blue", metadataRouterLabels.get("featureenv")); + assertThat(metadataRouterLabels.size()).isEqualTo(1); + assertThat(metadataRouterLabels.get("featureenv")).isEqualTo("blue"); } @Test @@ -80,8 +81,8 @@ public class FeatureEnvRouterRequestInterceptorTest { interceptor.apply(request, routerContext); Map metadataRouterLabels = request.getRouterMetadata().get(MetadataRouter.ROUTER_TYPE_METADATA); - Assert.assertEquals(1, metadataRouterLabels.size()); - Assert.assertEquals("blue", metadataRouterLabels.get("specify-env")); + assertThat(metadataRouterLabels.size()).isEqualTo(1); + assertThat(metadataRouterLabels.get("specify-env")).isEqualTo("blue"); } @Test @@ -100,7 +101,7 @@ public class FeatureEnvRouterRequestInterceptorTest { interceptor.apply(request, routerContext); Map metadataRouterLabels = request.getRouterMetadata().get(MetadataRouter.ROUTER_TYPE_METADATA); - Assert.assertEquals(1, metadataRouterLabels.size()); - Assert.assertEquals("NOT_EXISTED_ENV", metadataRouterLabels.get("specify-env")); + assertThat(metadataRouterLabels.size()).isEqualTo(1); + assertThat(metadataRouterLabels.get("specify-env")).isEqualTo("NOT_EXISTED_ENV"); } } diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-gateway-plugin/src/test/java/com/tencent/cloud/plugin/gateway/SCGPluginsAutoConfigurationTest.java b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-gateway-plugin/src/test/java/com/tencent/cloud/plugin/gateway/SCGPluginsAutoConfigurationTest.java index 21314544..363450c6 100644 --- a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-gateway-plugin/src/test/java/com/tencent/cloud/plugin/gateway/SCGPluginsAutoConfigurationTest.java +++ b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-gateway-plugin/src/test/java/com/tencent/cloud/plugin/gateway/SCGPluginsAutoConfigurationTest.java @@ -26,24 +26,24 @@ import com.tencent.cloud.plugin.gateway.staining.rule.StainingRuleManager; import com.tencent.polaris.client.api.SDKContext; import com.tencent.polaris.configuration.api.core.ConfigFileService; import com.tencent.polaris.configuration.factory.ConfigFileServiceFactory; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; +import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.DEFINED_PORT; /** * Test for {@link SCGPluginsAutoConfiguration}. * @author derek.yi 2022-11-03 */ -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest(webEnvironment = DEFINED_PORT, classes = SCGPluginsAutoConfigurationTest.TestApplication.class, properties = {"server.port=8081", "spring.config.location = classpath:application-test.yml", "spring.cloud.tencent.plugin.scg.staining.rule-staining.enabled = true"}) @@ -54,11 +54,11 @@ public class SCGPluginsAutoConfigurationTest { @Test public void testAutoConfiguration() { - Assert.assertEquals(1, applicationContext.getBeansOfType(RuleStainingProperties.class).size()); - Assert.assertEquals(1, applicationContext.getBeansOfType(StainingRuleManager.class).size()); - Assert.assertEquals(1, applicationContext.getBeansOfType(TrafficStainingGatewayFilter.class).size()); - Assert.assertEquals(1, applicationContext.getBeansOfType(RuleStainingExecutor.class).size()); - Assert.assertEquals(1, applicationContext.getBeansOfType(RuleTrafficStainer.class).size()); + assertThat(applicationContext.getBeansOfType(RuleStainingProperties.class).size()).isEqualTo(1); + assertThat(applicationContext.getBeansOfType(StainingRuleManager.class).size()).isEqualTo(1); + assertThat(applicationContext.getBeansOfType(TrafficStainingGatewayFilter.class).size()).isEqualTo(1); + assertThat(applicationContext.getBeansOfType(RuleStainingExecutor.class).size()).isEqualTo(1); + assertThat(applicationContext.getBeansOfType(RuleTrafficStainer.class).size()).isEqualTo(1); } @SpringBootApplication diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-gateway-plugin/src/test/java/com/tencent/cloud/plugin/gateway/staining/TrafficStainingGatewayFilterTest.java b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-gateway-plugin/src/test/java/com/tencent/cloud/plugin/gateway/staining/TrafficStainingGatewayFilterTest.java index 9178161a..8157a751 100644 --- a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-gateway-plugin/src/test/java/com/tencent/cloud/plugin/gateway/staining/TrafficStainingGatewayFilterTest.java +++ b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-gateway-plugin/src/test/java/com/tencent/cloud/plugin/gateway/staining/TrafficStainingGatewayFilterTest.java @@ -32,21 +32,20 @@ import com.tencent.cloud.plugin.gateway.staining.rule.RuleTrafficStainer; import com.tencent.cloud.plugin.gateway.staining.rule.StainingRuleManager; import com.tencent.polaris.configuration.api.core.ConfigFile; import com.tencent.polaris.configuration.api.core.ConfigFileService; -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import reactor.core.publisher.Mono; import org.springframework.cloud.gateway.filter.GatewayFilterChain; import org.springframework.mock.http.server.reactive.MockServerHttpRequest; import org.springframework.mock.web.server.MockServerWebExchange; -import org.springframework.util.CollectionUtils; import org.springframework.web.server.ServerWebExchange; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -55,9 +54,12 @@ import static org.mockito.Mockito.when; * Test for {@link TrafficStainingGatewayFilter}. * @author lepdou 2022-07-12 */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class TrafficStainingGatewayFilterTest { + private final String testNamespace = "testNamespace"; + private final String testGroup = "testGroup"; + private final String testFileName = "rule.json"; @Mock private GatewayFilterChain chain; @Mock @@ -65,12 +67,8 @@ public class TrafficStainingGatewayFilterTest { @Mock private ConfigFileService configFileService; - private final String testNamespace = "testNamespace"; - private final String testGroup = "testGroup"; - private final String testFileName = "rule.json"; - - @BeforeClass - public static void before() { + @BeforeAll + static void beforeAll() { Mockito.mockStatic(ApplicationContextAwareUtils.class); when(ApplicationContextAwareUtils .getProperties(any())).thenReturn("fooBar"); @@ -108,10 +106,10 @@ public class TrafficStainingGatewayFilterTest { TrafficStainingGatewayFilter filter = new TrafficStainingGatewayFilter(Arrays.asList(trafficStainer1, trafficStainer2)); Map result = filter.getStainedLabels(exchange); - Assert.assertFalse(CollectionUtils.isEmpty(result)); - Assert.assertEquals("v1", result.get("k1")); - Assert.assertEquals("v2", result.get("k2")); - Assert.assertEquals("v3", result.get("k3")); + assertThat(result).isNotEmpty(); + assertThat(result.get("k1")).isEqualTo("v1"); + assertThat(result.get("k2")).isEqualTo("v2"); + assertThat(result.get("k3")).isEqualTo("v3"); } @Test @@ -122,7 +120,7 @@ public class TrafficStainingGatewayFilterTest { TrafficStainingGatewayFilter filter = new TrafficStainingGatewayFilter(null); filter.filter(exchange, chain); Map map = metadataContext.getTransitiveMetadata(); - Assert.assertTrue(CollectionUtils.isEmpty(map)); + assertThat(map).isEmpty(); } @Test @@ -169,8 +167,8 @@ public class TrafficStainingGatewayFilterTest { filter.filter(exchange, chain); Map map = metadataContext.getTransitiveMetadata(); - Assert.assertNotNull(map); - Assert.assertEquals(1, map.size()); - Assert.assertEquals("blue", map.get("env")); + assertThat(map).isNotNull(); + assertThat(map.size()).isEqualTo(1); + assertThat(map.get("env")).isEqualTo("blue"); } } diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-gateway-plugin/src/test/java/com/tencent/cloud/plugin/gateway/staining/rule/RuleStainingExecutorTest.java b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-gateway-plugin/src/test/java/com/tencent/cloud/plugin/gateway/staining/rule/RuleStainingExecutorTest.java index c320c0ca..ca028d90 100644 --- a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-gateway-plugin/src/test/java/com/tencent/cloud/plugin/gateway/staining/rule/RuleStainingExecutorTest.java +++ b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-gateway-plugin/src/test/java/com/tencent/cloud/plugin/gateway/staining/rule/RuleStainingExecutorTest.java @@ -25,20 +25,20 @@ import java.util.Map; import com.tencent.cloud.common.rule.Condition; import com.tencent.cloud.common.rule.KVPair; import com.tencent.cloud.common.rule.Operation; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.mock.http.server.reactive.MockServerHttpRequest; import org.springframework.mock.web.server.MockServerWebExchange; -import org.springframework.util.CollectionUtils; + +import static org.assertj.core.api.Assertions.assertThat; /** * Test for {@link RuleStainingExecutor}. * @author lepdou 2022-07-12 */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class RuleStainingExecutorTest { @Test @@ -73,9 +73,9 @@ public class RuleStainingExecutorTest { Map stainedLabels = executor.execute(exchange, stainingRule); - Assert.assertNotNull(stainedLabels); - Assert.assertEquals(1, stainedLabels.size()); - Assert.assertEquals("blue", stainedLabels.get("env")); + assertThat(stainedLabels).isNotNull(); + assertThat(stainedLabels.size()).isEqualTo(1); + assertThat(stainedLabels.get("env")).isEqualTo("blue"); } @Test @@ -110,8 +110,8 @@ public class RuleStainingExecutorTest { Map stainedLabels = executor.execute(exchange, stainingRule); - Assert.assertNotNull(stainedLabels); - Assert.assertEquals(0, stainedLabels.size()); + assertThat(stainedLabels).isNotNull(); + assertThat(stainedLabels.size()).isEqualTo(0); } @Test @@ -173,17 +173,17 @@ public class RuleStainingExecutorTest { Map stainedLabels = executor.execute(exchange, stainingRule); - Assert.assertNotNull(stainedLabels); - Assert.assertEquals(3, stainedLabels.size()); - Assert.assertEquals("blue", stainedLabels.get("env")); - Assert.assertEquals("value1", stainedLabels.get("label1")); - Assert.assertEquals("value2", stainedLabels.get("label2")); + assertThat(stainedLabels).isNotNull(); + assertThat(stainedLabels.size()).isEqualTo(3); + assertThat(stainedLabels.get("env")).isEqualTo("blue"); + assertThat(stainedLabels.get("label1")).isEqualTo("value1"); + assertThat(stainedLabels.get("label2")).isEqualTo("value2"); } @Test public void testNoStainingRule() { RuleStainingExecutor executor = new RuleStainingExecutor(); - Assert.assertTrue(CollectionUtils.isEmpty(executor.execute(null, null))); - Assert.assertTrue(CollectionUtils.isEmpty(executor.execute(null, new StainingRule()))); + assertThat(executor.execute(null, null)).isEmpty(); + assertThat(executor.execute(null, new StainingRule())).isEmpty(); } } diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-gateway-plugin/src/test/java/com/tencent/cloud/plugin/gateway/staining/rule/RuleTrafficStainerTest.java b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-gateway-plugin/src/test/java/com/tencent/cloud/plugin/gateway/staining/rule/RuleTrafficStainerTest.java index d8e67875..9382dd61 100644 --- a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-gateway-plugin/src/test/java/com/tencent/cloud/plugin/gateway/staining/rule/RuleTrafficStainerTest.java +++ b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-gateway-plugin/src/test/java/com/tencent/cloud/plugin/gateway/staining/rule/RuleTrafficStainerTest.java @@ -22,32 +22,30 @@ import java.util.Map; import com.tencent.polaris.configuration.api.core.ConfigFile; import com.tencent.polaris.configuration.api.core.ConfigFileService; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.mock.http.server.reactive.MockServerHttpRequest; import org.springframework.mock.web.server.MockServerWebExchange; -import org.springframework.util.CollectionUtils; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.when; /** * Test for {@link RuleTrafficStainer}. * @author derek.yi 2022-11-03 */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class RuleTrafficStainerTest { - @Mock - private ConfigFileService configFileService; - private final String testNamespace = "testNamespace"; private final String testGroup = "testGroup"; private final String testFileName = "rule.json"; + @Mock + private ConfigFileService configFileService; @Test public void testNoStainingRule() { @@ -64,7 +62,7 @@ public class RuleTrafficStainerTest { RuleStainingExecutor ruleStainingExecutor = new RuleStainingExecutor(); RuleTrafficStainer ruleTrafficStainer = new RuleTrafficStainer(stainingRuleManager, ruleStainingExecutor); Map map = ruleTrafficStainer.apply(null); - Assert.assertTrue(CollectionUtils.isEmpty(map)); + assertThat(map).isEmpty(); } @Test @@ -105,8 +103,8 @@ public class RuleTrafficStainerTest { MockServerWebExchange exchange = new MockServerWebExchange.Builder(request).build(); Map map = ruleTrafficStainer.apply(exchange); - Assert.assertNotNull(map); - Assert.assertEquals(1, map.size()); - Assert.assertEquals("blue", map.get("env")); + assertThat(map).isNotNull(); + assertThat(map.size()).isEqualTo(1); + assertThat(map.get("env")).isEqualTo("blue"); } } diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-gateway-plugin/src/test/java/com/tencent/cloud/plugin/gateway/staining/rule/StainingRuleManagerTest.java b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-gateway-plugin/src/test/java/com/tencent/cloud/plugin/gateway/staining/rule/StainingRuleManagerTest.java index 2972d0d8..7d848660 100644 --- a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-gateway-plugin/src/test/java/com/tencent/cloud/plugin/gateway/staining/rule/StainingRuleManagerTest.java +++ b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-gateway-plugin/src/test/java/com/tencent/cloud/plugin/gateway/staining/rule/StainingRuleManagerTest.java @@ -20,29 +20,28 @@ package com.tencent.cloud.plugin.gateway.staining.rule; import com.tencent.polaris.configuration.api.core.ConfigFile; import com.tencent.polaris.configuration.api.core.ConfigFileService; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatCode; import static org.mockito.Mockito.when; - /** * Test for {@link StainingRuleManager}. * @author lepdou 2022-07-12 */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class StainingRuleManagerTest { - @Mock - private ConfigFileService configFileService; - private final String testNamespace = "testNamespace"; private final String testGroup = "testGroup"; private final String testFileName = "rule.json"; + @Mock + private ConfigFileService configFileService; @Test public void testNormalRule() { @@ -77,43 +76,45 @@ public class StainingRuleManagerTest { StainingRule stainingRule = stainingRuleManager.getStainingRule(); - Assert.assertNotNull(stainingRule); - Assert.assertEquals(1, stainingRule.getRules().size()); + assertThat(stainingRule).isNotNull(); + assertThat(stainingRule.getRules().size()).isEqualTo(1); StainingRule.Rule rule = stainingRule.getRules().get(0); - Assert.assertEquals(1, rule.getConditions().size()); - Assert.assertEquals(1, rule.getLabels().size()); + assertThat(rule.getConditions().size()).isEqualTo(1); + assertThat(rule.getLabels().size()).isEqualTo(1); } - @Test(expected = RuntimeException.class) + @Test public void testWrongRule() { - RuleStainingProperties ruleStainingProperties = new RuleStainingProperties(); - ruleStainingProperties.setNamespace(testNamespace); - ruleStainingProperties.setGroup(testGroup); - ruleStainingProperties.setFileName(testFileName); - - ConfigFile configFile = Mockito.mock(ConfigFile.class); - when(configFile.getContent()).thenReturn("{\n" - + " \"rules\":[\n" - + " {\n" - + " \"conditionsxxxx\":[\n" - + " {\n" - + " \"key\":\"${http.query.uid}\",\n" - + " \"values\":[\"1000\"],\n" - + " \"operation\":\"EQUALS\"\n" - + " }\n" - + " ],\n" - + " \"labels\":[\n" - + " {\n" - + " \"key\":\"env\",\n" - + " \"value\":\"blue\"\n" - + " }\n" - + " ]\n" - + " }\n" - + " ]\n" - + "}"); - when(configFileService.getConfigFile(testNamespace, testGroup, testFileName)).thenReturn(configFile); - - new StainingRuleManager(ruleStainingProperties, configFileService); + assertThatCode(() -> { + RuleStainingProperties ruleStainingProperties = new RuleStainingProperties(); + ruleStainingProperties.setNamespace(testNamespace); + ruleStainingProperties.setGroup(testGroup); + ruleStainingProperties.setFileName(testFileName); + + ConfigFile configFile = Mockito.mock(ConfigFile.class); + when(configFile.getContent()).thenReturn("{\n" + + " \"rules\":[\n" + + " {\n" + + " \"conditionsxxxx\":[\n" + + " {\n" + + " \"key\":\"${http.query.uid}\",\n" + + " \"values\":[\"1000\"],\n" + + " \"operation\":\"EQUALS\"\n" + + " }\n" + + " ],\n" + + " \"labels\":[\n" + + " {\n" + + " \"key\":\"env\",\n" + + " \"value\":\"blue\"\n" + + " }\n" + + " ]\n" + + " }\n" + + " ]\n" + + "}"); + when(configFileService.getConfigFile(testNamespace, testGroup, testFileName)).thenReturn(configFile); + + new StainingRuleManager(ruleStainingProperties, configFileService); + }).isInstanceOf(RuntimeException.class); } @Test @@ -128,6 +129,6 @@ public class StainingRuleManagerTest { when(configFileService.getConfigFile(testNamespace, testGroup, testFileName)).thenReturn(configFile); StainingRuleManager stainingRuleManager = new StainingRuleManager(ruleStainingProperties, configFileService); - Assert.assertNull(stainingRuleManager.getStainingRule()); + assertThat(stainingRuleManager.getStainingRule()).isNull(); } } diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-pushgateway-plugin/pom.xml b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-pushgateway-plugin/pom.xml index 025e59d6..22a80c0f 100644 --- a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-pushgateway-plugin/pom.xml +++ b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-pushgateway-plugin/pom.xml @@ -21,6 +21,7 @@ com.tencent.polaris stat-pushgateway + 1.10.5 diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-pushgateway-plugin/src/test/java/com/tencent/cloud/plugin/pushgateway/PolarisStatPushGatewayAutoConfigurationTest.java b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-pushgateway-plugin/src/test/java/com/tencent/cloud/plugin/pushgateway/PolarisStatPushGatewayAutoConfigurationTest.java index 0608c2a9..b6d09d6f 100644 --- a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-pushgateway-plugin/src/test/java/com/tencent/cloud/plugin/pushgateway/PolarisStatPushGatewayAutoConfigurationTest.java +++ b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-pushgateway-plugin/src/test/java/com/tencent/cloud/plugin/pushgateway/PolarisStatPushGatewayAutoConfigurationTest.java @@ -17,7 +17,8 @@ package com.tencent.cloud.plugin.pushgateway; -import org.junit.Test; +import com.tencent.cloud.polaris.context.config.PolarisContextAutoConfiguration; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; @@ -33,7 +34,9 @@ import static org.assertj.core.api.Assertions.assertThat; public class PolarisStatPushGatewayAutoConfigurationTest { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(PolarisStatPushGatewayAutoConfiguration.class)); + .withConfiguration(AutoConfigurations.of( + PolarisContextAutoConfiguration.class, + PolarisStatPushGatewayAutoConfiguration.class)); @Test public void testDefaultInitialization() { diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-pushgateway-plugin/src/test/java/com/tencent/cloud/plugin/pushgateway/PolarisStatPushGatewayBootstrapConfigurationTest.java b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-pushgateway-plugin/src/test/java/com/tencent/cloud/plugin/pushgateway/PolarisStatPushGatewayBootstrapConfigurationTest.java index 2ce01969..bb332d94 100644 --- a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-pushgateway-plugin/src/test/java/com/tencent/cloud/plugin/pushgateway/PolarisStatPushGatewayBootstrapConfigurationTest.java +++ b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-pushgateway-plugin/src/test/java/com/tencent/cloud/plugin/pushgateway/PolarisStatPushGatewayBootstrapConfigurationTest.java @@ -17,7 +17,7 @@ package com.tencent.cloud.plugin.pushgateway; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-pushgateway-plugin/src/test/java/com/tencent/cloud/plugin/pushgateway/PolarisStatPushGatewayPropertiesTest.java b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-pushgateway-plugin/src/test/java/com/tencent/cloud/plugin/pushgateway/PolarisStatPushGatewayPropertiesTest.java index 0301c814..52d14ad8 100644 --- a/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-pushgateway-plugin/src/test/java/com/tencent/cloud/plugin/pushgateway/PolarisStatPushGatewayPropertiesTest.java +++ b/spring-cloud-tencent-plugin-starters/spring-cloud-tencent-pushgateway-plugin/src/test/java/com/tencent/cloud/plugin/pushgateway/PolarisStatPushGatewayPropertiesTest.java @@ -18,12 +18,13 @@ package com.tencent.cloud.plugin.pushgateway; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.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 PolarisStatPushGatewayProperties}. * @@ -42,9 +43,9 @@ public class PolarisStatPushGatewayPropertiesTest { public void polarisStatPushGatewayPropertiesTest() { contextRunner.run(context -> { PolarisStatPushGatewayProperties polarisStatPushGatewayProperties = context.getBean(PolarisStatPushGatewayProperties.class); - Assert.assertTrue(polarisStatPushGatewayProperties.isEnabled()); - Assert.assertEquals("127.0.0.1:9091", polarisStatPushGatewayProperties.getAddress()); - Assert.assertEquals("1000", polarisStatPushGatewayProperties.getPushInterval().toString()); + assertThat(polarisStatPushGatewayProperties.isEnabled()).isTrue(); + assertThat(polarisStatPushGatewayProperties.getAddress()).isEqualTo("127.0.0.1:9091"); + assertThat(polarisStatPushGatewayProperties.getPushInterval().toString()).isEqualTo("1000"); }); } } diff --git a/spring-cloud-tencent-polaris-context/pom.xml b/spring-cloud-tencent-polaris-context/pom.xml index 1c85382c..d25bf6e0 100644 --- a/spring-cloud-tencent-polaris-context/pom.xml +++ b/spring-cloud-tencent-polaris-context/pom.xml @@ -62,6 +62,12 @@ com.tencent.polaris connector-polaris-grpc + + + junit + junit + + diff --git a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/ServiceRuleManager.java b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/ServiceRuleManager.java index 6ace65e7..8294fb0e 100644 --- a/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/ServiceRuleManager.java +++ b/spring-cloud-tencent-polaris-context/src/main/java/com/tencent/cloud/polaris/context/ServiceRuleManager.java @@ -32,8 +32,8 @@ import com.tencent.polaris.client.flow.BaseFlow; import com.tencent.polaris.client.flow.DefaultFlowControlParam; import com.tencent.polaris.client.flow.FlowControlParam; import com.tencent.polaris.client.flow.ResourcesResponse; -import com.tencent.polaris.client.pb.RateLimitProto; -import com.tencent.polaris.client.pb.RoutingProto; +import com.tencent.polaris.specification.api.v1.traffic.manage.RateLimitProto; +import com.tencent.polaris.specification.api.v1.traffic.manage.RoutingProto; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/spring-cloud-tencent-polaris-context/src/test/java/com/tencent/cloud/polaris/context/PolarisContextGetHostTest.java b/spring-cloud-tencent-polaris-context/src/test/java/com/tencent/cloud/polaris/context/PolarisContextGetHostTest.java index 98a8c873..88b73064 100644 --- a/spring-cloud-tencent-polaris-context/src/test/java/com/tencent/cloud/polaris/context/PolarisContextGetHostTest.java +++ b/spring-cloud-tencent-polaris-context/src/test/java/com/tencent/cloud/polaris/context/PolarisContextGetHostTest.java @@ -20,14 +20,14 @@ package com.tencent.cloud.polaris.context; import com.tencent.cloud.polaris.context.config.PolarisContextAutoConfiguration; import com.tencent.cloud.polaris.context.config.PolarisContextProperties; import com.tencent.polaris.client.api.SDKContext; -import org.junit.Test; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.junit.platform.commons.util.StringUtils; -import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.ImportAutoConfiguration; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import static org.assertj.core.api.Assertions.assertThat; @@ -36,7 +36,7 @@ import static org.assertj.core.api.Assertions.assertThat; * * @author Haotian Zhang */ -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest(classes = PolarisContextApplication.class, properties = {"spring.config.location = classpath:bootstrap.yml"}) @ImportAutoConfiguration({PolarisContextAutoConfiguration.class}) diff --git a/spring-cloud-tencent-polaris-context/src/test/java/com/tencent/cloud/polaris/context/PostInitPolarisSDKContextTest.java b/spring-cloud-tencent-polaris-context/src/test/java/com/tencent/cloud/polaris/context/PostInitPolarisSDKContextTest.java index 52b42b23..a5567c76 100644 --- a/spring-cloud-tencent-polaris-context/src/test/java/com/tencent/cloud/polaris/context/PostInitPolarisSDKContextTest.java +++ b/spring-cloud-tencent-polaris-context/src/test/java/com/tencent/cloud/polaris/context/PostInitPolarisSDKContextTest.java @@ -22,10 +22,10 @@ import com.tencent.polaris.api.plugin.common.ValueContext; import com.tencent.polaris.api.plugin.route.LocationLevel; import com.tencent.polaris.client.api.SDKContext; import org.assertj.core.api.Assertions; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import static org.mockito.Mockito.when; @@ -34,20 +34,17 @@ import static org.mockito.Mockito.when; * * @author wh */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public final class PostInitPolarisSDKContextTest { + private static final String REGION = "region"; + private static final String ZONE = "zone"; + private static final String CAMPUS = "campus"; @Mock private SDKContext sdkContext; @Mock private StaticMetadataManager staticMetadataManager; - private static final String REGION = "region"; - - private static final String ZONE = "zone"; - - private static final String CAMPUS = "campus"; - @Test public void testConstructor() { ValueContext valueContext = new ValueContext(); diff --git a/spring-cloud-tencent-polaris-context/src/test/java/com/tencent/cloud/polaris/context/config/PolarisContextAutoConfigurationTest.java b/spring-cloud-tencent-polaris-context/src/test/java/com/tencent/cloud/polaris/context/config/PolarisContextAutoConfigurationTest.java index 0bc49206..4b20bcd1 100644 --- a/spring-cloud-tencent-polaris-context/src/test/java/com/tencent/cloud/polaris/context/config/PolarisContextAutoConfigurationTest.java +++ b/spring-cloud-tencent-polaris-context/src/test/java/com/tencent/cloud/polaris/context/config/PolarisContextAutoConfigurationTest.java @@ -18,13 +18,14 @@ package com.tencent.cloud.polaris.context.config; import com.tencent.polaris.client.api.SDKContext; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.cloud.commons.util.UtilAutoConfiguration; +import static org.assertj.core.api.Assertions.assertThat; + /** * Test for {@link PolarisContextAutoConfiguration}. * @@ -42,7 +43,7 @@ public class PolarisContextAutoConfigurationTest { public void testProperties() { contextRunner.run(context -> { final SDKContext sdkContext = context.getBean(SDKContext.class); - Assert.assertNotNull(sdkContext); + assertThat(sdkContext).isNotNull(); }); } } diff --git a/spring-cloud-tencent-rpc-enhancement/pom.xml b/spring-cloud-tencent-rpc-enhancement/pom.xml index 16aab278..b4560f07 100644 --- a/spring-cloud-tencent-rpc-enhancement/pom.xml +++ b/spring-cloud-tencent-rpc-enhancement/pom.xml @@ -25,6 +25,12 @@ com.tencent.polaris stat-prometheus + + + junit + junit + + diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/feign/DefaultEnhancedFeignPluginRunner.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/feign/DefaultEnhancedFeignPluginRunner.java index 5927a752..affce002 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/feign/DefaultEnhancedFeignPluginRunner.java +++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/feign/DefaultEnhancedFeignPluginRunner.java @@ -18,11 +18,12 @@ package com.tencent.cloud.rpc.enhancement.feign; +import java.util.ArrayList; import java.util.Comparator; +import java.util.HashMap; import java.util.List; +import java.util.Map; -import com.google.common.collect.ArrayListMultimap; -import com.google.common.collect.Multimap; import com.tencent.cloud.rpc.enhancement.feign.plugin.EnhancedFeignContext; import com.tencent.cloud.rpc.enhancement.feign.plugin.EnhancedFeignPlugin; import com.tencent.cloud.rpc.enhancement.feign.plugin.EnhancedFeignPluginType; @@ -36,13 +37,18 @@ import org.springframework.util.CollectionUtils; */ public class DefaultEnhancedFeignPluginRunner implements EnhancedFeignPluginRunner { - private Multimap pluginMap = ArrayListMultimap.create(); + private Map> pluginMap = new HashMap<>(); public DefaultEnhancedFeignPluginRunner(List enhancedFeignPlugins) { if (!CollectionUtils.isEmpty(enhancedFeignPlugins)) { enhancedFeignPlugins.stream() .sorted(Comparator.comparing(EnhancedFeignPlugin::getOrder)) - .forEach(plugin -> pluginMap.put(plugin.getType().name(), plugin)); + .forEach(plugin -> { + if (!pluginMap.containsKey(plugin.getType().name())) { + pluginMap.put(plugin.getType().name(), new ArrayList<>()); + } + pluginMap.get(plugin.getType().name()).add(plugin); + }); } } diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/AbstractPolarisReporterAdapterTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/AbstractPolarisReporterAdapterTest.java index a14655de..4c9c8a4e 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/AbstractPolarisReporterAdapterTest.java +++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/AbstractPolarisReporterAdapterTest.java @@ -19,7 +19,7 @@ package com.tencent.cloud.rpc.enhancement; import com.tencent.cloud.rpc.enhancement.config.RpcEnhancementReporterProperties; import org.assertj.core.api.Assertions; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.http.HttpStatus; diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementAutoConfigurationTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementAutoConfigurationTest.java index 78508dd1..7be8b8b6 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementAutoConfigurationTest.java +++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementAutoConfigurationTest.java @@ -24,7 +24,7 @@ import com.tencent.cloud.rpc.enhancement.feign.plugin.reporter.ExceptionPolarisR import com.tencent.cloud.rpc.enhancement.feign.plugin.reporter.SuccessPolarisReporter; import com.tencent.cloud.rpc.enhancement.resttemplate.EnhancedRestTemplateReporter; import com.tencent.polaris.api.core.ConsumerAPI; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementReporterPropertiesTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementReporterPropertiesTest.java index a4ba5ed6..e483cf59 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementReporterPropertiesTest.java +++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/config/RpcEnhancementReporterPropertiesTest.java @@ -17,14 +17,14 @@ package com.tencent.cloud.rpc.enhancement.config; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; 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 org.springframework.test.context.junit.jupiter.SpringExtension; import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.http.HttpStatus.MOVED_PERMANENTLY; @@ -37,7 +37,7 @@ import static org.springframework.http.HttpStatus.Series.SERVER_ERROR; * * @author Haotian Zhang */ -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest(classes = RpcEnhancementReporterPropertiesTest.TestApplication.class) @ActiveProfiles("disable") public class RpcEnhancementReporterPropertiesTest { diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/EnhancedFeignBeanPostProcessorTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/EnhancedFeignBeanPostProcessorTest.java index b22b7c18..40e09a94 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/EnhancedFeignBeanPostProcessorTest.java +++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/EnhancedFeignBeanPostProcessorTest.java @@ -18,8 +18,8 @@ package com.tencent.cloud.rpc.enhancement.feign; import feign.Client; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.BeanFactory; import org.springframework.cloud.client.loadbalancer.LoadBalancerProperties; @@ -42,8 +42,8 @@ public class EnhancedFeignBeanPostProcessorTest { private EnhancedFeignBeanPostProcessor enhancedFeignBeanPostProcessor; - @Before - public void setUp() { + @BeforeEach + void setUp() { enhancedFeignBeanPostProcessor = new EnhancedFeignBeanPostProcessor(null); } diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/EnhancedFeignBlockingLoadBalancerClientTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/EnhancedFeignBlockingLoadBalancerClientTest.java index 94cc730d..bcca3df8 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/EnhancedFeignBlockingLoadBalancerClientTest.java +++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/EnhancedFeignBlockingLoadBalancerClientTest.java @@ -17,8 +17,9 @@ package com.tencent.cloud.rpc.enhancement.feign; -import org.assertj.core.api.Assertions; -import org.junit.Test; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThatCode; /** * Test for {@link EnhancedFeignBlockingLoadBalancerClient}. @@ -29,11 +30,6 @@ public class EnhancedFeignBlockingLoadBalancerClientTest { @Test public void testConstructor() { - try { - new EnhancedFeignBlockingLoadBalancerClient(null, null, null); - } - catch (Exception e) { - Assertions.fail("Exception encountered.", e); - } + assertThatCode(() -> new EnhancedFeignBlockingLoadBalancerClient(null, null, null)).doesNotThrowAnyException(); } } diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/EnhancedFeignClientTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/EnhancedFeignClientTest.java index 1a0053c1..76027f6d 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/EnhancedFeignClientTest.java +++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/EnhancedFeignClientTest.java @@ -19,9 +19,9 @@ package com.tencent.cloud.rpc.enhancement.feign; import java.io.IOException; import java.util.ArrayList; +import java.util.Collections; import java.util.List; -import com.google.common.collect.Maps; import com.tencent.cloud.rpc.enhancement.feign.plugin.EnhancedFeignContext; import com.tencent.cloud.rpc.enhancement.feign.plugin.EnhancedFeignPlugin; import com.tencent.cloud.rpc.enhancement.feign.plugin.EnhancedFeignPluginType; @@ -30,12 +30,12 @@ import feign.Request; import feign.RequestTemplate; import feign.Response; import feign.Target; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.fail; @@ -49,7 +49,7 @@ import static org.mockito.Mockito.mock; * * @author Haotian Zhang */ -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest(classes = EnhancedFeignClientTest.TestApplication.class, properties = {"spring.cloud.polaris.namespace=Test", "spring.cloud.polaris.service=TestApp"}) public class EnhancedFeignClientTest { @@ -107,18 +107,18 @@ public class EnhancedFeignClientTest { // 200 Response response = polarisFeignClient.execute(Request.create(Request.HttpMethod.GET, "http://localhost:8080/test", - Maps.newHashMap(), null, requestTemplate), null); + Collections.emptyMap(), null, requestTemplate), null); assertThat(response.status()).isEqualTo(200); // 502 response = polarisFeignClient.execute(Request.create(Request.HttpMethod.POST, "http://localhost:8080/test", - Maps.newHashMap(), null, requestTemplate), null); + Collections.emptyMap(), null, requestTemplate), null); assertThat(response.status()).isEqualTo(502); // Exception try { polarisFeignClient.execute(Request.create(Request.HttpMethod.DELETE, "http://localhost:8080/test", - Maps.newHashMap(), null, requestTemplate), null); + Collections.emptyMap(), null, requestTemplate), null); fail("IOException should be thrown."); } catch (Throwable t) { diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/plugin/EnhancedFeignContextTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/plugin/EnhancedFeignContextTest.java index 0d3078a6..0143fc84 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/plugin/EnhancedFeignContextTest.java +++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/plugin/EnhancedFeignContextTest.java @@ -19,7 +19,7 @@ package com.tencent.cloud.rpc.enhancement.feign.plugin; import feign.Request; import feign.Response; -import org.junit.Test; +import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/plugin/reporter/ExceptionPolarisReporterTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/plugin/reporter/ExceptionPolarisReporterTest.java index d2356647..a123e849 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/plugin/reporter/ExceptionPolarisReporterTest.java +++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/plugin/reporter/ExceptionPolarisReporterTest.java @@ -25,15 +25,15 @@ import com.tencent.polaris.api.pojo.RetStatus; import com.tencent.polaris.api.rpc.ServiceCallResult; import feign.Request; import feign.Response; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.MockedStatic; import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; @@ -47,7 +47,7 @@ import static org.mockito.Mockito.verify; * * @author Haotian Zhang */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class ExceptionPolarisReporterTest { private static MockedStatic mockedReporterUtils; @@ -58,15 +58,15 @@ public class ExceptionPolarisReporterTest { @InjectMocks private ExceptionPolarisReporter exceptionPolarisReporter; - @BeforeClass - public static void beforeClass() { + @BeforeAll + static void beforeAll() { mockedReporterUtils = Mockito.mockStatic(ReporterUtils.class); mockedReporterUtils.when(() -> ReporterUtils.createServiceCallResult(any(Request.class), any(RetStatus.class))) .thenReturn(mock(ServiceCallResult.class)); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterAll() { mockedReporterUtils.close(); } diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/plugin/reporter/ReporterUtilsTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/plugin/reporter/ReporterUtilsTest.java index 795b918b..c39dd163 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/plugin/reporter/ReporterUtilsTest.java +++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/plugin/reporter/ReporterUtilsTest.java @@ -28,14 +28,14 @@ import com.tencent.polaris.api.rpc.ServiceCallResult; import feign.Request; import feign.RequestTemplate; import feign.Target; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.MockedStatic; import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import static com.tencent.cloud.common.constant.ContextConstant.UTF_8; import static com.tencent.polaris.test.common.Consts.NAMESPACE_TEST; @@ -50,25 +50,25 @@ import static org.mockito.Mockito.mock; * * @author Haotian Zhang */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class ReporterUtilsTest { private static MockedStatic mockedApplicationContextAwareUtils; - @BeforeClass - public static void beforeClass() { + @BeforeAll + static void beforeAll() { mockedApplicationContextAwareUtils = Mockito.mockStatic(ApplicationContextAwareUtils.class); mockedApplicationContextAwareUtils.when(() -> ApplicationContextAwareUtils.getProperties(anyString())) .thenReturn("unit-test"); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterAll() { mockedApplicationContextAwareUtils.close(); } - @Before - public void setUp() { + @BeforeEach + void setUp() { MetadataContext.LOCAL_NAMESPACE = NAMESPACE_TEST; MetadataContext.LOCAL_SERVICE = SERVICE_PROVIDER; } diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/plugin/reporter/SuccessPolarisReporterTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/plugin/reporter/SuccessPolarisReporterTest.java index edf9ac0c..84159298 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/plugin/reporter/SuccessPolarisReporterTest.java +++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/feign/plugin/reporter/SuccessPolarisReporterTest.java @@ -25,15 +25,15 @@ import com.tencent.polaris.api.pojo.RetStatus; import com.tencent.polaris.api.rpc.ServiceCallResult; import feign.Request; import feign.Response; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.MockedStatic; import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; @@ -47,7 +47,7 @@ import static org.mockito.Mockito.verify; * * @author Haotian Zhang */ -@RunWith(MockitoJUnitRunner.Silent.class) +@ExtendWith(MockitoExtension.class) public class SuccessPolarisReporterTest { private static MockedStatic mockedReporterUtils; @@ -58,15 +58,15 @@ public class SuccessPolarisReporterTest { @InjectMocks private SuccessPolarisReporter successPolarisReporter; - @BeforeClass - public static void beforeClass() { + @BeforeAll + static void beforeAll() { mockedReporterUtils = Mockito.mockStatic(ReporterUtils.class); mockedReporterUtils.when(() -> ReporterUtils.createServiceCallResult(any(Request.class), any(RetStatus.class))) .thenReturn(mock(ServiceCallResult.class)); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterAll() { mockedReporterUtils.close(); } diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/resttemplate/EnhancedRestTemplateReporterTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/resttemplate/EnhancedRestTemplateReporterTest.java index 9c4ecdf6..003f8ea7 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/resttemplate/EnhancedRestTemplateReporterTest.java +++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/resttemplate/EnhancedRestTemplateReporterTest.java @@ -29,17 +29,16 @@ import com.tencent.cloud.common.util.ApplicationContextAwareUtils; import com.tencent.cloud.rpc.enhancement.config.RpcEnhancementReporterProperties; import com.tencent.polaris.api.core.ConsumerAPI; import org.checkerframework.checker.nullness.qual.NonNull; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.MockedStatic; import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.context.ApplicationContext; import org.springframework.http.HttpHeaders; @@ -50,6 +49,7 @@ import org.springframework.http.client.ClientHttpResponse; import org.springframework.web.client.DefaultResponseErrorHandler; import org.springframework.web.client.ResponseErrorHandler; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.mock; @@ -61,7 +61,7 @@ import static org.mockito.Mockito.when; * Test for {@link EnhancedRestTemplateReporter}. * @author lepdou 2022-09-06 */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class EnhancedRestTemplateReporterTest { private static MockedStatic mockedMetadataContextHolder; @@ -78,8 +78,8 @@ public class EnhancedRestTemplateReporterTest { @InjectMocks private EnhancedRestTemplateReporter enhancedRestTemplateReporter2; - @BeforeClass - public static void beforeClass() { + @BeforeAll + static void beforeAll() { mockedApplicationContextAwareUtils = Mockito.mockStatic(ApplicationContextAwareUtils.class); mockedApplicationContextAwareUtils.when(() -> ApplicationContextAwareUtils.getProperties(anyString())) .thenReturn("caller"); @@ -95,14 +95,14 @@ public class EnhancedRestTemplateReporterTest { mockedMetadataContextHolder.when(MetadataContextHolder::get).thenReturn(metadataContext); } - @AfterClass - public static void afterClass() { + @AfterAll + static void afterAll() { mockedApplicationContextAwareUtils.close(); mockedMetadataContextHolder.close(); } - @Before - public void before() { + @BeforeEach + void setUp() { enhancedRestTemplateReporter.setDelegateHandler(delegate); } @@ -114,14 +114,14 @@ public class EnhancedRestTemplateReporterTest { when(applicationContext.getBeanNamesForType(any(Class.class))) .thenReturn(new String[] {"enhancedRestTemplateReporter"}); enhancedRestTemplateReporter2.setApplicationContext(applicationContext); - Assert.assertTrue(enhancedRestTemplateReporter2.getDelegateHandler() instanceof DefaultResponseErrorHandler); + assertThat(enhancedRestTemplateReporter2.getDelegateHandler()).isInstanceOf(DefaultResponseErrorHandler.class); // test one other ResponseErrorHandler when(applicationContext.getBeanNamesForType(any(Class.class))) .thenReturn(new String[] {"enhancedRestTemplateReporter", "mockedResponseErrorHandler"}); when(applicationContext.getBean(anyString())).thenReturn(mock(MockedResponseErrorHandler.class)); enhancedRestTemplateReporter2.setApplicationContext(applicationContext); - Assert.assertTrue(enhancedRestTemplateReporter2.getDelegateHandler() instanceof MockedResponseErrorHandler); + assertThat(enhancedRestTemplateReporter2.getDelegateHandler()).isInstanceOf(MockedResponseErrorHandler.class); } @Test @@ -129,10 +129,10 @@ public class EnhancedRestTemplateReporterTest { when(delegate.hasError(any())).thenReturn(true); MockedClientHttpResponse response = new MockedClientHttpResponse(); - Assert.assertTrue(enhancedRestTemplateReporter.hasError(response)); + assertThat(enhancedRestTemplateReporter.hasError(response)).isTrue(); String realHasError = response.getHeaders().getFirst(EnhancedRestTemplateReporter.HEADER_HAS_ERROR); - Assert.assertEquals("true", realHasError); + assertThat(realHasError).isEqualTo("true"); } @Test diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/stat/config/PolarisStatPropertiesAutoConfigurationTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/stat/config/PolarisStatPropertiesAutoConfigurationTest.java index c6c2ed13..4939194e 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/stat/config/PolarisStatPropertiesAutoConfigurationTest.java +++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/stat/config/PolarisStatPropertiesAutoConfigurationTest.java @@ -17,7 +17,7 @@ package com.tencent.cloud.rpc.enhancement.stat.config; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/stat/config/PolarisStatPropertiesBootstrapConfigurationTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/stat/config/PolarisStatPropertiesBootstrapConfigurationTest.java index acb8420d..e1a887eb 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/stat/config/PolarisStatPropertiesBootstrapConfigurationTest.java +++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/stat/config/PolarisStatPropertiesBootstrapConfigurationTest.java @@ -17,7 +17,7 @@ package com.tencent.cloud.rpc.enhancement.stat.config; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/stat/config/PolarisStatPropertiesDisableTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/stat/config/PolarisStatPropertiesDisableTest.java index c333cc43..fbcb0855 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/stat/config/PolarisStatPropertiesDisableTest.java +++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/stat/config/PolarisStatPropertiesDisableTest.java @@ -17,14 +17,14 @@ package com.tencent.cloud.rpc.enhancement.stat.config; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; 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 org.springframework.test.context.junit.jupiter.SpringExtension; import static org.assertj.core.api.Assertions.assertThat; @@ -33,7 +33,7 @@ import static org.assertj.core.api.Assertions.assertThat; * * @author Haotian Zhang */ -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest(classes = PolarisStatPropertiesDisableTest.TestApplication.class) @ActiveProfiles("disable") public class PolarisStatPropertiesDisableTest { diff --git a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/stat/config/PolarisStatPropertiesTest.java b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/stat/config/PolarisStatPropertiesTest.java index 9adc4f65..88ac826c 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/stat/config/PolarisStatPropertiesTest.java +++ b/spring-cloud-tencent-rpc-enhancement/src/test/java/com/tencent/cloud/rpc/enhancement/stat/config/PolarisStatPropertiesTest.java @@ -17,14 +17,14 @@ package com.tencent.cloud.rpc.enhancement.stat.config; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; 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 org.springframework.test.context.junit.jupiter.SpringExtension; import static org.assertj.core.api.Assertions.assertThat; @@ -33,7 +33,7 @@ import static org.assertj.core.api.Assertions.assertThat; * * @author Haotian Zhang */ -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest(classes = PolarisStatPropertiesTest.TestApplication.class) @ActiveProfiles("test") public class PolarisStatPropertiesTest {