Skip to content

Commit fced5e8

Browse files
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
1 parent aefe290 commit fced5e8

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

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

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -134,16 +134,22 @@ protected TermVectorsResponse createTestInstance() {
134134
boolean hasPayloads = randomBoolean();
135135
int fieldsCount = randomIntBetween(1, 3);
136136
tvList = new ArrayList<>(fieldsCount);
137+
List<String> usedFieldNames = new ArrayList<>(fieldsCount);
137138
for (int i = 0; i < fieldsCount; i++) {
138-
tvList.add(randomTermVector(hasFieldStatistics, hasTermStatistics, hasScores, hasOffsets, hasPositions, hasPayloads));
139+
String fieldName = randomValueOtherThanMany(usedFieldNames::contains, () -> randomAlphaOfLength(7));
140+
usedFieldNames.add(fieldName);
141+
tvList.add(randomTermVector(
142+
fieldName, hasFieldStatistics, hasTermStatistics, hasScores, hasOffsets, hasPositions, hasPayloads));
139143
}
140144
}
141145
TermVectorsResponse tvresponse = new TermVectorsResponse(index, type, id, version, found, tookInMillis, tvList);
142146
return tvresponse;
143147
}
144148

145-
private TermVectorsResponse.TermVector randomTermVector(boolean hasFieldStatistics, boolean hasTermStatistics, boolean hasScores,
146-
boolean hasOffsets, boolean hasPositions, boolean hasPayloads) {
149+
150+
151+
private TermVectorsResponse.TermVector randomTermVector(String fieldName, boolean hasFieldStatistics, boolean hasTermStatistics,
152+
boolean hasScores, boolean hasOffsets, boolean hasPositions, boolean hasPayloads) {
147153
TermVectorsResponse.TermVector.FieldStatistics fs = null;
148154
if (hasFieldStatistics) {
149155
long sumDocFreq = randomNonNegativeLong();
@@ -154,18 +160,20 @@ private TermVectorsResponse.TermVector randomTermVector(boolean hasFieldStatisti
154160

155161
int termsCount = randomIntBetween(1, 5);
156162
List<TermVectorsResponse.TermVector.Term> terms = new ArrayList<>(termsCount);
163+
List<String> usedTerms = new ArrayList<>(termsCount);
157164
for (int i = 0; i < termsCount; i++) {
158-
terms.add(randomTerm(hasTermStatistics, hasScores, hasOffsets, hasPositions, hasPayloads));
165+
String termTxt = randomValueOtherThanMany(usedTerms::contains, () -> randomAlphaOfLength(7));
166+
usedTerms.add(termTxt);
167+
terms.add(randomTerm(termTxt, hasTermStatistics, hasScores, hasOffsets, hasPositions, hasPayloads));
159168
}
160169

161-
TermVectorsResponse.TermVector tv = new TermVectorsResponse.TermVector("field" + randomAlphaOfLength(2), fs, terms);
170+
TermVectorsResponse.TermVector tv = new TermVectorsResponse.TermVector(fieldName, fs, terms);
162171
return tv;
163172
}
164173

165-
private TermVectorsResponse.TermVector.Term randomTerm(boolean hasTermStatistics, boolean hasScores,
174+
private TermVectorsResponse.TermVector.Term randomTerm(String termTxt, boolean hasTermStatistics, boolean hasScores,
166175
boolean hasOffsets, boolean hasPositions, boolean hasPayloads) {
167176

168-
String termTxt = "term" + randomAlphaOfLength(2);
169177
int termFreq = randomInt(10000);
170178
Integer docFreq = null;
171179
Long totalTermFreq = null;
@@ -199,5 +207,4 @@ private TermVectorsResponse.TermVector.Term randomTerm(boolean hasTermStatistics
199207
new TermVectorsResponse.TermVector.Term(termTxt, termFreq, docFreq, totalTermFreq, score, tokens);
200208
return term;
201209
}
202-
203210
}

0 commit comments

Comments
 (0)