|
30 | 30 | import org.springframework.ai.embedding.EmbeddingRequest; |
31 | 31 |
|
32 | 32 | import static org.assertj.core.api.Assertions.assertThat; |
| 33 | +import static org.assertj.core.api.AssertionsForClassTypes.assertThatThrownBy; |
33 | 34 |
|
34 | 35 | /** |
35 | 36 | * @author Christian Tzolov |
@@ -202,4 +203,41 @@ public void shouldValidateInputListIsNotModified() { |
202 | 203 | assertThat(inputsCopy).isEqualTo(originalInputs); |
203 | 204 | } |
204 | 205 |
|
| 206 | + @Test |
| 207 | + public void shouldHandleNullInputList() { |
| 208 | + var requestOptions = this.client.toEmbeddingOptions(new EmbeddingRequest(null, null)); |
| 209 | + assertThat(requestOptions.getInput()).isNull(); |
| 210 | + } |
| 211 | + |
| 212 | + @Test |
| 213 | + public void shouldHandleNullEmbeddingRequest() { |
| 214 | + assertThatThrownBy(() -> this.client.toEmbeddingOptions(null)).isInstanceOf(NullPointerException.class); |
| 215 | + } |
| 216 | + |
| 217 | + @Test |
| 218 | + public void shouldHandlePartialOptionsOverride() { |
| 219 | + var partialOptions = AzureOpenAiEmbeddingOptions.builder() |
| 220 | + .deploymentName("CUSTOM_MODEL") |
| 221 | + // user is not set, should use default |
| 222 | + .build(); |
| 223 | + |
| 224 | + var requestOptions = this.client |
| 225 | + .toEmbeddingOptions(new EmbeddingRequest(List.of("Test content"), partialOptions)); |
| 226 | + |
| 227 | + assertThat(requestOptions.getModel()).isEqualTo("CUSTOM_MODEL"); |
| 228 | + assertThat(requestOptions.getUser()).isEqualTo("USER_TEST"); // from default |
| 229 | + } |
| 230 | + |
| 231 | + @Test |
| 232 | + public void shouldHandleDefaultOptionsOnlyClient() { |
| 233 | + var clientWithMinimalDefaults = new AzureOpenAiEmbeddingModel(this.mockClient, MetadataMode.EMBED, |
| 234 | + AzureOpenAiEmbeddingOptions.builder().deploymentName("MINIMAL_MODEL").build()); |
| 235 | + |
| 236 | + var requestOptions = clientWithMinimalDefaults |
| 237 | + .toEmbeddingOptions(new EmbeddingRequest(List.of("Test content"), null)); |
| 238 | + |
| 239 | + assertThat(requestOptions.getModel()).isEqualTo("MINIMAL_MODEL"); |
| 240 | + assertThat(requestOptions.getUser()).isNull(); |
| 241 | + } |
| 242 | + |
205 | 243 | } |
0 commit comments