NO-JIRA use random available port in WebServerComponentTest
This commit is contained in:
parent
2526ecb33a
commit
212bd173d3
|
@ -56,6 +56,7 @@ public class WebServerComponent implements ExternalComponent {
|
||||||
private URI uri;
|
private URI uri;
|
||||||
private String jolokiaUrl;
|
private String jolokiaUrl;
|
||||||
private List<WebAppContext> webContexts;
|
private List<WebAppContext> webContexts;
|
||||||
|
private ServerConnector connector;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void configure(ComponentDTO config, String artemisInstance, String artemisHome) throws Exception {
|
public void configure(ComponentDTO config, String artemisInstance, String artemisHome) throws Exception {
|
||||||
|
@ -63,7 +64,6 @@ public class WebServerComponent implements ExternalComponent {
|
||||||
uri = new URI(webServerConfig.bind);
|
uri = new URI(webServerConfig.bind);
|
||||||
server = new Server();
|
server = new Server();
|
||||||
String scheme = uri.getScheme();
|
String scheme = uri.getScheme();
|
||||||
ServerConnector connector = null;
|
|
||||||
|
|
||||||
if ("https".equals(scheme)) {
|
if ("https".equals(scheme)) {
|
||||||
SslContextFactory sslFactory = new SslContextFactory();
|
SslContextFactory sslFactory = new SslContextFactory();
|
||||||
|
@ -172,6 +172,13 @@ public class WebServerComponent implements ExternalComponent {
|
||||||
return server != null && server.isStarted();
|
return server != null && server.isStarted();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return started server's port number; useful if it was specified as 0 (to use a random port)
|
||||||
|
*/
|
||||||
|
public int getPort() {
|
||||||
|
return (connector != null) ? connector.getLocalPort() : -1;
|
||||||
|
}
|
||||||
|
|
||||||
private WebAppContext deployWar(String url, String warFile, Path warDirectory) throws IOException {
|
private WebAppContext deployWar(String url, String warFile, Path warDirectory) throws IOException {
|
||||||
WebAppContext webapp = new WebAppContext();
|
WebAppContext webapp = new WebAppContext();
|
||||||
if (url.startsWith("/")) {
|
if (url.startsWith("/")) {
|
||||||
|
|
|
@ -78,13 +78,14 @@ public class WebServerComponentTest extends Assert {
|
||||||
@Test
|
@Test
|
||||||
public void simpleServer() throws Exception {
|
public void simpleServer() throws Exception {
|
||||||
WebServerDTO webServerDTO = new WebServerDTO();
|
WebServerDTO webServerDTO = new WebServerDTO();
|
||||||
webServerDTO.bind = "http://localhost:8161";
|
webServerDTO.bind = "http://localhost:0";
|
||||||
webServerDTO.path = "webapps";
|
webServerDTO.path = "webapps";
|
||||||
WebServerComponent webServerComponent = new WebServerComponent();
|
WebServerComponent webServerComponent = new WebServerComponent();
|
||||||
Assert.assertFalse(webServerComponent.isStarted());
|
Assert.assertFalse(webServerComponent.isStarted());
|
||||||
webServerComponent.configure(webServerDTO, "./src/test/resources/", "./src/test/resources/");
|
webServerComponent.configure(webServerDTO, "./src/test/resources/", "./src/test/resources/");
|
||||||
testedComponents.add(webServerComponent);
|
testedComponents.add(webServerComponent);
|
||||||
webServerComponent.start();
|
webServerComponent.start();
|
||||||
|
final int port = webServerComponent.getPort();
|
||||||
// Make the connection attempt.
|
// Make the connection attempt.
|
||||||
CountDownLatch latch = new CountDownLatch(1);
|
CountDownLatch latch = new CountDownLatch(1);
|
||||||
final ClientHandler clientHandler = new ClientHandler(latch);
|
final ClientHandler clientHandler = new ClientHandler(latch);
|
||||||
|
@ -95,7 +96,7 @@ public class WebServerComponentTest extends Assert {
|
||||||
ch.pipeline().addLast(clientHandler);
|
ch.pipeline().addLast(clientHandler);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
Channel ch = bootstrap.connect("localhost", 8161).sync().channel();
|
Channel ch = bootstrap.connect("localhost", port).sync().channel();
|
||||||
|
|
||||||
URI uri = new URI(URL);
|
URI uri = new URI(URL);
|
||||||
// Prepare the HTTP request.
|
// Prepare the HTTP request.
|
||||||
|
@ -116,12 +117,13 @@ public class WebServerComponentTest extends Assert {
|
||||||
@Test
|
@Test
|
||||||
public void testComponentStopBehavior() throws Exception {
|
public void testComponentStopBehavior() throws Exception {
|
||||||
WebServerDTO webServerDTO = new WebServerDTO();
|
WebServerDTO webServerDTO = new WebServerDTO();
|
||||||
webServerDTO.bind = "http://localhost:8161";
|
webServerDTO.bind = "http://localhost:0";
|
||||||
webServerDTO.path = "webapps";
|
webServerDTO.path = "webapps";
|
||||||
WebServerComponent webServerComponent = new WebServerComponent();
|
WebServerComponent webServerComponent = new WebServerComponent();
|
||||||
Assert.assertFalse(webServerComponent.isStarted());
|
Assert.assertFalse(webServerComponent.isStarted());
|
||||||
webServerComponent.configure(webServerDTO, "./src/test/resources/", "./src/test/resources/");
|
webServerComponent.configure(webServerDTO, "./src/test/resources/", "./src/test/resources/");
|
||||||
webServerComponent.start();
|
webServerComponent.start();
|
||||||
|
final int port = webServerComponent.getPort();
|
||||||
// Make the connection attempt.
|
// Make the connection attempt.
|
||||||
CountDownLatch latch = new CountDownLatch(1);
|
CountDownLatch latch = new CountDownLatch(1);
|
||||||
final ClientHandler clientHandler = new ClientHandler(latch);
|
final ClientHandler clientHandler = new ClientHandler(latch);
|
||||||
|
@ -132,7 +134,7 @@ public class WebServerComponentTest extends Assert {
|
||||||
ch.pipeline().addLast(clientHandler);
|
ch.pipeline().addLast(clientHandler);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
Channel ch = bootstrap.connect("localhost", 8161).sync().channel();
|
Channel ch = bootstrap.connect("localhost", port).sync().channel();
|
||||||
|
|
||||||
URI uri = new URI(URL);
|
URI uri = new URI(URL);
|
||||||
// Prepare the HTTP request.
|
// Prepare the HTTP request.
|
||||||
|
@ -158,7 +160,7 @@ public class WebServerComponentTest extends Assert {
|
||||||
@Test
|
@Test
|
||||||
public void simpleSecureServer() throws Exception {
|
public void simpleSecureServer() throws Exception {
|
||||||
WebServerDTO webServerDTO = new WebServerDTO();
|
WebServerDTO webServerDTO = new WebServerDTO();
|
||||||
webServerDTO.bind = "https://localhost:8448";
|
webServerDTO.bind = "https://localhost:0";
|
||||||
webServerDTO.path = "webapps";
|
webServerDTO.path = "webapps";
|
||||||
webServerDTO.keyStorePath = "./src/test/resources/server.keystore";
|
webServerDTO.keyStorePath = "./src/test/resources/server.keystore";
|
||||||
webServerDTO.keyStorePassword = "password";
|
webServerDTO.keyStorePassword = "password";
|
||||||
|
@ -168,6 +170,7 @@ public class WebServerComponentTest extends Assert {
|
||||||
webServerComponent.configure(webServerDTO, "./src/test/resources/", "./src/test/resources/");
|
webServerComponent.configure(webServerDTO, "./src/test/resources/", "./src/test/resources/");
|
||||||
testedComponents.add(webServerComponent);
|
testedComponents.add(webServerComponent);
|
||||||
webServerComponent.start();
|
webServerComponent.start();
|
||||||
|
final int port = webServerComponent.getPort();
|
||||||
// Make the connection attempt.
|
// Make the connection attempt.
|
||||||
String keyStoreProvider = "JKS";
|
String keyStoreProvider = "JKS";
|
||||||
|
|
||||||
|
@ -188,7 +191,7 @@ public class WebServerComponentTest extends Assert {
|
||||||
ch.pipeline().addLast(clientHandler);
|
ch.pipeline().addLast(clientHandler);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
Channel ch = bootstrap.connect("localhost", 8448).sync().channel();
|
Channel ch = bootstrap.connect("localhost", port).sync().channel();
|
||||||
|
|
||||||
URI uri = new URI(SECURE_URL);
|
URI uri = new URI(SECURE_URL);
|
||||||
// Prepare the HTTP request.
|
// Prepare the HTTP request.
|
||||||
|
@ -209,7 +212,7 @@ public class WebServerComponentTest extends Assert {
|
||||||
@Test
|
@Test
|
||||||
public void simpleSecureServerWithClientAuth() throws Exception {
|
public void simpleSecureServerWithClientAuth() throws Exception {
|
||||||
WebServerDTO webServerDTO = new WebServerDTO();
|
WebServerDTO webServerDTO = new WebServerDTO();
|
||||||
webServerDTO.bind = "https://localhost:8448";
|
webServerDTO.bind = "https://localhost:0";
|
||||||
webServerDTO.path = "webapps";
|
webServerDTO.path = "webapps";
|
||||||
webServerDTO.keyStorePath = "./src/test/resources/server.keystore";
|
webServerDTO.keyStorePath = "./src/test/resources/server.keystore";
|
||||||
webServerDTO.keyStorePassword = "password";
|
webServerDTO.keyStorePassword = "password";
|
||||||
|
@ -222,6 +225,7 @@ public class WebServerComponentTest extends Assert {
|
||||||
webServerComponent.configure(webServerDTO, "./src/test/resources/", "./src/test/resources/");
|
webServerComponent.configure(webServerDTO, "./src/test/resources/", "./src/test/resources/");
|
||||||
testedComponents.add(webServerComponent);
|
testedComponents.add(webServerComponent);
|
||||||
webServerComponent.start();
|
webServerComponent.start();
|
||||||
|
final int port = webServerComponent.getPort();
|
||||||
// Make the connection attempt.
|
// Make the connection attempt.
|
||||||
String keyStoreProvider = "JKS";
|
String keyStoreProvider = "JKS";
|
||||||
|
|
||||||
|
@ -242,7 +246,7 @@ public class WebServerComponentTest extends Assert {
|
||||||
ch.pipeline().addLast(clientHandler);
|
ch.pipeline().addLast(clientHandler);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
Channel ch = bootstrap.connect("localhost", 8448).sync().channel();
|
Channel ch = bootstrap.connect("localhost", port).sync().channel();
|
||||||
|
|
||||||
URI uri = new URI(SECURE_URL);
|
URI uri = new URI(SECURE_URL);
|
||||||
// Prepare the HTTP request.
|
// Prepare the HTTP request.
|
||||||
|
|
Loading…
Reference in New Issue