@Override
public ServerInstance<HttpServer> start(TestContext testContext,
Application application, ResourceConfig resourceConfig) {
URI uri = URI.create(format(DEFAULT_URI_FORMAT, DEFAULT_SCHEME, DEFAULT_HOST,
DEFAULT_PORT, DEFAULT_PATH));
HttpServer server =
GrizzlyHttpServerFactory.createHttpServer(uri, resourceConfig, true);
Optional<NetworkListener> foundListener = server.getListeners()
.stream()
.findFirst();
ServerInstance serverInstance = null;
if (foundListener.isPresent()) {
NetworkListener networkListener = foundListener.get();
String host = networkListener.getHost();
int port = networkListener.getPort();
URI baseURI = URI.create(
format(DEFAULT_URI_FORMAT, DEFAULT_SCHEME, host, port, DEFAULT_PATH));
serverInstance = ServerInstanceBuilder.builder()
.baseURI(baseURI)
.server(server)
.property(APP, resourceConfig)
.property(APP_NAME, testContext.getName())
.property(SERVER, server)
.build("jersey", application);
}
return serverInstance;
}