Skip to content

Commit 9f5ee9f

Browse files
joerg1985pujagani
andauthored
[java] start the secure server only when needed in unit tests (SeleniumHQ#14717)
Co-authored-by: Puja Jagani <[email protected]>
1 parent f92d485 commit 9f5ee9f

File tree

13 files changed

+82
-21
lines changed

13 files changed

+82
-21
lines changed

java/test/org/openqa/selenium/CookieImplementationTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,12 @@
3535
import org.openqa.selenium.environment.DomainHelper;
3636
import org.openqa.selenium.testing.Ignore;
3737
import org.openqa.selenium.testing.JupiterTestBase;
38+
import org.openqa.selenium.testing.NeedsSecureServer;
3839
import org.openqa.selenium.testing.NotWorkingInRemoteBazelBuilds;
3940
import org.openqa.selenium.testing.NotYetImplemented;
4041
import org.openqa.selenium.testing.SwitchToTopAfterTest;
4142

43+
@NeedsSecureServer
4244
class CookieImplementationTest extends JupiterTestBase {
4345

4446
private DomainHelper domainHelper;

java/test/org/openqa/selenium/PageLoadingTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,12 @@
3636
import org.openqa.selenium.testing.Ignore;
3737
import org.openqa.selenium.testing.JupiterTestBase;
3838
import org.openqa.selenium.testing.NeedsFreshDriver;
39+
import org.openqa.selenium.testing.NeedsSecureServer;
3940
import org.openqa.selenium.testing.NoDriverAfterTest;
4041
import org.openqa.selenium.testing.NotYetImplemented;
4142
import org.openqa.selenium.testing.SwitchToTopAfterTest;
4243

44+
@NeedsSecureServer
4345
class PageLoadingTest extends JupiterTestBase {
4446

4547
@Test

java/test/org/openqa/selenium/environment/InProcessTestEnvironment.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ public class InProcessTestEnvironment implements TestEnvironment {
2424

2525
private final AppServer appServer;
2626

27-
public InProcessTestEnvironment() {
28-
appServer = new NettyAppServer();
27+
public InProcessTestEnvironment(boolean secureServer) {
28+
appServer = new NettyAppServer(secureServer);
2929
appServer.start();
3030
}
3131

@@ -40,6 +40,6 @@ public void stop() {
4040
}
4141

4242
public static void main(String[] args) {
43-
new InProcessTestEnvironment();
43+
new InProcessTestEnvironment(true);
4444
}
4545
}

java/test/org/openqa/selenium/environment/webserver/NettyAppServer.java

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,13 @@ public class NettyAppServer implements AppServer {
6868
LOG.log(
6969
Level.WARNING,
7070
String.format("NettyAppServer retry #%s. ", e.getAttemptCount()));
71-
initValues();
71+
initValues(secure != null);
7272
})
7373
.onRetriesExceeded(e -> LOG.log(Level.WARNING, "NettyAppServer start aborted."))
7474
.build();
7575

76-
public NettyAppServer() {
77-
initValues();
76+
public NettyAppServer(boolean secureServer) {
77+
initValues(secureServer);
7878
}
7979

8080
public NettyAppServer(HttpHandler handler) {
@@ -116,7 +116,7 @@ public static void main(String[] args) {
116116
System.out.printf("Server started. Root URL: %s%n", server.whereIs("/"));
117117
}
118118

119-
private void initValues() {
119+
private void initValues(boolean secureServer) {
120120
Config config = createDefaultConfig();
121121
BaseServerOptions options = new BaseServerOptions(config);
122122

@@ -128,16 +128,18 @@ private void initValues() {
128128

129129
server = new NettyServer(options, handler);
130130

131-
Config secureConfig = new CompoundConfig(sslConfig, createDefaultConfig());
132-
BaseServerOptions secureOptions = new BaseServerOptions(secureConfig);
131+
if (secureServer) {
132+
Config secureConfig = new CompoundConfig(sslConfig, createDefaultConfig());
133+
BaseServerOptions secureOptions = new BaseServerOptions(secureConfig);
133134

134-
HttpHandler secureHandler =
135-
new HandlersForTests(
136-
secureOptions.getHostname().orElse("localhost"),
137-
secureOptions.getPort(),
138-
tempDir.toPath());
135+
HttpHandler secureHandler =
136+
new HandlersForTests(
137+
secureOptions.getHostname().orElse("localhost"),
138+
secureOptions.getPort(),
139+
tempDir.toPath());
139140

140-
secure = new NettyServer(secureOptions, secureHandler);
141+
secure = new NettyServer(secureOptions, secureHandler);
142+
}
141143
}
142144

143145
@Override

java/test/org/openqa/selenium/environment/webserver/NettyAppServerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@ class NettyAppServerTest extends AppServerTestBase {
2121

2222
@Override
2323
protected AppServer createAppServer() {
24-
return new NettyAppServer();
24+
return new NettyAppServer(false);
2525
}
2626
}

java/test/org/openqa/selenium/federatedcredentialmanagement/FederatedCredentialManagementTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,10 @@
3636
import org.openqa.selenium.chrome.ChromeOptions;
3737
import org.openqa.selenium.support.ui.WebDriverWait;
3838
import org.openqa.selenium.testing.JupiterTestBase;
39+
import org.openqa.selenium.testing.NeedsSecureServer;
3940
import org.openqa.selenium.testing.NotYetImplemented;
4041

42+
@NeedsSecureServer
4143
class FederatedCredentialManagementTest extends JupiterTestBase {
4244

4345
private JavascriptExecutor jsAwareDriver;

java/test/org/openqa/selenium/grid/router/RemoteWebDriverBiDiTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ class RemoteWebDriverBiDiTest {
6161

6262
@BeforeAll
6363
static void serverSetup() {
64-
server = new NettyAppServer();
64+
server = new NettyAppServer(false);
6565
server.start();
6666
}
6767

java/test/org/openqa/selenium/grid/router/RemoteWebDriverDownloadTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public void setupServers() {
8888
tearDowns.add(deployment);
8989

9090
server = deployment.getServer();
91-
appServer = new NettyAppServer();
91+
appServer = new NettyAppServer(false);
9292
tearDowns.add(() -> appServer.stop());
9393
appServer.start();
9494
}

java/test/org/openqa/selenium/javascript/JavaScriptTestSuite.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ private static boolean isBazel() {
6262
@BeforeEach
6363
public void setup() {
6464
// this field is actually in use, javascript test do access it
65-
testEnvironment = GlobalTestEnvironment.getOrCreate(InProcessTestEnvironment::new);
65+
testEnvironment = GlobalTestEnvironment.getOrCreate(() -> new InProcessTestEnvironment(true));
6666
}
6767

6868
@AfterEach

java/test/org/openqa/selenium/safari/CrossDomainTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class CrossDomainTest extends JupiterTestBase {
4141

4242
@BeforeAll
4343
public static void startSecondServer() {
44-
otherServer = new NettyAppServer();
44+
otherServer = new NettyAppServer(false);
4545
otherServer.start();
4646

4747
otherPages = new Pages(otherServer);

0 commit comments

Comments
 (0)