22
33import static com .sap .ai .sdk .orchestration .OrchestrationAiModel .GEMINI_1_5_FLASH ;
44import static com .sap .ai .sdk .orchestration .OrchestrationAiModel .Parameter .TEMPERATURE ;
5+ import static com .sap .ai .sdk .orchestration .model .AzureThreshold .*;
56import static com .sap .ai .sdk .orchestration .model .ResponseChatMessage .RoleEnum .ASSISTANT ;
67import static org .assertj .core .api .Assertions .assertThat ;
78import 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