|
|
@@ -35,9 +35,11 @@ import java.util.Objects;
|
|
|
import java.util.Set;
|
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
|
import java.util.stream.Collectors;
|
|
|
+import java.util.stream.StreamSupport;
|
|
|
|
|
|
import static org.hamcrest.CoreMatchers.containsString;
|
|
|
import static org.hamcrest.CoreMatchers.equalTo;
|
|
|
+import static org.hamcrest.Matchers.arrayContainingInAnyOrder;
|
|
|
import static org.hamcrest.Matchers.containsInAnyOrder;
|
|
|
import static org.hamcrest.Matchers.nullValue;
|
|
|
|
|
|
@@ -70,6 +72,41 @@ public class DiscoveryNodesTests extends ESTestCase {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public void testAll() {
|
|
|
+ final DiscoveryNodes discoveryNodes = buildDiscoveryNodes();
|
|
|
+
|
|
|
+ final String[] allNodes =
|
|
|
+ StreamSupport.stream(discoveryNodes.spliterator(), false).map(DiscoveryNode::getId).toArray(String[]::new);
|
|
|
+ assertThat(discoveryNodes.resolveNodes(), arrayContainingInAnyOrder(allNodes));
|
|
|
+ assertThat(discoveryNodes.resolveNodes(new String[0]), arrayContainingInAnyOrder(allNodes));
|
|
|
+ assertThat(discoveryNodes.resolveNodes("_all"), arrayContainingInAnyOrder(allNodes));
|
|
|
+
|
|
|
+ final String[] nonMasterNodes =
|
|
|
+ StreamSupport.stream(discoveryNodes.getNodes().values().spliterator(), false)
|
|
|
+ .map(n -> n.value)
|
|
|
+ .filter(n -> n.isMasterNode() == false)
|
|
|
+ .map(DiscoveryNode::getId)
|
|
|
+ .toArray(String[]::new);
|
|
|
+ assertThat(discoveryNodes.resolveNodes("_all", "master:false"), arrayContainingInAnyOrder(nonMasterNodes));
|
|
|
+
|
|
|
+ assertThat(discoveryNodes.resolveNodes("master:false", "_all"), arrayContainingInAnyOrder(allNodes));
|
|
|
+ }
|
|
|
+
|
|
|
+ public void testCoordinatorOnlyNodes() {
|
|
|
+ final DiscoveryNodes discoveryNodes = buildDiscoveryNodes();
|
|
|
+
|
|
|
+ final String[] coordinatorOnlyNodes =
|
|
|
+ StreamSupport.stream(discoveryNodes.getNodes().values().spliterator(), false)
|
|
|
+ .map(n -> n.value)
|
|
|
+ .filter(n -> n.isDataNode() == false && n.isIngestNode() == false && n.isMasterNode() == false)
|
|
|
+ .map(DiscoveryNode::getId)
|
|
|
+ .toArray(String[]::new);
|
|
|
+
|
|
|
+ assertThat(
|
|
|
+ discoveryNodes.resolveNodes("_all", "data:false", "ingest:false", "master:false"),
|
|
|
+ arrayContainingInAnyOrder(coordinatorOnlyNodes));
|
|
|
+ }
|
|
|
+
|
|
|
public void testResolveNodesIds() {
|
|
|
DiscoveryNodes discoveryNodes = buildDiscoveryNodes();
|
|
|
|