Skip to content

Commit 030b396

Browse files
authored
Merge branch 'trunk' into fix-network-bugs
2 parents bc204fa + f9ffaa2 commit 030b396

File tree

12 files changed

+714
-10552
lines changed

12 files changed

+714
-10552
lines changed

MODULE.bazel

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ bazel_dep(name = "rules_cc", version = "0.0.9", dev_dependency = True)
2020
bazel_dep(name = "rules_dotnet", version = "0.16.0")
2121
bazel_dep(name = "rules_java", version = "7.11.1")
2222
bazel_dep(name = "rules_jvm_external", version = "6.3")
23-
bazel_dep(name = "rules_nodejs", version = "6.2.0")
23+
bazel_dep(name = "rules_nodejs", version = "6.3.0")
2424
bazel_dep(name = "rules_oci", version = "1.7.6")
2525
bazel_dep(name = "rules_pkg", version = "0.10.1")
2626
bazel_dep(name = "rules_python", version = "0.33.0")
@@ -76,7 +76,7 @@ rules_ts_ext.deps(
7676
use_repo(rules_ts_ext, "npm_typescript")
7777

7878
esbuild = use_extension("@aspect_rules_esbuild//esbuild:extensions.bzl", "esbuild")
79-
esbuild.toolchain(esbuild_version = "0.19.9")
79+
esbuild.toolchain(esbuild_version = "0.23.0")
8080
use_repo(esbuild, "esbuild_toolchains")
8181

8282
register_toolchains("@esbuild_toolchains//:all")

Rakefile

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,6 @@ namespace :node do
483483
new_version = updated_version(old_version, arguments[:version], nightly)
484484

485485
['javascript/node/selenium-webdriver/package.json',
486-
'package-lock.json',
487486
'javascript/node/selenium-webdriver/BUILD.bazel'].each do |file|
488487
text = File.read(file).gsub(old_version, new_version)
489488
File.open(file, 'w') { |f| f.puts text }
@@ -1050,8 +1049,7 @@ namespace :all do
10501049
'py/BUILD.bazel',
10511050
'py/setup.py',
10521051
'rb/lib/selenium/webdriver/version.rb',
1053-
'rb/Gemfile.lock',
1054-
'package-lock.json'])
1052+
'rb/Gemfile.lock'])
10551053

10561054
print 'Do you want to push the committed changes? (Y/n): '
10571055
response = $stdin.gets.chomp.downcase
@@ -1106,7 +1104,6 @@ namespace :all do
11061104
'java/version.bzl',
11071105
'javascript/node/selenium-webdriver/CHANGES.md',
11081106
'javascript/node/selenium-webdriver/package.json',
1109-
'package-lock.json',
11101107
'py/docs/source/conf.py',
11111108
'py/selenium/__init__.py',
11121109
'py/selenium/webdriver/__init__.py',

