Skip to content

Commit 6a64375

Browse files
Use unicode strings in data generation by default (#132028)
In #132018, we found an issue with non-ascii strings in ignored source. This issue was not exposed by the data generation tests because these tests use ascii-only strings. This patch updates the tests to instead use full unicode strings by default.
1 parent e49a5e8 commit 6a64375

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

test/framework/src/main/java/org/elasticsearch/datageneration/datasource/DefaultObjectGenerationHandler.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
import java.util.Optional;
1616
import java.util.Set;
1717

18-
import static org.elasticsearch.test.ESTestCase.randomAlphaOfLengthBetween;
1918
import static org.elasticsearch.test.ESTestCase.randomDouble;
2019
import static org.elasticsearch.test.ESTestCase.randomIntBetween;
20+
import static org.elasticsearch.test.ESTestCase.randomRealisticUnicodeOfCodepointLengthBetween;
2121

2222
public class DefaultObjectGenerationHandler implements DataSourceHandler {
2323
@Override
@@ -49,7 +49,17 @@ public boolean generateRegularSubObject() {
4949

5050
@Override
5151
public String generateFieldName() {
52-
return randomAlphaOfLengthBetween(1, 10);
52+
while (true) {
53+
String fieldName = randomRealisticUnicodeOfCodepointLengthBetween(1, 10);
54+
if (fieldName.isBlank()) {
55+
continue;
56+
}
57+
if (fieldName.indexOf('.') != -1) {
58+
continue;
59+
}
60+
61+
return fieldName;
62+
}
5363
}
5464
};
5565
}

test/framework/src/main/java/org/elasticsearch/datageneration/datasource/DefaultPrimitiveTypesHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public DataSourceResponse.HalfFloatGenerator handle(DataSourceRequest.HalfFloatG
5959

6060
@Override
6161
public DataSourceResponse.StringGenerator handle(DataSourceRequest.StringGenerator request) {
62-
return new DataSourceResponse.StringGenerator(() -> ESTestCase.randomAlphaOfLengthBetween(0, 50));
62+
return new DataSourceResponse.StringGenerator(() -> ESTestCase.randomRealisticUnicodeOfCodepointLengthBetween(0, 50));
6363
}
6464

6565
@Override

0 commit comments

Comments
 (0)