Fix failing NettyReactiveWebServerFactoryTests

NettyReactiveWebServerFactoryTests.portInUseExceptionIsThrownWhenPortIsAlreadyInUse
started failing on CI following this change in reactor netty:
e6634c27f6
Instead of a `BindException`, a `NativeIoException` is thrown. Since that Exception
is for internal use only, we throw a generic `WebServerException`
instead of the `PortInUseException`.
This commit is contained in:
Madhura Bhave 2018-04-26 15:33:39 -07:00
parent 24ce3ecb43
commit f2d8ca8b3a
1 changed files with 3 additions and 6 deletions

View File

@ -25,11 +25,10 @@ import reactor.ipc.netty.http.server.HttpServerOptions;
import org.springframework.boot.web.reactive.server.AbstractReactiveWebServerFactory; import org.springframework.boot.web.reactive.server.AbstractReactiveWebServerFactory;
import org.springframework.boot.web.reactive.server.AbstractReactiveWebServerFactoryTests; import org.springframework.boot.web.reactive.server.AbstractReactiveWebServerFactoryTests;
import org.springframework.boot.web.server.PortInUseException; import org.springframework.boot.web.server.WebServerException;
import org.springframework.test.util.ReflectionTestUtils; import org.springframework.test.util.ReflectionTestUtils;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static org.hamcrest.Matchers.equalTo;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.inOrder; import static org.mockito.Mockito.inOrder;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
@ -48,15 +47,13 @@ public class NettyReactiveWebServerFactoryTests
} }
@Test @Test
public void portInUseExceptionIsThrownWhenPortIsAlreadyInUse() { public void exceptionIsThrownWhenPortIsAlreadyInUse() {
AbstractReactiveWebServerFactory factory = getFactory(); AbstractReactiveWebServerFactory factory = getFactory();
factory.setPort(0); factory.setPort(0);
this.webServer = factory.getWebServer(new EchoHandler()); this.webServer = factory.getWebServer(new EchoHandler());
this.webServer.start(); this.webServer.start();
factory.setPort(this.webServer.getPort()); factory.setPort(this.webServer.getPort());
this.thrown.expect(PortInUseException.class); this.thrown.expect(WebServerException.class);
this.thrown.expectMessage(
equalTo("Port " + this.webServer.getPort() + " is already in use"));
factory.getWebServer(new EchoHandler()).start(); factory.getWebServer(new EchoHandler()).start();
} }