package io.airlift.http.client.jetty; import com.google.common.collect.ImmutableList; import io.airlift.http.client.AbstractHttpClientTest; import io.airlift.http.client.HttpClientConfig; import io.airlift.http.client.HttpRequestFilter; import io.airlift.http.client.Request; import io.airlift.http.client.ResponseHandler; import io.airlift.http.client.TestingRequestFilter; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import static io.airlift.testing.Closeables.closeQuietly; public class TestJettyHttpClient extends AbstractHttpClientTest { private JettyHttpClient httpClient; private JettyIoPool jettyIoPool; @BeforeClass public void setUpHttpClient() { jettyIoPool = new JettyIoPool("test-shared", new JettyIoPoolConfig()); httpClient = new JettyHttpClient(createClientConfig(), jettyIoPool, ImmutableList.<HttpRequestFilter>of(new TestingRequestFilter())); } @AfterClass(alwaysRun = true) public void tearDownHttpClient() throws Exception { closeQuietly(httpClient); closeQuietly(jettyIoPool); } @Override protected HttpClientConfig createClientConfig() { return new HttpClientConfig() .setHttp2Enabled(false); } @Override public <T, E extends Exception> T executeRequest(Request request, ResponseHandler<T, E> responseHandler) throws Exception { return httpClient.execute(request, responseHandler); } @Override public <T, E extends Exception> T executeRequest(HttpClientConfig config, Request request, ResponseHandler<T, E> responseHandler) throws Exception { try ( JettyIoPool jettyIoPool = new JettyIoPool("test-private", new JettyIoPoolConfig()); JettyHttpClient client = new JettyHttpClient(config, jettyIoPool, ImmutableList.<HttpRequestFilter>of(new TestingRequestFilter())) ) { return client.execute(request, responseHandler); } } }