@ -101,6 +101,22 @@ public class IpAddressServerWebExchangeMatcherTests {
@@ -101,6 +101,22 @@ public class IpAddressServerWebExchangeMatcherTests {
assertThat ( matcher . matches ( exchange ( "192.168.0.159" ) ) . block ( ) . isMatch ( ) ) . isTrue ( ) ;
}
@Test
public void matchesWhenIpv4UnresolvedThenTrue ( ) throws UnknownHostException {
ServerWebExchange ipv4Exchange = exchange ( "192.168.1.104" , true ) ;
ServerWebExchangeMatcher . MatchResult matches = new IpAddressServerWebExchangeMatcher ( "192.168.1.104" )
. matches ( ipv4Exchange ) . block ( ) ;
assertThat ( matches . isMatch ( ) ) . isTrue ( ) ;
}
@Test
public void matchesWhenIpv6UnresolvedThenTrue ( ) throws UnknownHostException {
ServerWebExchange ipv6Exchange = exchange ( "fe80::21f:5bff:fe33:bd68" , true ) ;
ServerWebExchangeMatcher . MatchResult matches = new IpAddressServerWebExchangeMatcher ( "fe80::21f:5bff:fe33:bd68" )
. matches ( ipv6Exchange ) . block ( ) ;
assertThat ( matches . isMatch ( ) ) . isTrue ( ) ;
}
@Test
public void constructorWhenIpv4AddressMaskTooLongThenIllegalArgumentException ( ) {
String ipv4AddressWithTooLongMask = "192.168.1.104/33" ;
@ -119,8 +135,14 @@ public class IpAddressServerWebExchangeMatcherTests {
@@ -119,8 +135,14 @@ public class IpAddressServerWebExchangeMatcherTests {
}
private static ServerWebExchange exchange ( String ipAddress ) throws UnknownHostException {
return exchange ( ipAddress , false ) ;
}
private static ServerWebExchange exchange ( String ipAddress , boolean unresolved ) throws UnknownHostException {
return MockServerWebExchange . builder ( MockServerHttpRequest . get ( "/" )
. remoteAddress ( new InetSocketAddress ( InetAddress . getByName ( ipAddress ) , 8080 ) ) ) . build ( ) ;
. remoteAddress ( unresolved ? InetSocketAddress . createUnresolved ( ipAddress , 8080 )
: new InetSocketAddress ( InetAddress . getByName ( ipAddress ) , 8080 ) ) )
. build ( ) ;
}
}