Skip to content

Commit df0a224

Browse files
Ensure parsing from index does not throw
1 parent dc7f53b commit df0a224

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/elastic/ElasticInferenceServiceTests.java

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
import org.elasticsearch.xpack.inference.services.elastic.response.ElasticInferenceServiceAuthorizationResponseEntity;
6565
import org.elasticsearch.xpack.inference.services.elastic.sparseembeddings.ElasticInferenceServiceSparseEmbeddingsModel;
6666
import org.elasticsearch.xpack.inference.services.elasticsearch.ElserModels;
67+
import org.elasticsearch.xpack.inference.services.settings.RateLimitSettings;
6768
import org.hamcrest.MatcherAssert;
6869
import org.hamcrest.Matchers;
6970
import org.junit.After;
@@ -297,6 +298,39 @@ public void testParsePersistedConfigWithSecrets_DoesNotThrowWhenAnExtraKeyExists
297298
}
298299
}
299300

301+
public void testParsePersistedConfigWithSecrets_DoesNotThrowWhenRateLimitFieldExistsInServiceSettings() throws IOException {
302+
try (var service = createServiceWithMockSender()) {
303+
Map<String, Object> serviceSettingsMap = new HashMap<>(
304+
Map.of(
305+
ServiceFields.MODEL_ID,
306+
ElserModels.ELSER_V2_MODEL,
307+
RateLimitSettings.FIELD_NAME,
308+
new HashMap<>(Map.of(RateLimitSettings.REQUESTS_PER_MINUTE_FIELD, 100))
309+
)
310+
);
311+
312+
var persistedConfig = getPersistedConfigMap(serviceSettingsMap, Map.of(), Map.of());
313+
314+
var model = service.parsePersistedConfigWithSecrets(
315+
"id",
316+
TaskType.SPARSE_EMBEDDING,
317+
persistedConfig.config(),
318+
persistedConfig.secrets()
319+
);
320+
321+
assertThat(model, instanceOf(ElasticInferenceServiceSparseEmbeddingsModel.class));
322+
323+
var parsedModel = (ElasticInferenceServiceSparseEmbeddingsModel) model;
324+
assertThat(parsedModel.getServiceSettings().modelId(), is(ElserModels.ELSER_V2_MODEL));
325+
assertThat(parsedModel.getTaskSettings(), is(EmptyTaskSettings.INSTANCE));
326+
assertThat(parsedModel.getSecretSettings(), is(EmptySecretSettings.INSTANCE));
327+
assertThat(
328+
serviceSettingsMap,
329+
is(Map.of(RateLimitSettings.FIELD_NAME, Map.of(RateLimitSettings.REQUESTS_PER_MINUTE_FIELD, 100)))
330+
);
331+
}
332+
}
333+
300334
public void testParsePersistedConfigWithSecrets_DoesNotThrowWhenAnExtraKeyExistsInTaskSettings() throws IOException {
301335
try (var service = createServiceWithMockSender()) {
302336
var taskSettings = Map.of("extra_key", (Object) "value");

0 commit comments

Comments
 (0)