|
35 | 35 | import java.util.Set;
|
36 | 36 | import java.util.concurrent.atomic.AtomicInteger;
|
37 | 37 | import java.util.stream.Collectors;
|
| 38 | +import java.util.stream.StreamSupport; |
38 | 39 |
|
39 | 40 | import static org.hamcrest.CoreMatchers.containsString;
|
40 | 41 | import static org.hamcrest.CoreMatchers.equalTo;
|
| 42 | +import static org.hamcrest.Matchers.arrayContainingInAnyOrder; |
41 | 43 | import static org.hamcrest.Matchers.containsInAnyOrder;
|
42 | 44 | import static org.hamcrest.Matchers.nullValue;
|
43 | 45 |
|
@@ -70,6 +72,41 @@ public void testResolveNodeByAttribute() {
|
70 | 72 | }
|
71 | 73 | }
|
72 | 74 |
|
| 75 | + public void testAll() { |
| 76 | + final DiscoveryNodes discoveryNodes = buildDiscoveryNodes(); |
| 77 | + |
| 78 | + final String[] allNodes = |
| 79 | + StreamSupport.stream(discoveryNodes.spliterator(), false).map(DiscoveryNode::getId).toArray(String[]::new); |
| 80 | + assertThat(discoveryNodes.resolveNodes(), arrayContainingInAnyOrder(allNodes)); |
| 81 | + assertThat(discoveryNodes.resolveNodes(new String[0]), arrayContainingInAnyOrder(allNodes)); |
| 82 | + assertThat(discoveryNodes.resolveNodes("_all"), arrayContainingInAnyOrder(allNodes)); |
| 83 | + |
| 84 | + final String[] nonMasterNodes = |
| 85 | + StreamSupport.stream(discoveryNodes.getNodes().values().spliterator(), false) |
| 86 | + .map(n -> n.value) |
| 87 | + .filter(n -> n.isMasterNode() == false) |
| 88 | + .map(DiscoveryNode::getId) |
| 89 | + .toArray(String[]::new); |
| 90 | + assertThat(discoveryNodes.resolveNodes("_all", "master:false"), arrayContainingInAnyOrder(nonMasterNodes)); |
| 91 | + |
| 92 | + assertThat(discoveryNodes.resolveNodes("master:false", "_all"), arrayContainingInAnyOrder(allNodes)); |
| 93 | + } |
| 94 | + |
| 95 | + public void testCoordinatorOnlyNodes() { |
| 96 | + final DiscoveryNodes discoveryNodes = buildDiscoveryNodes(); |
| 97 | + |
| 98 | + final String[] coordinatorOnlyNodes = |
| 99 | + StreamSupport.stream(discoveryNodes.getNodes().values().spliterator(), false) |
| 100 | + .map(n -> n.value) |
| 101 | + .filter(n -> n.isDataNode() == false && n.isIngestNode() == false && n.isMasterNode() == false) |
| 102 | + .map(DiscoveryNode::getId) |
| 103 | + .toArray(String[]::new); |
| 104 | + |
| 105 | + assertThat( |
| 106 | + discoveryNodes.resolveNodes("_all", "data:false", "ingest:false", "master:false"), |
| 107 | + arrayContainingInAnyOrder(coordinatorOnlyNodes)); |
| 108 | + } |
| 109 | + |
73 | 110 | public void testResolveNodesIds() {
|
74 | 111 | DiscoveryNodes discoveryNodes = buildDiscoveryNodes();
|
75 | 112 |
|
|
0 commit comments