summaryrefslogtreecommitdiffstats
path: root/container-core
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2021-06-21 18:03:19 +0200
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2021-06-21 18:09:02 +0200
commit8b20cc61954953cb72ede6742ce15e78db3cc8c9 (patch)
tree70a87eadc516667990739d951a8908c0bcde177f /container-core
parentaa956ba9d7c682603d06d5ab24335be79a0d9f9b (diff)
Reuse HTTP client and executor. Replace 'ClientProxy' with listen port.
Diffstat (limited to 'container-core')
-rw-r--r--container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerConformanceTest.java42
1 files changed, 17 insertions, 25 deletions
diff --git a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerConformanceTest.java b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerConformanceTest.java
index 9817b9f57e2..4c45319daf6 100644
--- a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerConformanceTest.java
+++ b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerConformanceTest.java
@@ -12,11 +12,11 @@ import com.yahoo.jdisc.http.server.jetty.testutils.ConnectorFactoryRegistryModul
import com.yahoo.jdisc.test.ServerProviderConformanceTest;
import org.apache.http.HttpResponse;
import org.apache.http.HttpVersion;
-import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import org.hamcrest.Description;
@@ -26,6 +26,7 @@ import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
+import java.io.IOException;
import java.net.URI;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
@@ -33,6 +34,7 @@ import java.util.Collections;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Pattern;
@@ -63,6 +65,8 @@ public class HttpServerConformanceTest extends ServerProviderConformanceTest {
@SuppressWarnings("LoggerInitializedWithForeignClass")
private static Logger httpRequestDispatchLogger = Logger.getLogger(HttpRequestDispatch.class.getName());
private static Level httpRequestDispatchLoggerOriginalLevel;
+ private static CloseableHttpClient httpClient;
+ private static ExecutorService executorService;
/*
* Reduce logging of every stack trace for {@link ServerProviderConformanceTest.ConformanceException} thrown.
@@ -72,11 +76,16 @@ public class HttpServerConformanceTest extends ServerProviderConformanceTest {
public static void reduceExcessiveLogging() {
httpRequestDispatchLoggerOriginalLevel = httpRequestDispatchLogger.getLevel();
httpRequestDispatchLogger.setLevel(Level.SEVERE);
+ httpClient = HttpClientBuilder.create().build();
+ executorService = Executors.newSingleThreadExecutor();
}
@AfterClass
- public static void restoreExcessiveLogging() {
+ public static void restoreExcessiveLogging() throws IOException, InterruptedException {
httpRequestDispatchLogger.setLevel(httpRequestDispatchLoggerOriginalLevel);
+ httpClient.close();
+ executorService.shutdownNow();
+ executorService.awaitTermination(30, TimeUnit.SECONDS);
}
@AfterClass
@@ -741,15 +750,12 @@ public class HttpServerConformanceTest extends ServerProviderConformanceTest {
}
}
- private class TestRunner implements Adapter<JettyHttpServer, ClientProxy, Future<HttpResponse>> {
+ private class TestRunner implements Adapter<JettyHttpServer, Integer, Future<HttpResponse>> {
private Matcher<ResponseGist> expectedResponse = null;
- private final ExecutorService executorService = Executors.newSingleThreadExecutor();
void execute() throws Throwable {
runTest(this);
-
- executorService.shutdown();
}
TestRunner expect(final Matcher<ResponseGist> matcher) {
@@ -784,16 +790,16 @@ public class HttpServerConformanceTest extends ServerProviderConformanceTest {
}
@Override
- public ClientProxy newClient(final JettyHttpServer server) throws Throwable {
- return new ClientProxy(server.getListenPort());
+ public Integer newClient(final JettyHttpServer server) throws Throwable {
+ return server.getListenPort();
}
@Override
public Future<HttpResponse> executeRequest(
- final ClientProxy client,
+ final Integer listenPort,
final boolean withRequestContent) throws Throwable {
final HttpUriRequest request;
- final URI requestUri = URI.create("http://localhost:" + client.listenPort + "/status.html");
+ final URI requestUri = URI.create("http://localhost:" + listenPort + "/status.html");
if (!withRequestContent) {
HttpGet httpGet = new HttpGet(requestUri);
httpGet.setProtocolVersion(HttpVersion.HTTP_1_1);
@@ -804,10 +810,7 @@ public class HttpServerConformanceTest extends ServerProviderConformanceTest {
post.setProtocolVersion(HttpVersion.HTTP_1_1);
request = post;
}
- log.fine(() -> "executorService:"
- + " .isShutDown()=" + executorService.isShutdown()
- + " .isTerminated()=" + executorService.isTerminated());
- return executorService.submit(() -> client.delegate.execute(request));
+ return executorService.submit(() -> httpClient.execute(request));
}
@Override
@@ -825,15 +828,4 @@ public class HttpServerConformanceTest extends ServerProviderConformanceTest {
assertThat(responseGist, expectedResponse);
}
}
-
- private static class ClientProxy {
-
- final HttpClient delegate;
- final int listenPort;
-
- ClientProxy(final int listenPort) {
- this.delegate = HttpClientBuilder.create().build();
- this.listenPort = listenPort;
- }
- }
}