Skip to content

Commit 6ed0d26

Browse files
[ML] Fixing streaming tests locale issue (#118481) (#118809)
* Fixing the string locale * Missing a toUpper (cherry picked from commit 5572777) # Conflicts: # muted-tests.yml
1 parent 49b18e2 commit 6ed0d26

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

test/framework/src/main/java/org/elasticsearch/test/ESTestCase.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1202,6 +1202,7 @@ public static String randomAlphaOfLength(int codeUnits) {
12021202

12031203
/**
12041204
* Generate a random string containing only alphanumeric characters.
1205+
* <b>The locale for the string is {@link Locale#ROOT}.</b>
12051206
* @param length the length of the string to generate
12061207
* @return the generated string
12071208
*/

x-pack/plugin/inference/qa/inference-service-tests/src/javaRestTest/java/org/elasticsearch/xpack/inference/InferenceCrudIT.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.io.IOException;
2222
import java.util.Iterator;
2323
import java.util.List;
24+
import java.util.Locale;
2425
import java.util.Map;
2526
import java.util.Objects;
2627
import java.util.Set;
@@ -317,7 +318,7 @@ public void testSupportedStream() throws Exception {
317318
var events = streamInferOnMockService(modelId, TaskType.COMPLETION, input);
318319

319320
var expectedResponses = Stream.concat(
320-
input.stream().map(String::toUpperCase).map(str -> "{\"completion\":[{\"delta\":\"" + str + "\"}]}"),
321+
input.stream().map(s -> s.toUpperCase(Locale.ROOT)).map(str -> "{\"completion\":[{\"delta\":\"" + str + "\"}]}"),
321322
Stream.of("[DONE]")
322323
).iterator();
323324
assertThat(events.size(), equalTo((input.size() + 1) * 2));
@@ -356,7 +357,9 @@ public void testUnifiedCompletionInference() throws Exception {
356357
}
357358

358359
private static Iterator<String> expectedResultsIterator(List<String> input) {
359-
return Stream.concat(input.stream().map(String::toUpperCase).map(InferenceCrudIT::expectedResult), Stream.of("[DONE]")).iterator();
360+
// The Locale needs to be ROOT to match what the test service is going to respond with
361+
return Stream.concat(input.stream().map(s -> s.toUpperCase(Locale.ROOT)).map(InferenceCrudIT::expectedResult), Stream.of("[DONE]"))
362+
.iterator();
360363
}
361364

362365
private static String expectedResult(String input) {

x-pack/plugin/inference/qa/test-service-plugin/src/main/java/org/elasticsearch/xpack/inference/mock/TestStreamingCompletionServiceExtension.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import java.util.EnumSet;
4444
import java.util.HashMap;
4545
import java.util.List;
46+
import java.util.Locale;
4647
import java.util.Map;
4748
import java.util.Set;
4849
import java.util.concurrent.Flow;
@@ -142,7 +143,7 @@ public void unifiedCompletionInfer(
142143
}
143144

144145
private StreamingChatCompletionResults makeResults(List<String> input) {
145-
var responseIter = input.stream().map(String::toUpperCase).iterator();
146+
var responseIter = input.stream().map(s -> s.toUpperCase(Locale.ROOT)).iterator();
146147
return new StreamingChatCompletionResults(subscriber -> {
147148
subscriber.onSubscribe(new Flow.Subscription() {
148149
@Override
@@ -173,7 +174,7 @@ private ChunkedToXContent completionChunk(String delta) {
173174
}
174175

175176
private StreamingUnifiedChatCompletionResults makeUnifiedResults(UnifiedCompletionRequest request) {
176-
var responseIter = request.messages().stream().map(message -> message.content().toString().toUpperCase()).iterator();
177+
var responseIter = request.messages().stream().map(message -> message.content().toString().toUpperCase(Locale.ROOT)).iterator();
177178
return new StreamingUnifiedChatCompletionResults(subscriber -> {
178179
subscriber.onSubscribe(new Flow.Subscription() {
179180
@Override

0 commit comments

Comments
 (0)