Skip to content

Commit ff9ade9

Browse files
committed
Add/update MistralModelConfigurationTests
1 parent 355d5d4 commit ff9ade9

File tree

2 files changed

+45
-2
lines changed

2 files changed

+45
-2
lines changed

Diff for: auto-configurations/models/spring-ai-autoconfigure-model-mistral-ai/src/main/java/org/springframework/ai/model/mistralai/autoconfigure/MistralAiChatAutoConfiguration.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,7 @@
5757
*/
5858
@AutoConfiguration(after = { RestClientAutoConfiguration.class, SpringAiRetryAutoConfiguration.class,
5959
ToolCallingAutoConfiguration.class })
60-
@EnableConfigurationProperties({ MistralAiCommonProperties.class, MistralAiChatProperties.class,
61-
MistralAiModerationProperties.class })
60+
@EnableConfigurationProperties({ MistralAiCommonProperties.class, MistralAiChatProperties.class })
6261
@ConditionalOnProperty(name = SpringAIModelProperties.CHAT_MODEL, havingValue = SpringAIModels.MISTRAL,
6362
matchIfMissing = true)
6463
@ConditionalOnClass(MistralAiApi.class)

Diff for: auto-configurations/models/spring-ai-autoconfigure-model-mistral-ai/src/test/java/org/springframework/ai/model/mistralai/autoconfigure/MistralModelConfigurationTests.java

+44
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import org.springframework.ai.mistralai.MistralAiChatModel;
2222
import org.springframework.ai.mistralai.MistralAiEmbeddingModel;
23+
import org.springframework.ai.mistralai.moderation.MistralAiModerationModel;
2324
import org.springframework.boot.autoconfigure.AutoConfigurations;
2425
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
2526

@@ -29,6 +30,7 @@
2930
* Unit Tests for Mistral AI auto-configurations conditional enabling of models.
3031
*
3132
* @author Ilayaperumal Gopinathan
33+
* @author Ricken Bazolo
3234
*/
3335
public class MistralModelConfigurationTests {
3436

@@ -43,6 +45,8 @@ void chatModelActivation() {
4345
assertThat(context.getBeansOfType(MistralAiChatModel.class)).isNotEmpty();
4446
assertThat(context.getBeansOfType(MistralAiEmbeddingProperties.class)).isEmpty();
4547
assertThat(context.getBeansOfType(MistralAiEmbeddingModel.class)).isEmpty();
48+
assertThat(context.getBeansOfType(MistralAiModerationProperties.class)).isEmpty();
49+
assertThat(context.getBeansOfType(MistralAiModerationModel.class)).isEmpty();
4650
});
4751

4852
this.contextRunner.withConfiguration(AutoConfigurations.of(MistralAiChatAutoConfiguration.class))
@@ -61,6 +65,8 @@ void chatModelActivation() {
6165
assertThat(context.getBeansOfType(MistralAiChatModel.class)).isNotEmpty();
6266
assertThat(context.getBeansOfType(MistralAiEmbeddingProperties.class)).isEmpty();
6367
assertThat(context.getBeansOfType(MistralAiEmbeddingModel.class)).isEmpty();
68+
assertThat(context.getBeansOfType(MistralAiModerationProperties.class)).isEmpty();
69+
assertThat(context.getBeansOfType(MistralAiModerationModel.class)).isEmpty();
6470
});
6571
}
6672

@@ -84,4 +90,42 @@ void embeddingModelActivation() {
8490
});
8591
}
8692

93+
@Test
94+
void moderationModelActivation() {
95+
this.contextRunner.withConfiguration(AutoConfigurations.of(MistralAiModerationAutoConfiguration.class))
96+
.run(context -> {
97+
assertThat(context.getBeansOfType(MistralAiModerationModel.class)).isNotEmpty();
98+
assertThat(context.getBeansOfType(MistralAiModerationProperties.class)).isNotEmpty();
99+
assertThat(context.getBeansOfType(MistralAiChatModel.class)).isEmpty();
100+
assertThat(context.getBeansOfType(MistralAiChatProperties.class)).isEmpty();
101+
assertThat(context.getBeansOfType(MistralAiEmbeddingProperties.class)).isEmpty();
102+
assertThat(context.getBeansOfType(MistralAiEmbeddingModel.class)).isEmpty();
103+
});
104+
105+
this.contextRunner.withConfiguration(AutoConfigurations.of(MistralAiModerationAutoConfiguration.class))
106+
.withPropertyValues("spring.ai.model.moderation=none")
107+
.run(context -> {
108+
assertThat(context.getBeansOfType(MistralAiModerationProperties.class)).isEmpty();
109+
assertThat(context.getBeansOfType(MistralAiModerationModel.class)).isEmpty();
110+
});
111+
112+
this.contextRunner.withConfiguration(AutoConfigurations.of(MistralAiModerationAutoConfiguration.class))
113+
.withPropertyValues("spring.ai.model.moderation=mistral")
114+
.run(context -> {
115+
assertThat(context.getBeansOfType(MistralAiModerationProperties.class)).isNotEmpty();
116+
assertThat(context.getBeansOfType(MistralAiModerationModel.class)).isNotEmpty();
117+
});
118+
119+
this.contextRunner
120+
.withConfiguration(AutoConfigurations.of(MistralAiChatAutoConfiguration.class,
121+
MistralAiEmbeddingAutoConfiguration.class, MistralAiModerationAutoConfiguration.class))
122+
.withPropertyValues("spring.ai.model.chat=none", "spring.ai.model.embedding=none",
123+
"spring.ai.model.moderation=mistral")
124+
.run(context -> {
125+
assertThat(context.getBeansOfType(MistralAiModerationModel.class)).isNotEmpty();
126+
assertThat(context.getBeansOfType(MistralAiEmbeddingModel.class)).isEmpty();
127+
assertThat(context.getBeansOfType(MistralAiChatModel.class)).isEmpty();
128+
});
129+
}
130+
87131
}

0 commit comments

Comments
 (0)