4444import static org .elasticsearch .xpack .inference .external .http .Utils .getUrl ;
4545import static org .elasticsearch .xpack .inference .services .ServiceComponentsTests .createWithEmptySettings ;
4646import static org .hamcrest .CoreMatchers .is ;
47+ import static org .hamcrest .Matchers .containsInAnyOrder ;
4748import static org .mockito .Mockito .mock ;
4849
4950public class InferenceRevokeDefaultEndpointsIT extends ESSingleNodeTestCase {
@@ -191,19 +192,19 @@ public void testRemoves_DefaultChatCompletion_V1_WhenAuthorizationDoesNotReturnA
191192 String responseJson = """
192193 {
193194 "models": [
194- {
195- "model_name": "rainbow-sprinkles",
196- "task_types": ["chat"]
197- },
198195 {
199196 "model_name": "elser-v2",
200197 "task_types": ["embed/text/sparse"]
201198 },
199+ {
200+ "model_name": "rainbow-sprinkles",
201+ "task_types": ["chat"]
202+ },
202203 {
203204 "model_name": "multilingual-embed-v1",
204205 "task_types": ["embed/text/dense"]
205206 },
206- {
207+ {
207208 "model_name": "rerank-v1",
208209 "task_types": ["rerank/text/text-similarity"]
209210 }
@@ -219,33 +220,31 @@ public void testRemoves_DefaultChatCompletion_V1_WhenAuthorizationDoesNotReturnA
219220 assertThat (service .supportedStreamingTasks (), is (EnumSet .of (TaskType .CHAT_COMPLETION )));
220221 assertThat (
221222 service .defaultConfigIds (),
222- is (
223- List .of (
224- new InferenceService .DefaultConfigId (
225- ".elser-v2-elastic" ,
226- MinimalServiceSettings .sparseEmbedding (ElasticInferenceService .NAME ),
227- service
228- ),
229- new InferenceService .DefaultConfigId (
230- ".rainbow-sprinkles-elastic" ,
231- MinimalServiceSettings .chatCompletion (ElasticInferenceService .NAME ),
232- service
233- ),
234- new InferenceService .DefaultConfigId (
235- ".multilingual-embed-v1-elastic" ,
236- MinimalServiceSettings .textEmbedding (
237- ElasticInferenceService .NAME ,
238- ElasticInferenceService .DENSE_TEXT_EMBEDDINGS_DIMENSIONS ,
239- ElasticInferenceService .defaultDenseTextEmbeddingsSimilarity (),
240- DenseVectorFieldMapper .ElementType .FLOAT
241- ),
242- service
223+ containsInAnyOrder (
224+ new InferenceService .DefaultConfigId (
225+ ".elser-v2-elastic" ,
226+ MinimalServiceSettings .sparseEmbedding (ElasticInferenceService .NAME ),
227+ service
228+ ),
229+ new InferenceService .DefaultConfigId (
230+ ".rainbow-sprinkles-elastic" ,
231+ MinimalServiceSettings .chatCompletion (ElasticInferenceService .NAME ),
232+ service
233+ ),
234+ new InferenceService .DefaultConfigId (
235+ ".multilingual-embed-v1-elastic" ,
236+ MinimalServiceSettings .textEmbedding (
237+ ElasticInferenceService .NAME ,
238+ ElasticInferenceService .DENSE_TEXT_EMBEDDINGS_DIMENSIONS ,
239+ ElasticInferenceService .defaultDenseTextEmbeddingsSimilarity (),
240+ DenseVectorFieldMapper .ElementType .FLOAT
243241 ),
244- new InferenceService .DefaultConfigId (
245- ".rerank-v1-elastic" ,
246- MinimalServiceSettings .rerank (ElasticInferenceService .NAME ),
247- service
248- )
242+ service
243+ ),
244+ new InferenceService .DefaultConfigId (
245+ ".rerank-v1-elastic" ,
246+ MinimalServiceSettings .rerank (ElasticInferenceService .NAME ),
247+ service
249248 )
250249 )
251250 );
@@ -257,11 +256,11 @@ public void testRemoves_DefaultChatCompletion_V1_WhenAuthorizationDoesNotReturnA
257256 PlainActionFuture <List <Model >> listener = new PlainActionFuture <>();
258257 service .defaultConfigs (listener );
259258 assertThat (listener .actionGet (TIMEOUT ).get (0 ).getConfigurations ().getInferenceEntityId (), is (".elser-v2-elastic" ));
260- assertThat (listener .actionGet (TIMEOUT ).get (1 ).getConfigurations ().getInferenceEntityId (), is (".rainbow-sprinkles-elastic" ));
261259 assertThat (
262- listener .actionGet (TIMEOUT ).get (2 ).getConfigurations ().getInferenceEntityId (),
260+ listener .actionGet (TIMEOUT ).get (1 ).getConfigurations ().getInferenceEntityId (),
263261 is (".multilingual-embed-v1-elastic" )
264262 );
263+ assertThat (listener .actionGet (TIMEOUT ).get (2 ).getConfigurations ().getInferenceEntityId (), is (".rainbow-sprinkles-elastic" ));
265264 assertThat (listener .actionGet (TIMEOUT ).get (3 ).getConfigurations ().getInferenceEntityId (), is (".rerank-v1-elastic" ));
266265
267266 var getModelListener = new PlainActionFuture <UnparsedModel >();
@@ -284,6 +283,10 @@ public void testRemoves_DefaultChatCompletion_V1_WhenAuthorizationDoesNotReturnA
284283 {
285284 "model_name": "rerank-v1",
286285 "task_types": ["rerank/text/text-similarity"]
286+ },
287+ {
288+ "model_name": "multilingual-embed-v1",
289+ "task_types": ["embed/text/dense"]
287290 }
288291 ]
289292 }
@@ -297,32 +300,33 @@ public void testRemoves_DefaultChatCompletion_V1_WhenAuthorizationDoesNotReturnA
297300 assertThat (service .supportedStreamingTasks (), is (EnumSet .noneOf (TaskType .class )));
298301 assertThat (
299302 service .defaultConfigIds (),
300- is (
301- List .of (
302- new InferenceService .DefaultConfigId (
303- ".elser-v2-elastic" ,
304- MinimalServiceSettings .sparseEmbedding (ElasticInferenceService .NAME ),
305- service
306- ),
307- new InferenceService .DefaultConfigId (
308- ".multilingual-embed-v1-elastic" ,
309- MinimalServiceSettings .textEmbedding (
310- ElasticInferenceService .NAME ,
311- ElasticInferenceService .DENSE_TEXT_EMBEDDINGS_DIMENSIONS ,
312- ElasticInferenceService .defaultDenseTextEmbeddingsSimilarity (),
313- DenseVectorFieldMapper .ElementType .FLOAT
314- ),
315- service
303+ containsInAnyOrder (
304+ new InferenceService .DefaultConfigId (
305+ ".elser-v2-elastic" ,
306+ MinimalServiceSettings .sparseEmbedding (ElasticInferenceService .NAME ),
307+ service
308+ ),
309+ new InferenceService .DefaultConfigId (
310+ ".multilingual-embed-v1-elastic" ,
311+ MinimalServiceSettings .textEmbedding (
312+ ElasticInferenceService .NAME ,
313+ ElasticInferenceService .DENSE_TEXT_EMBEDDINGS_DIMENSIONS ,
314+ ElasticInferenceService .defaultDenseTextEmbeddingsSimilarity (),
315+ DenseVectorFieldMapper .ElementType .FLOAT
316316 ),
317- new InferenceService .DefaultConfigId (
318- ".rerank-v1-elastic" ,
319- MinimalServiceSettings .rerank (ElasticInferenceService .NAME ),
320- service
321- )
317+ service
318+ ),
319+ new InferenceService .DefaultConfigId (
320+ ".rerank-v1-elastic" ,
321+ MinimalServiceSettings .rerank (ElasticInferenceService .NAME ),
322+ service
322323 )
323324 )
324325 );
325- assertThat (service .supportedTaskTypes (), is (EnumSet .of (TaskType .SPARSE_EMBEDDING , TaskType .RERANK )));
326+ assertThat (
327+ service .supportedTaskTypes (),
328+ is (EnumSet .of (TaskType .TEXT_EMBEDDING , TaskType .SPARSE_EMBEDDING , TaskType .RERANK ))
329+ );
326330
327331 var getModelListener = new PlainActionFuture <UnparsedModel >();
328332 modelRegistry .getModel (".rainbow-sprinkles-elastic" , getModelListener );
0 commit comments