|
|
|
@ -17,7 +17,9 @@ |
|
|
|
package org.springframework.boot.reactor.netty; |
|
|
|
package org.springframework.boot.reactor.netty; |
|
|
|
|
|
|
|
|
|
|
|
import java.net.ConnectException; |
|
|
|
import java.net.ConnectException; |
|
|
|
|
|
|
|
import java.net.InetAddress; |
|
|
|
import java.net.SocketAddress; |
|
|
|
import java.net.SocketAddress; |
|
|
|
|
|
|
|
import java.net.UnknownHostException; |
|
|
|
import java.time.Duration; |
|
|
|
import java.time.Duration; |
|
|
|
import java.util.Arrays; |
|
|
|
import java.util.Arrays; |
|
|
|
|
|
|
|
|
|
|
|
@ -44,6 +46,7 @@ import org.springframework.boot.testsupport.classpath.resources.WithPackageResou |
|
|
|
import org.springframework.boot.web.server.PortInUseException; |
|
|
|
import org.springframework.boot.web.server.PortInUseException; |
|
|
|
import org.springframework.boot.web.server.Shutdown; |
|
|
|
import org.springframework.boot.web.server.Shutdown; |
|
|
|
import org.springframework.boot.web.server.Ssl; |
|
|
|
import org.springframework.boot.web.server.Ssl; |
|
|
|
|
|
|
|
import org.springframework.boot.web.server.WebServerException; |
|
|
|
import org.springframework.boot.web.server.reactive.AbstractReactiveWebServerFactory; |
|
|
|
import org.springframework.boot.web.server.reactive.AbstractReactiveWebServerFactory; |
|
|
|
import org.springframework.boot.web.server.reactive.AbstractReactiveWebServerFactoryTests; |
|
|
|
import org.springframework.boot.web.server.reactive.AbstractReactiveWebServerFactoryTests; |
|
|
|
import org.springframework.boot.web.server.reactive.ConfigurableReactiveWebServerFactory; |
|
|
|
import org.springframework.boot.web.server.reactive.ConfigurableReactiveWebServerFactory; |
|
|
|
@ -72,7 +75,7 @@ import static org.mockito.Mockito.mock; |
|
|
|
class NettyReactiveWebServerFactoryTests extends AbstractReactiveWebServerFactoryTests { |
|
|
|
class NettyReactiveWebServerFactoryTests extends AbstractReactiveWebServerFactoryTests { |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
void exceptionIsThrownWhenPortIsAlreadyInUse() { |
|
|
|
void portInUseExceptionIsThrownWhenPortIsAlreadyInUse() { |
|
|
|
AbstractReactiveWebServerFactory factory = getFactory(); |
|
|
|
AbstractReactiveWebServerFactory factory = getFactory(); |
|
|
|
factory.setPort(0); |
|
|
|
factory.setPort(0); |
|
|
|
this.webServer = factory.getWebServer(new EchoHandler()); |
|
|
|
this.webServer = factory.getWebServer(new EchoHandler()); |
|
|
|
@ -83,6 +86,14 @@ class NettyReactiveWebServerFactoryTests extends AbstractReactiveWebServerFactor |
|
|
|
.withCauseInstanceOf(Throwable.class); |
|
|
|
.withCauseInstanceOf(Throwable.class); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
void webServerExceptionIsThrownWhenAddressCannotBeAssigned() throws UnknownHostException { |
|
|
|
|
|
|
|
AbstractReactiveWebServerFactory factory = getFactory(); |
|
|
|
|
|
|
|
factory.setPort(8080); |
|
|
|
|
|
|
|
factory.setAddress(InetAddress.getByName("1.2.3.4")); |
|
|
|
|
|
|
|
assertThatExceptionOfType(WebServerException.class).isThrownBy(factory.getWebServer(new EchoHandler())::start); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
void getPortWhenDisposableServerPortOperationIsUnsupportedReturnsMinusOne() { |
|
|
|
void getPortWhenDisposableServerPortOperationIsUnsupportedReturnsMinusOne() { |
|
|
|
NettyReactiveWebServerFactory factory = new NoPortNettyReactiveWebServerFactory(0); |
|
|
|
NettyReactiveWebServerFactory factory = new NoPortNettyReactiveWebServerFactory(0); |
|
|
|
|