Skip to content

Commit f3316d9

Browse files
committed
[grid] Enhancing stereotype in Dynamic Grid
This is useful when managed remote downloads are enabled. Fixes #12034
1 parent 163541f commit f3316d9

File tree

4 files changed

+7
-5
lines changed

4 files changed

+7
-5
lines changed

java/src/org/openqa/selenium/grid/node/config/NodeOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -626,7 +626,7 @@ private int getDriverMaxSessions(WebDriverInfo info, int desiredMaxSessions) {
626626
return Math.min(info.getMaximumSimultaneousSessions(), desiredMaxSessions);
627627
}
628628

629-
private Capabilities enhanceStereotype(Capabilities capabilities) {
629+
public Capabilities enhanceStereotype(Capabilities capabilities) {
630630
if (capabilities.getPlatformName() == null) {
631631
capabilities = new PersistentCapabilities(capabilities)
632632
.setCapability("platformName", CURRENT_PLATFORM);

java/src/org/openqa/selenium/grid/node/docker/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ java_library(
1616
"//java/src/org/openqa/selenium/grid/config",
1717
"//java/src/org/openqa/selenium/grid/data",
1818
"//java/src/org/openqa/selenium/grid/node",
19+
"//java/src/org/openqa/selenium/grid/node/config",
1920
"//java/src/org/openqa/selenium/json",
2021
"//java/src/org/openqa/selenium/remote",
2122
"//java/src/org/openqa/selenium/support",

java/src/org/openqa/selenium/grid/node/docker/DockerOptions.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import org.openqa.selenium.grid.config.Config;
3737
import org.openqa.selenium.grid.config.ConfigException;
3838
import org.openqa.selenium.grid.node.SessionFactory;
39+
import org.openqa.selenium.grid.node.config.NodeOptions;
3940
import org.openqa.selenium.internal.Require;
4041
import org.openqa.selenium.json.Json;
4142
import org.openqa.selenium.net.HostIdentifier;
@@ -124,7 +125,7 @@ private boolean isEnabled(Docker docker) {
124125
public Map<Capabilities, Collection<SessionFactory>> getDockerSessionFactories(
125126
Tracer tracer,
126127
HttpClient.Factory clientFactory,
127-
Duration sessionTimeout) {
128+
NodeOptions options) {
128129

129130
HttpClient client = clientFactory.createClient(
130131
ClientConfig.defaultConfig().baseUri(getDockerUri()));
@@ -144,7 +145,7 @@ public Map<Capabilities, Collection<SessionFactory>> getDockerSessionFactories(
144145
if (i == allConfigs.size()) {
145146
throw new DockerException("Unable to find JSON config");
146147
}
147-
Capabilities stereotype = JSON.toType(allConfigs.get(i), Capabilities.class);
148+
Capabilities stereotype = options.enhanceStereotype(JSON.toType(allConfigs.get(i), Capabilities.class));
148149

149150
kinds.put(imageName, stereotype);
150151
}
@@ -176,7 +177,7 @@ public Map<Capabilities, Collection<SessionFactory>> getDockerSessionFactories(
176177
new DockerSessionFactory(
177178
tracer,
178179
clientFactory,
179-
sessionTimeout,
180+
options.getSessionTimeout(),
180181
docker,
181182
getDockerUri(),
182183
image,

java/src/org/openqa/selenium/grid/node/local/LocalNodeFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public static Node create(Config config) {
8383
.forEach((caps, factories) -> factories.forEach(factory -> builder.add(caps, factory)));
8484

8585
if (config.getAll("docker", "configs").isPresent()) {
86-
new DockerOptions(config).getDockerSessionFactories(tracer, clientFactory, sessionTimeout)
86+
new DockerOptions(config).getDockerSessionFactories(tracer, clientFactory, nodeOptions)
8787
.forEach((caps, factories) -> factories.forEach(factory -> builder.add(caps, factory)));
8888
}
8989

0 commit comments

Comments
 (0)