diff --git a/spring-cloud-gateway-server/src/test/java/org/springframework/cloud/gateway/filter/headers/ForwardedHeadersFilterTests.java b/spring-cloud-gateway-server/src/test/java/org/springframework/cloud/gateway/filter/headers/ForwardedHeadersFilterTests.java index f67649dc..3567b320 100644 --- a/spring-cloud-gateway-server/src/test/java/org/springframework/cloud/gateway/filter/headers/ForwardedHeadersFilterTests.java +++ b/spring-cloud-gateway-server/src/test/java/org/springframework/cloud/gateway/filter/headers/ForwardedHeadersFilterTests.java @@ -96,15 +96,13 @@ public class ForwardedHeadersFilterTests { assertThat(forwardeds).hasSize(3); Optional added = forwardeds.stream() - .filter(forwarded -> forwarded.get("for").contains("10.0.0.1:80")) - .findFirst(); + .filter(forwarded -> forwarded.get("for").contains("10.0.0.1:80")).findFirst(); assertThat(added).isPresent(); added.ifPresent(forwarded -> { assertThat(forwarded.getValues()).containsEntry("proto", "http").containsEntry("for", "\"10.0.0.1:80\""); }); Optional existing = forwardeds.stream() - .filter(forwarded -> forwarded.get("for").equals("23.45.67.89")) - .findFirst(); + .filter(forwarded -> forwarded.get("for").equals("23.45.67.89")).findFirst(); assertThat(existing).isPresent(); existing.ifPresent(forwarded -> { assertThat(forwarded.getValues()).containsEntry("for", "23.45.67.89"); @@ -216,36 +214,34 @@ public class ForwardedHeadersFilterTests { @Test public void trustedProxiesConditionMatches() { new ReactiveWebApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(WebFluxAutoConfiguration.class, - ReactiveWebServerFactoryAutoConfiguration.class, GatewayAutoConfiguration.class)) - .withPropertyValues("spring.cloud.gateway.trusted-proxies=11\\.0\\.0\\..*") - .run(context -> { - assertThat(context).hasSingleBean(ForwardedHeadersFilter.class); - }); + .withConfiguration(AutoConfigurations.of(WebFluxAutoConfiguration.class, + ReactiveWebServerFactoryAutoConfiguration.class, GatewayAutoConfiguration.class)) + .withPropertyValues("spring.cloud.gateway.trusted-proxies=11\\.0\\.0\\..*").run(context -> { + assertThat(context).hasSingleBean(ForwardedHeadersFilter.class); + }); } @Test public void trustedProxiesConditionDoesNotMatch() { new ReactiveWebApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(WebFluxAutoConfiguration.class, - ReactiveWebServerFactoryAutoConfiguration.class, GatewayAutoConfiguration.class)) - .run(context -> { - assertThat(context).doesNotHaveBean(ForwardedHeadersFilter.class); - }); + .withConfiguration(AutoConfigurations.of(WebFluxAutoConfiguration.class, + ReactiveWebServerFactoryAutoConfiguration.class, GatewayAutoConfiguration.class)) + .run(context -> { + assertThat(context).doesNotHaveBean(ForwardedHeadersFilter.class); + }); } @Test public void emptyTrustedProxiesFails() { Assertions.assertThatThrownBy(() -> new ForwardedHeadersFilter("")) - .isInstanceOf(IllegalArgumentException.class); + .isInstanceOf(IllegalArgumentException.class); } @Test public void forwardedHeadersNotTrusted() throws Exception { MockServerHttpRequest request = MockServerHttpRequest.get("http://localhost/get") - .remoteAddress(new InetSocketAddress(InetAddress.getByName("10.0.0.1"), 80)) - .header(HttpHeaders.HOST, "myhost") - .build(); + .remoteAddress(new InetSocketAddress(InetAddress.getByName("10.0.0.1"), 80)) + .header(HttpHeaders.HOST, "myhost").build(); ForwardedHeadersFilter filter = new ForwardedHeadersFilter("11\\.0\\.0\\..*"); @@ -258,10 +254,9 @@ public class ForwardedHeadersFilterTests { @Test public void untrustedForwardedForNotAppended() throws Exception { MockServerHttpRequest request = MockServerHttpRequest.get("http://localhost/get") - .remoteAddress(new InetSocketAddress(InetAddress.getByName("10.0.0.1"), 80)) - .header(HttpHeaders.HOST, "myhost") - .header(FORWARDED_HEADER, "proto=http;host=myhost;for=\"127.0.0.1:80\",for=10.0.0.11") - .build(); + .remoteAddress(new InetSocketAddress(InetAddress.getByName("10.0.0.1"), 80)) + .header(HttpHeaders.HOST, "myhost") + .header(FORWARDED_HEADER, "proto=http;host=myhost;for=\"127.0.0.1:80\",for=10.0.0.11").build(); ForwardedHeadersFilter filter = new ForwardedHeadersFilter("10\\.0\\.0\\..*"); @@ -278,9 +273,8 @@ public class ForwardedHeadersFilterTests { @Test public void remoteAdddressIsNullUnTrustedProxyNotAppended() throws Exception { MockServerHttpRequest request = MockServerHttpRequest.get("http://localhost:8080/get") - .header(HttpHeaders.HOST, "myhost") - .header(FORWARDED_HEADER, "proto=http;host=myhost;for=127.0.0.1") - .build(); + .header(HttpHeaders.HOST, "myhost").header(FORWARDED_HEADER, "proto=http;host=myhost;for=127.0.0.1") + .build(); ForwardedHeadersFilter filter = new ForwardedHeadersFilter("10\\.0\\.0\\..*"); diff --git a/spring-cloud-gateway-server/src/test/java/org/springframework/cloud/gateway/filter/headers/XForwardedHeadersFilterTests.java b/spring-cloud-gateway-server/src/test/java/org/springframework/cloud/gateway/filter/headers/XForwardedHeadersFilterTests.java index cad9015a..8d19ac48 100644 --- a/spring-cloud-gateway-server/src/test/java/org/springframework/cloud/gateway/filter/headers/XForwardedHeadersFilterTests.java +++ b/spring-cloud-gateway-server/src/test/java/org/springframework/cloud/gateway/filter/headers/XForwardedHeadersFilterTests.java @@ -61,8 +61,8 @@ public class XForwardedHeadersFilterTests { HttpHeaders headers = filter.filter(request.getHeaders(), MockServerWebExchange.from(request)); - assertThat(headers).doesNotContainKeys(X_FORWARDED_FOR_HEADER) - .containsKeys(X_FORWARDED_HOST_HEADER, X_FORWARDED_PORT_HEADER, X_FORWARDED_PROTO_HEADER); + assertThat(headers).doesNotContainKeys(X_FORWARDED_FOR_HEADER).containsKeys(X_FORWARDED_HOST_HEADER, + X_FORWARDED_PORT_HEADER, X_FORWARDED_PROTO_HEADER); assertThat(headers.getFirst(X_FORWARDED_HOST_HEADER)).isEqualTo("localhost:8080"); assertThat(headers.getFirst(X_FORWARDED_PORT_HEADER)).isEqualTo("8080"); @@ -322,36 +322,34 @@ public class XForwardedHeadersFilterTests { @Test public void trustedProxiesConditionMatches() { new ReactiveWebApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(WebFluxAutoConfiguration.class, - ReactiveWebServerFactoryAutoConfiguration.class, GatewayAutoConfiguration.class)) - .withPropertyValues(GatewayProperties.PREFIX + ".trusted-proxies=11\\.0\\.0\\..*") - .run(context -> { - assertThat(context).hasSingleBean(XForwardedHeadersFilter.class); - }); + .withConfiguration(AutoConfigurations.of(WebFluxAutoConfiguration.class, + ReactiveWebServerFactoryAutoConfiguration.class, GatewayAutoConfiguration.class)) + .withPropertyValues(GatewayProperties.PREFIX + ".trusted-proxies=11\\.0\\.0\\..*").run(context -> { + assertThat(context).hasSingleBean(XForwardedHeadersFilter.class); + }); } @Test public void trustedProxiesConditionDoesNotMatch() { new ReactiveWebApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(WebFluxAutoConfiguration.class, - ReactiveWebServerFactoryAutoConfiguration.class, GatewayAutoConfiguration.class)) - .run(context -> { - assertThat(context).doesNotHaveBean(XForwardedHeadersFilter.class); - }); + .withConfiguration(AutoConfigurations.of(WebFluxAutoConfiguration.class, + ReactiveWebServerFactoryAutoConfiguration.class, GatewayAutoConfiguration.class)) + .run(context -> { + assertThat(context).doesNotHaveBean(XForwardedHeadersFilter.class); + }); } @Test public void emptyTrustedProxiesFails() { Assertions.assertThatThrownBy(() -> new XForwardedHeadersFilter("")) - .isInstanceOf(IllegalArgumentException.class); + .isInstanceOf(IllegalArgumentException.class); } @Test public void xForwardedHeadersNotTrusted() throws Exception { MockServerHttpRequest request = MockServerHttpRequest.get("http://localhost:8080/get") - .remoteAddress(new InetSocketAddress(InetAddress.getByName("10.0.0.1"), 80)) - .header(HttpHeaders.HOST, "myhost") - .build(); + .remoteAddress(new InetSocketAddress(InetAddress.getByName("10.0.0.1"), 80)) + .header(HttpHeaders.HOST, "myhost").build(); XForwardedHeadersFilter filter = new XForwardedHeadersFilter("11\\.0\\.0\\..*"); @@ -366,11 +364,9 @@ public class XForwardedHeadersFilterTests { @Test public void untrustedXForwardedForNotAppended() throws Exception { MockServerHttpRequest request = MockServerHttpRequest.get("http://localhost:8080/get") - .remoteAddress(new InetSocketAddress(InetAddress.getByName("10.0.0.1"), 80)) - .header(HttpHeaders.HOST, "myhost") - .header(X_FORWARDED_FOR_HEADER, "127.0.0.1") - .header(X_FORWARDED_FOR_HEADER, "10.0.0.10") - .build(); + .remoteAddress(new InetSocketAddress(InetAddress.getByName("10.0.0.1"), 80)) + .header(HttpHeaders.HOST, "myhost").header(X_FORWARDED_FOR_HEADER, "127.0.0.1") + .header(X_FORWARDED_FOR_HEADER, "10.0.0.10").build(); XForwardedHeadersFilter filter = new XForwardedHeadersFilter("10\\.0\\.0\\..*"); @@ -379,16 +375,14 @@ public class XForwardedHeadersFilterTests { assertThat(headers).containsKeys(X_FORWARDED_FOR_HEADER, X_FORWARDED_HOST_HEADER, X_FORWARDED_PORT_HEADER, X_FORWARDED_PROTO_HEADER); - assertThat(headers.getFirst(X_FORWARDED_FOR_HEADER)).doesNotContain("127.0.0.1") - .contains("10.0.0.1", "10.0.0.10"); + assertThat(headers.getFirst(X_FORWARDED_FOR_HEADER)).doesNotContain("127.0.0.1").contains("10.0.0.1", + "10.0.0.10"); } @Test public void remoteAdddressIsNullUnTrustedProxyNotAppended() { MockServerHttpRequest request = MockServerHttpRequest.get("http://localhost:8080/get") - .header(HttpHeaders.HOST, "myhost") - .header(X_FORWARDED_FOR_HEADER, "127.0.0.1") - .build(); + .header(HttpHeaders.HOST, "myhost").header(X_FORWARDED_FOR_HEADER, "127.0.0.1").build(); XForwardedHeadersFilter filter = new XForwardedHeadersFilter("10\\.0\\.0\\..*");