Search in sources :

Example 1 with GATEWAY_ROUTE_ATTR

use of org.springframework.cloud.gateway.support.ServerWebExchangeUtils.GATEWAY_ROUTE_ATTR in project spring-cloud-gateway by spring-cloud.

the class RouteToRequestUrlFilterTests method testFilter.

private ServerWebExchange testFilter(MockServerHttpRequest request, String url) {
    Route value = Route.builder().id("1").uri(URI.create(url)).order(0).predicate(swe -> true).build();
    ServerWebExchange exchange = MockServerWebExchange.from(request);
    exchange.getAttributes().put(GATEWAY_ROUTE_ATTR, value);
    GatewayFilterChain filterChain = mock(GatewayFilterChain.class);
    ArgumentCaptor<ServerWebExchange> captor = ArgumentCaptor.forClass(ServerWebExchange.class);
    when(filterChain.filter(captor.capture())).thenReturn(Mono.empty());
    RouteToRequestUrlFilter filter = new RouteToRequestUrlFilter();
    filter.filter(exchange, filterChain);
    return captor.getValue();
}
Also used : UriComponentsBuilder(org.springframework.web.util.UriComponentsBuilder) MockServerHttpRequest(org.springframework.mock.http.server.reactive.MockServerHttpRequest) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) HttpMethod(org.springframework.http.HttpMethod) Test(org.junit.Test) Mono(reactor.core.publisher.Mono) Mockito.when(org.mockito.Mockito.when) ServerWebExchange(org.springframework.web.server.ServerWebExchange) ArgumentCaptor(org.mockito.ArgumentCaptor) GATEWAY_REQUEST_URL_ATTR(org.springframework.cloud.gateway.support.ServerWebExchangeUtils.GATEWAY_REQUEST_URL_ATTR) GATEWAY_ROUTE_ATTR(org.springframework.cloud.gateway.support.ServerWebExchangeUtils.GATEWAY_ROUTE_ATTR) GATEWAY_SCHEME_PREFIX_ATTR(org.springframework.cloud.gateway.support.ServerWebExchangeUtils.GATEWAY_SCHEME_PREFIX_ATTR) MockServerWebExchange(org.springframework.mock.web.server.MockServerWebExchange) URI(java.net.URI) Collections(java.util.Collections) Route(org.springframework.cloud.gateway.route.Route) Mockito.mock(org.mockito.Mockito.mock) ServerWebExchange(org.springframework.web.server.ServerWebExchange) MockServerWebExchange(org.springframework.mock.web.server.MockServerWebExchange) Route(org.springframework.cloud.gateway.route.Route)

Aggregations

URI (java.net.URI)1 Collections (java.util.Collections)1 Assertions.assertThat (org.assertj.core.api.Assertions.assertThat)1 Test (org.junit.Test)1 ArgumentCaptor (org.mockito.ArgumentCaptor)1 Mockito.mock (org.mockito.Mockito.mock)1 Mockito.when (org.mockito.Mockito.when)1 Route (org.springframework.cloud.gateway.route.Route)1 GATEWAY_REQUEST_URL_ATTR (org.springframework.cloud.gateway.support.ServerWebExchangeUtils.GATEWAY_REQUEST_URL_ATTR)1 GATEWAY_ROUTE_ATTR (org.springframework.cloud.gateway.support.ServerWebExchangeUtils.GATEWAY_ROUTE_ATTR)1 GATEWAY_SCHEME_PREFIX_ATTR (org.springframework.cloud.gateway.support.ServerWebExchangeUtils.GATEWAY_SCHEME_PREFIX_ATTR)1 HttpMethod (org.springframework.http.HttpMethod)1 MockServerHttpRequest (org.springframework.mock.http.server.reactive.MockServerHttpRequest)1 MockServerWebExchange (org.springframework.mock.web.server.MockServerWebExchange)1 ServerWebExchange (org.springframework.web.server.ServerWebExchange)1 UriComponentsBuilder (org.springframework.web.util.UriComponentsBuilder)1 Mono (reactor.core.publisher.Mono)1