formatting

This commit is contained in:
sgibb
2025-05-28 14:25:48 -04:00
parent aba9df5d3c
commit 8757e54bb3
2 changed files with 41 additions and 53 deletions

View File

@@ -96,15 +96,13 @@ public class ForwardedHeadersFilterTests {
assertThat(forwardeds).hasSize(3);
Optional<Forwarded> 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<Forwarded> 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\\..*");

View File

@@ -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\\..*");