Browse Source

[TEST] extend wait_for_active_shards randomization to include 'all' value

This was already changed in 6.x as part of the backport of the recently added open and create index API. wait_for_active_shards can be a number but also "all", with this commit we verify that providing "all" works too.
javanna 7 years ago
parent
commit
e01643126b

+ 11 - 4
client/rest-high-level/src/test/java/org/elasticsearch/client/RequestTests.java

@@ -38,6 +38,7 @@ import org.elasticsearch.action.search.MultiSearchRequest;
 import org.elasticsearch.action.search.SearchRequest;
 import org.elasticsearch.action.search.SearchScrollRequest;
 import org.elasticsearch.action.search.SearchType;
+import org.elasticsearch.action.support.ActiveShardCount;
 import org.elasticsearch.action.support.IndicesOptions;
 import org.elasticsearch.action.support.WriteRequest;
 import org.elasticsearch.action.support.master.AcknowledgedRequest;
@@ -1019,11 +1020,17 @@ public class RequestTests extends ESTestCase {
         }
     }
 
-    private static void setRandomWaitForActiveShards(Consumer<Integer> setter, Map<String, String> expectedParams) {
+    private static void setRandomWaitForActiveShards(Consumer<ActiveShardCount> setter, Map<String, String> expectedParams) {
         if (randomBoolean()) {
-            int waitForActiveShards = randomIntBetween(0, 10);
-            setter.accept(waitForActiveShards);
-            expectedParams.put("wait_for_active_shards", String.valueOf(waitForActiveShards));
+            String waitForActiveShardsString;
+            int waitForActiveShards = randomIntBetween(-1, 5);
+            if (waitForActiveShards == -1) {
+                waitForActiveShardsString = "all";
+            } else {
+                waitForActiveShardsString = String.valueOf(waitForActiveShards);
+            }
+            setter.accept(ActiveShardCount.parseString(waitForActiveShardsString));
+            expectedParams.put("wait_for_active_shards", waitForActiveShardsString);
         }
     }