From c43e3a70e650e27e0790ebcda010e4baeda80ea2 Mon Sep 17 00:00:00 2001 From: seanyu Date: Fri, 3 Mar 2023 20:13:13 +0800 Subject: [PATCH] use junit5 --- .../pom.xml | 47 ++++++++++--------- ...risCircuitBreakerFeignIntegrationTest.java | 15 ++---- ...sCircuitBreakerGatewayIntegrationTest.java | 8 ++-- .../PolarisCircuitBreakerMockServerTest.java | 24 +++++----- .../PolarisCircuitBreakerTest.java | 18 +++---- .../ReactivePolarisCircuitBreakerTest.java | 18 +++---- .../resources/application-test-gateway.yml | 2 +- 7 files changed, 65 insertions(+), 67 deletions(-) diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/pom.xml b/spring-cloud-starter-tencent-polaris-circuitbreaker/pom.xml index 99eeb59bc..ec00a9d68 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/pom.xml +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/pom.xml @@ -14,6 +14,30 @@ + + org.springframework.boot + spring-boot-starter-web + true + + + + org.springframework.boot + spring-boot-starter-webflux + true + + + + org.springframework.cloud + spring-cloud-starter-openfeign + true + + + + org.springframework.cloud + spring-cloud-starter-gateway + true + + com.tencent.cloud spring-cloud-tencent-rpc-enhancement @@ -56,29 +80,6 @@ - - org.springframework.boot - spring-boot-starter-web - true - - - - org.springframework.boot - spring-boot-starter-webflux - true - - - - org.springframework.cloud - spring-cloud-starter-openfeign - true - - - - org.springframework.cloud - spring-cloud-starter-gateway - true - diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreakerFeignIntegrationTest.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreakerFeignIntegrationTest.java index f6d96d199..e00b4e2d5 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreakerFeignIntegrationTest.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreakerFeignIntegrationTest.java @@ -19,9 +19,8 @@ package com.tencent.cloud.polaris.circuitbreaker; import com.tencent.cloud.polaris.circuitbreaker.config.PolarisCircuitBreakerFeignClientAutoConfiguration; -import org.junit.Before; -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.EnableAutoConfiguration; @@ -33,7 +32,7 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.test.annotation.DirtiesContext; -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.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -45,7 +44,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen /** * @author sean yu */ -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest(webEnvironment = RANDOM_PORT, classes = PolarisCircuitBreakerFeignIntegrationTest.TestConfig.class, properties = { @@ -69,10 +68,6 @@ public class PolarisCircuitBreakerFeignIntegrationTest { @Autowired private BazService bazService; - @Before - public void setUp() { - } - @Test public void contextLoads() throws Exception { assertThat(echoService).isNotNull(); @@ -126,7 +121,7 @@ public class PolarisCircuitBreakerFeignIntegrationTest { @FeignClient(value = "foo-service", fallbackFactory = CustomFallbackFactory.class) public interface FooService { - @GetMapping("echo/{str}") + @RequestMapping(value = "echo/{str}") String echo(@RequestParam("str") String param); } diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreakerGatewayIntegrationTest.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreakerGatewayIntegrationTest.java index 4d91a0cb1..7f54af4dc 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreakerGatewayIntegrationTest.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreakerGatewayIntegrationTest.java @@ -18,8 +18,8 @@ package com.tencent.cloud.polaris.circuitbreaker; -import org.junit.Test; -import org.junit.runner.RunWith; +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; @@ -28,14 +28,14 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Configuration; import org.springframework.test.context.ActiveProfiles; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.test.web.reactive.server.WebTestClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; -@RunWith(SpringRunner.class) +@ExtendWith(SpringExtension.class) @SpringBootTest( webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = { diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreakerMockServerTest.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreakerMockServerTest.java index d36060a86..e8315c2e7 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreakerMockServerTest.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreakerMockServerTest.java @@ -38,12 +38,13 @@ import com.tencent.polaris.client.util.Utils; import com.tencent.polaris.specification.api.v1.fault.tolerance.CircuitBreakerProto; import com.tencent.polaris.test.common.TestUtils; import com.tencent.polaris.test.mock.discovery.NamingServer; -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; +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.Mockito; +import org.mockito.junit.jupiter.MockitoExtension; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; @@ -60,13 +61,14 @@ import static org.assertj.core.api.Assertions.assertThat; * * @author sean yu */ +@ExtendWith(MockitoExtension.class) public class PolarisCircuitBreakerMockServerTest { private static MockedStatic mockedApplicationContextAwareUtils; - private NamingServer namingServer; + private static NamingServer namingServer; - @Before - public void before() throws IOException { + @BeforeAll + public static void beforeAll() throws IOException { mockedApplicationContextAwareUtils = Mockito.mockStatic(ApplicationContextAwareUtils.class); mockedApplicationContextAwareUtils.when(() -> ApplicationContextAwareUtils.getProperties("spring.cloud.polaris.namespace")) .thenReturn(NAMESPACE_TEST); @@ -78,12 +80,12 @@ public class PolarisCircuitBreakerMockServerTest { System.setProperty(SERVER_ADDRESS_ENV, String.format("127.0.0.1:%d", namingServer.getPort())); } catch (IOException e) { - Assert.fail(e.getMessage()); + } ServiceKey serviceKey = new ServiceKey(NAMESPACE_TEST, SERVICE_CIRCUIT_BREAKER); CircuitBreakerProto.CircuitBreakerRule.Builder circuitBreakerRuleBuilder = CircuitBreakerProto.CircuitBreakerRule.newBuilder(); - InputStream inputStream = getClass().getClassLoader().getResourceAsStream("circuitBreakerRule.json"); + InputStream inputStream = PolarisCircuitBreakerMockServerTest.class.getClassLoader().getResourceAsStream("circuitBreakerRule.json"); String json = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8)).lines().collect(Collectors.joining("")); JsonFormat.parser().ignoringUnknownFields().merge(json, circuitBreakerRuleBuilder); CircuitBreakerProto.CircuitBreakerRule circuitBreakerRule = circuitBreakerRuleBuilder.build(); @@ -91,8 +93,8 @@ public class PolarisCircuitBreakerMockServerTest { namingServer.getNamingService().setCircuitBreaker(serviceKey, circuitBreaker); } - @After - public void after() { + @AfterAll + public static void afterAll() { if (null != namingServer) { namingServer.terminate(); } diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreakerTest.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreakerTest.java index 120da2856..f2b46641b 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreakerTest.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreakerTest.java @@ -23,13 +23,13 @@ import com.tencent.cloud.polaris.circuitbreaker.config.PolarisCircuitBreakerAuto import com.tencent.cloud.polaris.circuitbreaker.config.PolarisCircuitBreakerFeignClientAutoConfiguration; import com.tencent.cloud.polaris.context.config.PolarisContextAutoConfiguration; import com.tencent.cloud.rpc.enhancement.config.RpcEnhancementAutoConfiguration; -import org.junit.After; -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.MockedStatic; import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; +import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; @@ -45,7 +45,7 @@ import static org.assertj.core.api.Assertions.assertThat; * * @author sean yu */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class PolarisCircuitBreakerTest { private static ApplicationContextRunner contextRunner = new ApplicationContextRunner() @@ -59,7 +59,7 @@ public class PolarisCircuitBreakerTest { private static MockedStatic mockedApplicationContextAwareUtils; - @BeforeClass + @BeforeAll public static void beforeClass() { mockedApplicationContextAwareUtils = Mockito.mockStatic(ApplicationContextAwareUtils.class); mockedApplicationContextAwareUtils.when(() -> ApplicationContextAwareUtils.getProperties("spring.cloud.polaris.namespace")) @@ -68,8 +68,8 @@ public class PolarisCircuitBreakerTest { .thenReturn(SERVICE_CIRCUIT_BREAKER); } - @After - public void after() { + @AfterAll + public static void afterAll() { mockedApplicationContextAwareUtils.close(); } diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/ReactivePolarisCircuitBreakerTest.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/ReactivePolarisCircuitBreakerTest.java index eeb95405a..48deaa67f 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/ReactivePolarisCircuitBreakerTest.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/java/com/tencent/cloud/polaris/circuitbreaker/ReactivePolarisCircuitBreakerTest.java @@ -24,13 +24,13 @@ import com.tencent.cloud.common.util.ApplicationContextAwareUtils; import com.tencent.cloud.polaris.circuitbreaker.config.ReactivePolarisCircuitBreakerAutoConfiguration; import com.tencent.cloud.polaris.context.config.PolarisContextAutoConfiguration; import com.tencent.cloud.rpc.enhancement.config.RpcEnhancementAutoConfiguration; -import org.junit.After; -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.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; @@ -48,7 +48,7 @@ import static org.assertj.core.api.Assertions.assertThat; * * @author sean yu */ -@RunWith(MockitoJUnitRunner.class) +@ExtendWith(MockitoExtension.class) public class ReactivePolarisCircuitBreakerTest { private final ApplicationContextRunner reactiveContextRunner = new ApplicationContextRunner() @@ -61,7 +61,7 @@ public class ReactivePolarisCircuitBreakerTest { private static MockedStatic mockedApplicationContextAwareUtils; - @BeforeClass + @BeforeAll public static void beforeClass() { mockedApplicationContextAwareUtils = Mockito.mockStatic(ApplicationContextAwareUtils.class); mockedApplicationContextAwareUtils.when(() -> ApplicationContextAwareUtils.getProperties("spring.cloud.polaris.namespace")) @@ -70,8 +70,8 @@ public class ReactivePolarisCircuitBreakerTest { .thenReturn(SERVICE_CIRCUIT_BREAKER); } - @After - public void after() { + @AfterAll + public static void afterAll() { mockedApplicationContextAwareUtils.close(); } diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/resources/application-test-gateway.yml b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/resources/application-test-gateway.yml index 3812ac2a1..6094b46e5 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/resources/application-test-gateway.yml +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/test/resources/application-test-gateway.yml @@ -25,7 +25,7 @@ spring: filters: - name: CircuitBreaker args: - statusCodes: 5**,4** + statusCodes: 5**,4**,3**,2**,1**,500,400 fallbackUri: forward:/polaris-fallback logging: level: