|
17 | 17 |
|
18 | 18 | package org.openqa.selenium.grid.node.config;
|
19 | 19 |
|
| 20 | +import static java.util.Collections.emptyMap; |
| 21 | +import static java.util.Collections.emptySet; |
| 22 | +import static java.util.Collections.singletonMap; |
| 23 | +import static org.assertj.core.api.Assertions.assertThat; |
| 24 | +import static org.junit.Assert.fail; |
| 25 | +import static org.junit.Assume.assumeFalse; |
| 26 | +import static org.junit.Assume.assumeTrue; |
| 27 | + |
20 | 28 | import com.google.common.collect.ImmutableMap;
|
| 29 | + |
21 | 30 | import org.assertj.core.api.Condition;
|
22 | 31 | import org.junit.Test;
|
23 | 32 | import org.mockito.Mockito;
|
|
38 | 47 | import org.openqa.selenium.grid.node.SessionFactory;
|
39 | 48 | import org.openqa.selenium.internal.Either;
|
40 | 49 | import org.openqa.selenium.json.Json;
|
| 50 | +import org.openqa.selenium.net.NetworkUtils; |
41 | 51 |
|
42 | 52 | import java.io.StringReader;
|
43 | 53 | import java.net.URI;
|
|
48 | 58 | import java.util.Map;
|
49 | 59 | import java.util.Optional;
|
50 | 60 |
|
51 |
| -import static java.util.Collections.emptyMap; |
52 |
| -import static java.util.Collections.emptySet; |
53 |
| -import static java.util.Collections.singletonMap; |
54 |
| -import static org.assertj.core.api.Assertions.assertThat; |
55 |
| -import static org.junit.Assert.fail; |
56 |
| -import static org.junit.Assume.assumeFalse; |
57 |
| -import static org.junit.Assume.assumeTrue; |
58 |
| - |
59 | 61 | @SuppressWarnings("DuplicatedCode")
|
60 | 62 | public class NodeOptionsTest {
|
61 | 63 |
|
@@ -472,6 +474,20 @@ public void settingTheHubFlagSetsTheGridUrlAndEventBusFlags() {
|
472 | 474 | .isEqualTo(Optional.of(URI.create("http://cheese.com:4444")));
|
473 | 475 | }
|
474 | 476 |
|
| 477 | + @Test |
| 478 | + public void settingTheHubWithDefaultValueSetsTheGridUrlToTheNonLoopbackAddress() { |
| 479 | + String[] rawConfig = new String[]{ |
| 480 | + "[node]", |
| 481 | + "hub = \"http://0.0.0.0:4444\"", |
| 482 | + }; |
| 483 | + Config config = new TomlConfig(new StringReader(String.join("\n", rawConfig))); |
| 484 | + String nonLoopbackAddress = new NetworkUtils().getNonLoopbackAddressOfThisMachine(); |
| 485 | + String nonLoopbackAddressUrl = String.format("http://%s:4444", nonLoopbackAddress); |
| 486 | + NodeOptions nodeOptions = new NodeOptions(config); |
| 487 | + assertThat(nodeOptions.getPublicGridUri()) |
| 488 | + .isEqualTo(Optional.of(URI.create(nonLoopbackAddressUrl))); |
| 489 | + } |
| 490 | + |
475 | 491 | private Condition<? super List<? extends Capabilities>> supporting(String name) {
|
476 | 492 | return new Condition<>(
|
477 | 493 | caps -> caps.stream().anyMatch(cap -> name.equals(cap.getBrowserName())),
|
|
0 commit comments