@Test void shouldCreateAdvertisedSocketAddressWithLeadingWhitespace() { // given String addressString = whitespace( 1 ) + "localhost:9999"; // when SocketAddress address = SocketAddressParser.socketAddress( addressString, SocketAddress::new ); // then assertEquals( "localhost", address.getHostname() ); assertEquals( 9999, address.getPort() ); }
@Test void shouldCreateAdvertisedSocketAddressWithTrailingWhitespace() { // given String addressString = "localhost:9999" + whitespace( 2 ); // when SocketAddress address = SocketAddressParser.socketAddress( addressString, SocketAddress::new ); // then assertEquals( "localhost", address.getHostname() ); assertEquals( 9999, address.getPort() ); }
@Test void shouldSupportDomainNameWithPort() { SocketAddress socketAddress = SocketAddressParser.socketAddress( "my.domain:123", SocketAddress::new ); assertEquals( "my.domain", socketAddress.getHostname() ); assertEquals( 123, socketAddress.getPort() ); assertEquals( "my.domain:123", socketAddress.toString() ); }
@Test void shouldSupportPortOnly() { SocketAddress socketAddress = SocketAddressParser.deriveSocketAddress( "setting.name", ":123", "my.domain", 456, SocketAddress::new ); assertEquals( "my.domain", socketAddress.getHostname() ); assertEquals( 123, socketAddress.getPort() ); assertEquals( "my.domain:123", socketAddress.toString() ); assertFalse( socketAddress.isWildcard() ); }
@Test void shouldNotUseDefaultsWhenSettingValueSupplied() { SocketAddress socketAddress = SocketAddressParser.deriveSocketAddress( "setting.name", "[fe80:3:4::6]:456", "fe80:1:2::4", 123, SocketAddress::new ); assertEquals( "fe80:3:4::6", socketAddress.getHostname() ); assertEquals( 456, socketAddress.getPort() ); assertEquals( "[fe80:3:4::6]:456", socketAddress.toString() ); assertFalse( socketAddress.isWildcard() ); }
@Test void shouldSupportIPv6AddressWithBrackets() { SocketAddress socketAddress = SocketAddressParser.socketAddress( "[fe80:1:2:3:4::5]:123", SocketAddress::new ); assertEquals( "fe80:1:2:3:4::5", socketAddress.getHostname() ); assertEquals( 123, socketAddress.getPort() ); assertEquals( "[fe80:1:2:3:4::5]:123", socketAddress.toString() ); assertFalse( socketAddress.isWildcard() ); }
@Test void shouldSupportDefaultValue() { SocketAddress socketAddress = SocketAddressParser.deriveSocketAddress( "setting.name", null, "my.domain", 456, SocketAddress::new ); assertEquals( "my.domain", socketAddress.getHostname() ); assertEquals( 456, socketAddress.getPort() ); assertEquals( "my.domain:456", socketAddress.toString() ); assertFalse( socketAddress.isWildcard() ); }
@Test void shouldSupportDefaultIPv6Value() { SocketAddress socketAddress = SocketAddressParser.deriveSocketAddress( "setting.name", null, "fe80:1:2::4", 456, SocketAddress::new ); assertEquals( "fe80:1:2::4", socketAddress.getHostname() ); assertEquals( 456, socketAddress.getPort() ); assertEquals( "[fe80:1:2::4]:456", socketAddress.toString() ); assertFalse( socketAddress.isWildcard() ); }
@Test void shouldSupportIPv6Wildcard() { SocketAddress socketAddress = SocketAddressParser.socketAddress( "[::]:123", SocketAddress::new ); assertEquals( "::", socketAddress.getHostname() ); assertEquals( 123, socketAddress.getPort() ); assertEquals( "[::]:123", socketAddress.toString() ); assertTrue( socketAddress.isWildcard() ); }
@Test void shouldSupportIPv6WithZoneId() { SocketAddress socketAddress = SocketAddressParser.socketAddress( "[fe80::b279:2f%en0]:123", SocketAddress::new ); assertEquals( "fe80::b279:2f%en0", socketAddress.getHostname() ); assertEquals( 123, socketAddress.getPort() ); assertEquals( "[fe80::b279:2f%en0]:123", socketAddress.toString() ); assertFalse( socketAddress.isWildcard() ); }
@Test void shouldSupportWildcardWithPort() { SocketAddress socketAddress = SocketAddressParser.socketAddress( "0.0.0.0:123", SocketAddress::new ); assertEquals( "0.0.0.0", socketAddress.getHostname() ); assertEquals( 123, socketAddress.getPort() ); assertEquals( "0.0.0.0:123", socketAddress.toString() ); assertTrue( socketAddress.isWildcard() ); }
@Test void shouldSupportIPv6Localhost() { SocketAddress socketAddress = SocketAddressParser.socketAddress( "[::1]:123", SocketAddress::new ); assertEquals( "::1", socketAddress.getHostname() ); assertEquals( 123, socketAddress.getPort() ); assertEquals( "[::1]:123", socketAddress.toString() ); assertFalse( socketAddress.isWildcard() ); }
@Test void shouldSupportIPv6WildcardWithoutBrackets() { SocketAddress socketAddress = SocketAddressParser.socketAddress( ":::123", SocketAddress::new ); assertEquals( "::", socketAddress.getHostname() ); assertEquals( 123, socketAddress.getPort() ); assertEquals( "[::]:123", socketAddress.toString() ); assertTrue( socketAddress.isWildcard() ); }
@Test void shouldSupportDefaultWildcard() { SocketAddress socketAddress = SocketAddressParser.deriveSocketAddress( "setting.name", null, "0.0.0.0", 456, SocketAddress::new ); assertEquals( "0.0.0.0", socketAddress.getHostname() ); assertEquals( 456, socketAddress.getPort() ); assertEquals( "0.0.0.0:456", socketAddress.toString() ); assertTrue( socketAddress.isWildcard() ); }
@Test void shouldSupportDefaultIPv6Wildcard() { SocketAddress socketAddress = SocketAddressParser.deriveSocketAddress( "setting.name", null, "::", 456, SocketAddress::new ); assertEquals( "::", socketAddress.getHostname() ); assertEquals( 456, socketAddress.getPort() ); assertEquals( "[::]:456", socketAddress.toString() ); assertTrue( socketAddress.isWildcard() ); }
@Test void shouldSupportIPv6AddressWithoutBrackets() { SocketAddress socketAddress = SocketAddressParser.socketAddress( "fe80:1:2:3:4::5:123", SocketAddress::new ); assertEquals( "fe80:1:2:3:4::5", socketAddress.getHostname() ); assertEquals( 123, socketAddress.getPort() ); assertEquals( "[fe80:1:2:3:4::5]:123", socketAddress.toString() ); assertFalse( socketAddress.isWildcard() ); }
private <T extends SocketAddress> Stream<Object[]> toOutputRows( Supplier<Stream<Pair<T,ProtocolStack>>> installedProtocols, String orientation ) { Comparator<Pair<T,ProtocolStack>> connectionInfoComparator = Comparator.comparing( ( Pair<T,ProtocolStack> entry ) -> entry.first().getHostname() ) .thenComparing( entry -> entry.first().getPort() ); return installedProtocols.get() .sorted( connectionInfoComparator ) .map( entry -> buildRow( entry, orientation ) ); }