java/src/org/openqa/selenium/grid/data/NodeStatus.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,7 @@ public boolean equals(Object o) {
214214
return Objects.equals(this.nodeId, that.nodeId)
215215
&& Objects.equals(this.externalUri, that.externalUri)
216216
&& this.maxSessionCount == that.maxSessionCount
217+
&& this.sessionTimeout == that.sessionTimeout
217218
&& Objects.equals(this.slots, that.slots)
218219
&& Objects.equals(this.availability, that.availability)
219220
&& Objects.equals(this.version, that.version);
@@ -224,7 +225,7 @@ public int hashCode() {
224225
return Objects.hash(nodeId, externalUri, maxSessionCount, slots, version);
225226
}
226227

227-
private Map<String, Object> toJson() {
228+
public Map<String, Object> toJson() {
228229
Map<String, Object> toReturn = new TreeMap<>();
229230
toReturn.put("nodeId", nodeId);
230231
toReturn.put("externalUri", externalUri);

java/src/org/openqa/selenium/grid/graphql/Grid.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ public List<Node> getNodes() {
9797
status.getExternalUri(),
9898
status.getAvailability(),
9999
status.getMaxSessionCount(),
100+
status.getSessionTimeout(),
100101
status.getSlots().size(),
101102
stereotypes,
102103
sessions,

java/src/org/openqa/selenium/grid/graphql/Node.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import com.google.common.collect.ImmutableList;
2121
import java.net.URI;
22+
import java.time.Duration;
2223
import java.util.ArrayList;
2324
import java.util.HashMap;
2425
import java.util.List;
@@ -38,6 +39,7 @@ public class Node {
3839
private final URI uri;
3940
private final Availability status;
4041
private final int maxSession;
42+
private final Duration sessionTimeout;
4143
private final Map<Capabilities, Integer> stereotypes;
4244
private final Map<Session, Slot> activeSessions;
4345
private final String version;
@@ -49,6 +51,7 @@ public Node(
4951
URI uri,
5052
Availability status,
5153
int maxSession,
54+
Duration sessionTimeout,
5255
int slotCount,
5356
Map<Capabilities, Integer> stereotypes,
5457
Map<Session, Slot> activeSessions,
@@ -63,6 +66,7 @@ public Node(
6366
this.activeSessions = Require.nonNull("Active sessions", activeSessions);
6467
this.version = Require.nonNull("Grid Node version", version);
6568
this.osInfo = Require.nonNull("Grid Node OS info", osInfo);
69+
this.sessionTimeout = Require.positive("Node session timeout", sessionTimeout);
6670
}
6771

6872
public List<org.openqa.selenium.grid.graphql.Session> getSessions() {
@@ -122,6 +126,10 @@ public OsInfo getOsInfo() {
122126
return osInfo;
123127
}
124128

129+
public Duration getSessionTimeout() {
130+
return sessionTimeout;
131+
}
132+
125133
private org.openqa.selenium.grid.graphql.Session createGraphqlSession(
126134
Map.Entry<Session, Slot> entry) {
127135
Session session = entry.getKey();

java/src/org/openqa/selenium/grid/graphql/selenium-grid-schema.graphqls

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ type Node {
3838
uri: Uri!
3939
status: Status!
4040
maxSession: Int!
41+
sessionTimeout: String!
4142
slotCount: Int!
4243
sessions: [Session]!
4344
sessionCount: Int!

java/src/org/openqa/selenium/grid/router/GridStatusHandler.java

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -135,18 +135,7 @@ public HttpResponse execute(HttpRequest req) {
135135

136136
List<Map<String, Object>> nodeResults =
137137
status.getNodes().stream()
138-
.map(
139-
node ->
140-
new ImmutableMap.Builder<String, Object>()
141-
.put("id", node.getNodeId())
142-
.put("uri", node.getExternalUri())
143-
.put("maxSessions", node.getMaxSessionCount())
144-
.put("osInfo", node.getOsInfo())
145-
.put("heartbeatPeriod", node.getHeartbeatPeriod().toMillis())
146-
.put("availability", node.getAvailability())
147-
.put("version", node.getVersion())
148-
.put("slots", node.getSlots())
149-
.build())
138+
.map(node -> new ImmutableMap.Builder<String, Object>().putAll(node.toJson()).build())
150139
.collect(toList());
151140

152141
ImmutableMap.Builder<String, Object> value = ImmutableMap.builder();

java/test/org/openqa/selenium/grid/distributor/local/LocalDistributorTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ public void setUp() throws URISyntaxException {
102102
LocalNode.builder(tracer, bus, uri, uri, registrationSecret)
103103
.add(caps, new TestSessionFactory((id, c) -> new Handler(c)))
104104
.maximumConcurrentSessions(2)
105+
.sessionTimeout(Duration.ofSeconds(30))
105106
.build();
106107

107108
wait =
@@ -143,6 +144,7 @@ void testAddNodeToDistributor() {
143144
NodeStatus distributorNode = nodes.iterator().next();
144145
assertThat(distributorNode.getNodeId()).isEqualByComparingTo(localNode.getId());
145146
assertThat(distributorNode.getExternalUri()).isEqualTo(uri);
147+
assertThat(distributorNode.getSessionTimeout()).isEqualTo(Duration.ofSeconds(30));
146148
}
147149

148150
@Test

javascript/node/selenium-webdriver/package.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,30 +23,30 @@
2323
"node": ">= 14.21.0"
2424
},
2525
"dependencies": {
26-
"@bazel/runfiles": "^5.8.1",
26+
"@bazel/runfiles": "^6.3.0",
2727
"jszip": "^3.10.1",
2828
"tmp": "^0.2.3",
2929
"ws": "^8.18.0"
3030
},
3131
"devDependencies": {
32-
"@eslint/js": "^9.8.0",
32+
"@eslint/js": "^9.12.0",
3333
"clean-jsdoc-theme": "^4.3.0",
34-
"eslint": "^9.8.0",
34+
"eslint": "^9.12.0",
3535
"eslint-config-prettier": "^9.1.0",
3636
"eslint-plugin-mocha": "^10.5.0",
37-
"eslint-plugin-n": "^17.10.1",
38-
"eslint-plugin-no-only-tests": "^3.1.0",
37+
"eslint-plugin-n": "^17.10.3",
38+
"eslint-plugin-no-only-tests": "^3.3.0",
3939
"eslint-plugin-prettier": "^5.2.1",
40-
"express": "^4.19.2",
41-
"globals": "^15.9.0",
40+
"express": "^4.21.0",
41+
"globals": "^15.10.0",
4242
"has-flag": "^5.0.1",
4343
"jsdoc": "^4.0.3",
44-
"mocha": "^10.7.0",
44+
"mocha": "^10.7.3",
4545
"mocha-junit-reporter": "^2.2.1",
4646
"multer": "1.4.5-lts.1",
4747
"prettier": "^3.3.3",
4848
"serve-index": "^1.9.1",
49-
"sinon": "^18.0.0",
49+
"sinon": "^19.0.2",
5050
"supports-color": "^9.4.0"
5151
},
5252
"scripts": {

0 commit comments

Comments
 (0)