Skip to content

Commit 0578560

Browse files
committed
Sample app tests use filter specific convenience pn exception
1 parent 7b631c1 commit 0578560

File tree

1 file changed

+24
-17
lines changed

1 file changed

+24
-17
lines changed

sample-code/spring-app/src/test/java/com/sap/ai/sdk/app/controllers/OrchestrationTest.java

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import static com.sap.ai.sdk.orchestration.OrchestrationAiModel.GEMINI_1_5_FLASH;
44
import static com.sap.ai.sdk.orchestration.OrchestrationAiModel.Parameter.TEMPERATURE;
5+
import static com.sap.ai.sdk.orchestration.model.AzureThreshold.*;
56
import static com.sap.ai.sdk.orchestration.model.ResponseChatMessage.RoleEnum.ASSISTANT;
67
import static org.assertj.core.api.Assertions.assertThat;
78
import static org.assertj.core.api.Assertions.assertThatThrownBy;
@@ -222,14 +223,12 @@ void testInputFilteringStrict() {
222223
.isInstanceOfSatisfying(
223224
OrchestrationInputFilterException.class,
224225
e -> {
225-
assertThat(e.getFilterDetails()).isNotNull();
226-
assertThat(e.getFilterDetails()).containsKey("azure_content_safety");
227-
assertThat(e.getFilterDetails().get("azure_content_safety")).isInstanceOf(Map.class);
228-
229-
var actualAzureContentSafety =
230-
(Map<String, Integer>) e.getFilterDetails().get("azure_content_safety");
231-
assertThat(actualAzureContentSafety)
232-
.containsKeys("Hate", "Violence", "Sexual", "SelfHarm");
226+
var actualAzureContentSafety = e.getAzureContentSafetyInput();
227+
assertThat(actualAzureContentSafety).isNotNull();
228+
assertThat(actualAzureContentSafety.getViolence()).isGreaterThan(NUMBER_0);
229+
assertThat(actualAzureContentSafety.getSelfHarm()).isEqualTo(NUMBER_0);
230+
assertThat(actualAzureContentSafety.getSexual()).isEqualTo(NUMBER_0);
231+
assertThat(actualAzureContentSafety.getHate()).isEqualTo(NUMBER_0);
233232
});
234233
}
235234

@@ -256,14 +255,12 @@ void testOutputFilteringStrict() {
256255
.isInstanceOfSatisfying(
257256
OrchestrationOutputFilterException.class,
258257
e -> {
259-
assertThat(e.getFilterDetails()).isNotNull();
260-
assertThat(e.getFilterDetails()).containsKey("azure_content_safety");
261-
assertThat(e.getFilterDetails().get("azure_content_safety")).isInstanceOf(Map.class);
262-
263-
var actualAzureContentSafety =
264-
(Map<String, Integer>) e.getFilterDetails().get("azure_content_safety");
265-
assertThat(actualAzureContentSafety)
266-
.containsKeys("Hate", "Violence", "Sexual", "SelfHarm");
258+
var actualAzureContentSafety = e.getAzureContentSafetyOutput();
259+
assertThat(actualAzureContentSafety).isNotNull();
260+
assertThat(actualAzureContentSafety.getViolence()).isGreaterThan(NUMBER_0);
261+
assertThat(actualAzureContentSafety.getSelfHarm()).isEqualTo(NUMBER_0);
262+
assertThat(actualAzureContentSafety.getSexual()).isEqualTo(NUMBER_0);
263+
assertThat(actualAzureContentSafety.getHate()).isEqualTo(NUMBER_0);
267264
});
268265
}
269266

@@ -286,7 +283,17 @@ void testLlamaGuardEnabled() {
286283
.isInstanceOf(OrchestrationInputFilterException.class)
287284
.hasMessageContaining(
288285
"Prompt filtered due to safety violations. Please modify the prompt and try again.")
289-
.hasMessageContaining("400 (Bad Request)");
286+
.hasMessageContaining("400 (Bad Request)")
287+
.isInstanceOfSatisfying(
288+
OrchestrationInputFilterException.class,
289+
e -> {
290+
var llamaGuard38b = e.getLlamaGuard38b();
291+
assertThat(llamaGuard38b).isNotNull();
292+
assertThat(llamaGuard38b.isViolentCrimes()).isTrue();
293+
assertThat(llamaGuard38b.isHate()).isFalse();
294+
assertThat(llamaGuard38b.isChildExploitation()).isFalse();
295+
assertThat(llamaGuard38b.isDefamation()).isFalse();
296+
});
290297
}
291298

292299
@Test

0 commit comments

Comments
 (0)