diff --git a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/actuate/GatewayControllerEndpointTests.java b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/actuate/GatewayControllerEndpointTests.java index 94c2c429..ff7e7730 100644 --- a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/actuate/GatewayControllerEndpointTests.java +++ b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/actuate/GatewayControllerEndpointTests.java @@ -27,7 +27,10 @@ import org.springframework.boot.SpringBootConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.web.server.LocalServerPort; +import org.springframework.cloud.gateway.route.RouteLocator; +import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder; import org.springframework.cloud.gateway.test.PermitAllSecurityConfiguration; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Import; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.reactive.server.WebTestClient; @@ -36,8 +39,8 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; @RunWith(SpringRunner.class) -@SpringBootTest(properties = "management.endpoints.web.exposure.include=*", - webEnvironment = RANDOM_PORT) +@SpringBootTest(properties = { "management.endpoints.web.exposure.include=*", + "spring.cloud.gateway.actuator.verbose.enabled=true" }, webEnvironment = RANDOM_PORT) public class GatewayControllerEndpointTests { @Autowired @@ -62,11 +65,32 @@ public class GatewayControllerEndpointTests { }); } + @Test + public void testGetSpecificRoute() { + testClient.get() + .uri("http://localhost:" + port + "/actuator/gateway/routes/test-service") + .exchange().expectStatus().isOk().expectBodyList(Map.class) + .consumeWith(result -> { + List responseBody = result.getResponseBody(); + assertThat(responseBody).isNotNull(); + assertThat(responseBody.size()).isEqualTo(1); + assertThat(responseBody).isNotEmpty(); + }); + } + @SpringBootConfiguration @EnableAutoConfiguration @Import(PermitAllSecurityConfiguration.class) static class TestConfig { + @Bean + RouteLocator testRouteLocator(RouteLocatorBuilder routeLocatorBuilder) { + return routeLocatorBuilder.routes() + .route("test-service", + r -> r.path("/test-service/**").uri("lb://test-service")) + .build(); + } + } }