| 
16 | 16 | import org.elasticsearch.xpack.inference.services.settings.DefaultSecretSettings;  | 
17 | 17 | 
 
  | 
18 | 18 | import java.util.List;  | 
 | 19 | +import java.util.Map;  | 
19 | 20 | 
 
  | 
 | 21 | +import static org.elasticsearch.xpack.inference.services.openai.completion.OpenAiChatCompletionRequestTaskSettingsTests.getChatCompletionRequestTaskSettingsMap;  | 
20 | 22 | import static org.hamcrest.Matchers.is;  | 
 | 23 | +import static org.hamcrest.Matchers.sameInstance;  | 
21 | 24 | 
 
  | 
22 | 25 | public class LlamaChatCompletionModelTests extends ESTestCase {  | 
23 | 26 | 
 
  | 
 | 27 | +    public void testOverrideWith_OverridesExistingUser() {  | 
 | 28 | +        var model = createCompletionModel("model_name", "url", "api_key", "user");  | 
 | 29 | +        var requestTaskSettingsMap = getChatCompletionRequestTaskSettingsMap("user_override");  | 
 | 30 | + | 
 | 31 | +        var overriddenModel = LlamaChatCompletionModel.of(model, requestTaskSettingsMap);  | 
 | 32 | + | 
 | 33 | +        assertThat(overriddenModel, is(createCompletionModel("model_name", "url", "api_key", "user_override")));  | 
 | 34 | +    }  | 
 | 35 | + | 
 | 36 | +    public void testOverrideWith_OverridesNullUser() {  | 
 | 37 | +        var model = createCompletionModel("model_name", "url", "api_key", null);  | 
 | 38 | +        var requestTaskSettingsMap = getChatCompletionRequestTaskSettingsMap("user_override");  | 
 | 39 | + | 
 | 40 | +        var overriddenModel = LlamaChatCompletionModel.of(model, requestTaskSettingsMap);  | 
 | 41 | + | 
 | 42 | +        assertThat(overriddenModel, is(createCompletionModel("model_name", "url", "api_key", "user_override")));  | 
 | 43 | +    }  | 
 | 44 | + | 
 | 45 | +    public void testOverrideWith_EmptyMap() {  | 
 | 46 | +        var model = createCompletionModel("model_name", "url", "api_key", null);  | 
 | 47 | + | 
 | 48 | +        var requestTaskSettingsMap = Map.<String, Object>of();  | 
 | 49 | + | 
 | 50 | +        var overriddenModel = LlamaChatCompletionModel.of(model, requestTaskSettingsMap);  | 
 | 51 | +        assertThat(overriddenModel, sameInstance(model));  | 
 | 52 | +    }  | 
 | 53 | + | 
 | 54 | +    public void testOverrideWith_NullMap() {  | 
 | 55 | +        var model = createCompletionModel("model_name", "url", "api_key", null);  | 
 | 56 | + | 
 | 57 | +        var overriddenModel = LlamaChatCompletionModel.of(model, (Map<String, Object>) null);  | 
 | 58 | +        assertThat(overriddenModel, sameInstance(model));  | 
 | 59 | +    }  | 
 | 60 | + | 
24 | 61 |     public static LlamaChatCompletionModel createCompletionModel(String modelId, String url, String apiKey, String user) {  | 
25 | 62 |         return new LlamaChatCompletionModel(  | 
26 | 63 |             "id",  | 
 | 
0 commit comments