@@ -67,11 +67,14 @@ async def test_javelin_guardrail_reject_prompt():
67
67
call_type = "completion" )
68
68
69
69
# Verify the exception details
70
- assert exc_info .value .status_code == 400
70
+ assert exc_info .value .status_code == 500
71
71
assert "Violated guardrail policy" in str (exc_info .value .detail )
72
- assert "javelin_guardrail_response" in exc_info .value .detail
73
- assert "reject_prompt" in exc_info .value .detail
74
- assert exc_info .value .detail ["reject_prompt" ] == "Unable to complete request, prompt injection/jailbreak detected"
72
+ detail_dict = exc_info .value .detail
73
+ assert isinstance (detail_dict , dict )
74
+ detail_dict = dict (detail_dict )
75
+ assert "javelin_guardrail_response" in detail_dict
76
+ assert "reject_prompt" in detail_dict
77
+ assert detail_dict ["reject_prompt" ] == "Unable to complete request, prompt injection/jailbreak detected"
75
78
76
79
#test trustsafety guardrail
77
80
@pytest .mark .asyncio
@@ -139,11 +142,14 @@ async def test_javelin_guardrail_trustsafety():
139
142
call_type = "completion" )
140
143
141
144
# Verify the exception details
142
- assert exc_info .value .status_code == 400
145
+ assert exc_info .value .status_code == 500
143
146
assert "Violated guardrail policy" in str (exc_info .value .detail )
144
- assert "javelin_guardrail_response" in exc_info .value .detail
145
- assert "reject_prompt" in exc_info .value .detail
146
- assert exc_info .value .detail ["reject_prompt" ] == "Unable to complete request, trust & safety violation detected"
147
+ detail_dict = exc_info .value .detail
148
+ assert isinstance (detail_dict , dict )
149
+ detail_dict = dict (detail_dict ) # Ensure type checker knows it's a dict
150
+ assert "javelin_guardrail_response" in detail_dict
151
+ assert "reject_prompt" in detail_dict
152
+ assert detail_dict ["reject_prompt" ] == "Unable to complete request, trust & safety violation detected"
147
153
148
154
#test language detection guardrail
149
155
@pytest .mark .asyncio
@@ -197,11 +203,14 @@ async def test_javelin_guardrail_language_detection():
197
203
call_type = "completion" )
198
204
199
205
# Verify the exception details
200
- assert exc_info .value .status_code == 400
206
+ assert exc_info .value .status_code == 500
201
207
assert "Violated guardrail policy" in str (exc_info .value .detail )
202
- assert "javelin_guardrail_response" in exc_info .value .detail
203
- assert "reject_prompt" in exc_info .value .detail
204
- assert exc_info .value .detail ["reject_prompt" ] == "Unable to complete request, language violation detected"
208
+ detail_dict = exc_info .value .detail
209
+ assert isinstance (detail_dict , dict )
210
+ detail_dict = dict (detail_dict ) # Ensure type checker knows it's a dict
211
+ assert "javelin_guardrail_response" in detail_dict
212
+ assert "reject_prompt" in detail_dict
213
+ assert detail_dict ["reject_prompt" ] == "Unable to complete request, language violation detected"
205
214
206
215
207
216
@pytest .mark .asyncio
@@ -237,4 +246,5 @@ async def test_javelin_guardrail_no_user_message():
237
246
238
247
# Verify the response is unchanged
239
248
assert response is not None
249
+ assert isinstance (response , dict )
240
250
assert response ["messages" ] == original_messages
0 commit comments