diff --git a/java/client/test/org/openqa/selenium/remote/http/netty/BUILD.bazel b/java/client/test/org/openqa/selenium/remote/http/netty/BUILD.bazel index b8f8ca99e6de4..3435ab6e900ea 100644 --- a/java/client/test/org/openqa/selenium/remote/http/netty/BUILD.bazel +++ b/java/client/test/org/openqa/selenium/remote/http/netty/BUILD.bazel @@ -9,6 +9,7 @@ java_test_suite( "//java/client/src/org/openqa/selenium/remote/http", "//java/client/src/org/openqa/selenium/remote/http/netty", "//java/client/test/org/openqa/selenium/remote/internal:test-lib", + "//java/client/test/org/openqa/selenium/testing:annotations", artifact("junit:junit"), ], ) diff --git a/java/client/test/org/openqa/selenium/remote/http/netty/NettyClientTest.java b/java/client/test/org/openqa/selenium/remote/http/netty/NettyClientTest.java index b35cabb07b506..088504d87dc34 100644 --- a/java/client/test/org/openqa/selenium/remote/http/netty/NettyClientTest.java +++ b/java/client/test/org/openqa/selenium/remote/http/netty/NettyClientTest.java @@ -17,9 +17,12 @@ package org.openqa.selenium.remote.http.netty; +import org.junit.experimental.categories.Category; import org.openqa.selenium.remote.http.HttpClient; import org.openqa.selenium.remote.internal.HttpClientTestBase; +import org.openqa.selenium.testing.UnitTests; +@Category(UnitTests.class) public class NettyClientTest extends HttpClientTestBase { @Override protected HttpClient.Factory createFactory() { diff --git a/java/client/test/org/openqa/selenium/remote/http/reactor/BUILD.bazel b/java/client/test/org/openqa/selenium/remote/http/reactor/BUILD.bazel index 5b4a9bf5979d5..58df3d169b96f 100644 --- a/java/client/test/org/openqa/selenium/remote/http/reactor/BUILD.bazel +++ b/java/client/test/org/openqa/selenium/remote/http/reactor/BUILD.bazel @@ -9,6 +9,7 @@ java_test_suite( "//java/client/src/org/openqa/selenium/remote/http", "//java/client/src/org/openqa/selenium/remote/http/reactor", "//java/client/test/org/openqa/selenium/remote/internal:test-lib", + "//java/client/test/org/openqa/selenium/testing:annotations", "//java/client/test/org/openqa/selenium/testing:test-base", artifact("junit:junit"), artifact("org.assertj:assertj-core"), diff --git a/java/client/test/org/openqa/selenium/remote/http/reactor/ReactorClientTest.java b/java/client/test/org/openqa/selenium/remote/http/reactor/ReactorClientTest.java index ac54b5e2a7f81..c77f606ce7b5f 100644 --- a/java/client/test/org/openqa/selenium/remote/http/reactor/ReactorClientTest.java +++ b/java/client/test/org/openqa/selenium/remote/http/reactor/ReactorClientTest.java @@ -17,9 +17,12 @@ package org.openqa.selenium.remote.http.reactor; +import org.junit.experimental.categories.Category; import org.openqa.selenium.remote.http.HttpClient; import org.openqa.selenium.remote.internal.HttpClientTestBase; +import org.openqa.selenium.testing.UnitTests; +@Category(UnitTests.class) public class ReactorClientTest extends HttpClientTestBase { @Override diff --git a/java/client/test/org/openqa/selenium/remote/internal/HttpClientTestBase.java b/java/client/test/org/openqa/selenium/remote/internal/HttpClientTestBase.java index a665a7c638f23..49456de612224 100644 --- a/java/client/test/org/openqa/selenium/remote/internal/HttpClientTestBase.java +++ b/java/client/test/org/openqa/selenium/remote/internal/HttpClientTestBase.java @@ -19,6 +19,9 @@ import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; + +import org.junit.AfterClass; +import org.junit.BeforeClass; import org.junit.Test; import org.openqa.selenium.BuildInfo; import org.openqa.selenium.Platform; @@ -55,6 +58,20 @@ abstract public class HttpClientTestBase { protected abstract HttpClient.Factory createFactory(); + static HttpHandler delegate; + static AppServer server; + + @BeforeClass + public static void setUp() { + server = new NettyAppServer(req -> delegate.execute(req)); + server.start(); + } + + @AfterClass + public static void tearDown() { + server.stop(); + } + @Test public void responseShouldCaptureASingleHeader() { HashMultimap headers = HashMultimap.create(); @@ -137,25 +154,19 @@ public void canAddMoreThanOneQueryParameter() { @Test public void shouldAllowUrlsWithSchemesToBeUsed() throws Exception { - AppServer server = new NettyAppServer( - req -> new HttpResponse().setContent(Contents.utf8String("Hello, World!"))); - server.start(); + delegate = req -> new HttpResponse().setContent(Contents.utf8String("Hello, World!")); - try { - // This is a terrible choice of URL - HttpClient client = createFactory().createClient(new URL("http://example.com")); + // This is a terrible choice of URL + HttpClient client = createFactory().createClient(new URL("http://example.com")); - URI uri = URI.create(server.whereIs("/")); - HttpRequest request = new HttpRequest( - GET, - String.format("http://%s:%s/hello", uri.getHost(), uri.getPort())); + URI uri = URI.create(server.whereIs("/")); + HttpRequest request = new HttpRequest( + GET, + String.format("http://%s:%s/hello", uri.getHost(), uri.getPort())); - HttpResponse response = client.execute(request); + HttpResponse response = client.execute(request); - assertThat(string(response)).isEqualTo("Hello, World!"); - } finally { - server.stop(); - } + assertThat(string(response)).isEqualTo("Hello, World!"); } @Test @@ -213,26 +224,14 @@ private HttpResponse getQueryParameterResponse(HttpRequest request) { } private HttpResponse executeWithinServer(HttpRequest request, HttpHandler handler) { - AppServer server = new NettyAppServer(handler); - server.start(); - - try { - HttpClient client = createFactory().createClient(fromUri(URI.create(server.whereIs("/")))); - return client.execute(request); - } finally { - server.stop(); - } + delegate = handler; + HttpClient client = createFactory().createClient(fromUri(URI.create(server.whereIs("/")))); + return client.execute(request); } private HttpResponse executeWithinServer(HttpRequest request, HttpHandler handler, ClientConfig config) { - AppServer server = new NettyAppServer(handler); - server.start(); - - try { - HttpClient client = createFactory().createClient(config.baseUri(URI.create(server.whereIs("/")))); - return client.execute(request); - } finally { - server.stop(); - } + delegate = handler; + HttpClient client = createFactory().createClient(config.baseUri(URI.create(server.whereIs("/")))); + return client.execute(request); } }