Преглед на файлове

Increase the length of randomly generated field (#34857)

* Increase the length of randomly generated field

randomAlphaOfLength(2) produced duplicates which led to
com.fasterxml.jackson.core.JsonParseException: Duplicate field

increase it to randomAlphaOfLength(7)

closes #34837
Mayya Sharipova преди 7 години
родител
ревизия
fced5e826c
променени са 1 файла, в които са добавени 15 реда и са изтрити 8 реда
  1. 15 8
      client/rest-high-level/src/test/java/org/elasticsearch/client/core/TermVectorsResponseTests.java

+ 15 - 8
client/rest-high-level/src/test/java/org/elasticsearch/client/core/TermVectorsResponseTests.java

@@ -134,16 +134,22 @@ public class TermVectorsResponseTests extends ESTestCase {
             boolean hasPayloads = randomBoolean();
             int fieldsCount = randomIntBetween(1, 3);
             tvList = new ArrayList<>(fieldsCount);
+            List<String> usedFieldNames = new ArrayList<>(fieldsCount);
             for (int i = 0; i < fieldsCount; i++) {
-                tvList.add(randomTermVector(hasFieldStatistics, hasTermStatistics, hasScores, hasOffsets, hasPositions, hasPayloads));
+                String fieldName = randomValueOtherThanMany(usedFieldNames::contains, () -> randomAlphaOfLength(7));
+                usedFieldNames.add(fieldName);
+                tvList.add(randomTermVector(
+                    fieldName, hasFieldStatistics, hasTermStatistics, hasScores, hasOffsets, hasPositions, hasPayloads));
             }
         }
         TermVectorsResponse tvresponse = new TermVectorsResponse(index, type, id, version, found, tookInMillis, tvList);
         return tvresponse;
     }
 
-    private TermVectorsResponse.TermVector randomTermVector(boolean hasFieldStatistics, boolean hasTermStatistics, boolean hasScores,
-            boolean hasOffsets, boolean hasPositions, boolean hasPayloads) {
+
+
+    private TermVectorsResponse.TermVector randomTermVector(String fieldName, boolean hasFieldStatistics, boolean hasTermStatistics,
+            boolean hasScores, boolean hasOffsets, boolean hasPositions, boolean hasPayloads) {
         TermVectorsResponse.TermVector.FieldStatistics fs = null;
         if (hasFieldStatistics) {
             long sumDocFreq = randomNonNegativeLong();
@@ -154,18 +160,20 @@ public class TermVectorsResponseTests extends ESTestCase {
 
         int termsCount = randomIntBetween(1, 5);
         List<TermVectorsResponse.TermVector.Term> terms = new ArrayList<>(termsCount);
+        List<String> usedTerms = new ArrayList<>(termsCount);
         for (int i = 0; i < termsCount; i++) {
-            terms.add(randomTerm(hasTermStatistics, hasScores, hasOffsets, hasPositions, hasPayloads));
+            String termTxt = randomValueOtherThanMany(usedTerms::contains, () -> randomAlphaOfLength(7));
+            usedTerms.add(termTxt);
+            terms.add(randomTerm(termTxt, hasTermStatistics, hasScores, hasOffsets, hasPositions, hasPayloads));
         }
 
-        TermVectorsResponse.TermVector tv = new TermVectorsResponse.TermVector("field" + randomAlphaOfLength(2), fs, terms);
+        TermVectorsResponse.TermVector tv = new TermVectorsResponse.TermVector(fieldName, fs, terms);
         return tv;
     }
 
-    private TermVectorsResponse.TermVector.Term randomTerm(boolean hasTermStatistics, boolean hasScores,
+    private TermVectorsResponse.TermVector.Term randomTerm(String termTxt, boolean hasTermStatistics, boolean hasScores,
             boolean hasOffsets, boolean hasPositions, boolean hasPayloads) {
 
-        String termTxt = "term" + randomAlphaOfLength(2);
         int termFreq =  randomInt(10000);
         Integer docFreq = null;
         Long totalTermFreq = null;
@@ -199,5 +207,4 @@ public class TermVectorsResponseTests extends ESTestCase {
             new TermVectorsResponse.TermVector.Term(termTxt, termFreq, docFreq, totalTermFreq, score, tokens);
         return term;
     }
-
 }