Skip to content

Commit 37ecd76

Browse files
committed
Add unit test
Signed-off-by: Viet Nguyen Duc <[email protected]>
1 parent c170a0a commit 37ecd76

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed

java/test/org/openqa/selenium/grid/node/config/NodeOptionsTest.java

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -764,6 +764,100 @@ void testIsVncEnabledAcceptSingleEnvVar() {
764764
assertThat(nodeOptionsEnabled.isVncEnabled()).isFalse();
765765
}
766766

767+
@Test
768+
void deleteSessionOnUiIsEnabledByDefault() {
769+
Config config = new MapConfig(singletonMap("node", singletonMap("detect-drivers", "false")));
770+
NodeOptions nodeOptions = new NodeOptions(config);
771+
assertThat(nodeOptions.isSessionDeletedOnUi()).isTrue();
772+
}
773+
774+
@Test
775+
void deleteSessionOnUiCanBeEnabledExplicitly() {
776+
Config config = new MapConfig(
777+
singletonMap("node", ImmutableMap.of("detect-drivers", "false", "delete-session-on-ui", "true")));
778+
NodeOptions nodeOptions = new NodeOptions(config);
779+
assertThat(nodeOptions.isSessionDeletedOnUi()).isTrue();
780+
}
781+
782+
@Test
783+
void deleteSessionOnUiCanBeDisabled() {
784+
Config config = new MapConfig(
785+
singletonMap("node", ImmutableMap.of("detect-drivers", "false", "delete-session-on-ui", "false")));
786+
NodeOptions nodeOptions = new NodeOptions(config);
787+
assertThat(nodeOptions.isSessionDeletedOnUi()).isFalse();
788+
}
789+
790+
@Test
791+
void deleteSessionOnUiCapabilityIsAddedWhenEnabled() {
792+
assumeTrue(
793+
new ChromeDriverInfo().isPresent() || new GeckoDriverInfo().isPresent(),
794+
"A driver needs to be available");
795+
796+
Config config = new MapConfig(
797+
singletonMap("node", ImmutableMap.of("detect-drivers", "true", "delete-session-on-ui", "true")));
798+
799+
List<Capabilities> reported = new ArrayList<>();
800+
new NodeOptions(config)
801+
.getSessionFactories(
802+
caps -> {
803+
reported.add(caps);
804+
return Collections.singleton(HelperFactory.create(config, caps));
805+
});
806+
807+
assertThat(reported)
808+
.filteredOn(capabilities -> capabilities.getCapability("se:deleteSessionOnUi") != null)
809+
.hasSize(reported.size());
810+
811+
assertThat(reported)
812+
.allMatch(capabilities -> Boolean.TRUE.equals(capabilities.getCapability("se:deleteSessionOnUi")));
813+
}
814+
815+
@Test
816+
void deleteSessionOnUiCapabilityIsNotAddedWhenDisabled() {
817+
assumeTrue(
818+
new ChromeDriverInfo().isPresent() || new GeckoDriverInfo().isPresent(),
819+
"A driver needs to be available");
820+
821+
Config config = new MapConfig(
822+
singletonMap("node", ImmutableMap.of("detect-drivers", "true", "delete-session-on-ui", "false")));
823+
824+
List<Capabilities> reported = new ArrayList<>();
825+
new NodeOptions(config)
826+
.getSessionFactories(
827+
caps -> {
828+
reported.add(caps);
829+
return Collections.singleton(HelperFactory.create(config, caps));
830+
});
831+
832+
assertThat(reported)
833+
.filteredOn(capabilities -> capabilities.getCapability("se:deleteSessionOnUi") == null)
834+
.hasSize(reported.size());
835+
}
836+
837+
@Test
838+
void deleteSessionOnUiCapabilityIsAddedByDefault() {
839+
assumeTrue(
840+
new ChromeDriverInfo().isPresent() || new GeckoDriverInfo().isPresent(),
841+
"A driver needs to be available");
842+
843+
Config config = new MapConfig(singletonMap("node", singletonMap("detect-drivers", "true")));
844+
845+
List<Capabilities> reported = new ArrayList<>();
846+
new NodeOptions(config)
847+
.getSessionFactories(
848+
caps -> {
849+
reported.add(caps);
850+
return Collections.singleton(HelperFactory.create(config, caps));
851+
});
852+
853+
assertThat(reported)
854+
.filteredOn(capabilities -> capabilities.getCapability("se:deleteSessionOnUi") != null)
855+
.hasSize(reported.size());
856+
857+
assertThat(reported)
858+
.allMatch(capabilities -> Boolean.TRUE.equals(capabilities.getCapability("se:deleteSessionOnUi")));
859+
}
860+
767861
private Condition<? super List<? extends Capabilities>> supporting(String name) {
768862
return new Condition<>(
769863
caps -> caps.stream().anyMatch(cap -> name.equals(cap.getBrowserName())),

0 commit comments

Comments
 (0)