litellm/tests/guardrails_tests
Ishaan Jaff 3cc032bc0c
Add French language support for EU AI Act Article 5 guardrail (#21427)
* Add French language support for EU AI Act Article 5 template

- Create eu_ai_act_article5_fr.yaml with comprehensive French keywords
- Includes identifier words: concevoir, créer, développer, noter, classer, etc.
- Includes block words: crédit social, comportement social, émotion des employés, etc.
- Includes always-block keywords for explicit prohibited practices
- Includes exceptions for research, compliance, and legitimate use cases
- Catches circumvention attempts with phrase variations

* Add comprehensive tests for French EU AI Act guardrail

- Test 3 critical scenarios: blocked query, circumvention attempt, safe query
- Test edge cases: case-insensitive, mixed language, research exceptions
- All 7 tests passing
- Validates both blocking and allowing behavior

* Fix content filter to support conditional matching without inherit_from

- Enable conditional matching when identifier_words + additional_block_words are present
- Previously required inherit_from, but EU AI Act templates are self-contained
- Fixes Greptile feedback: conditional matching now works as documented

* Add pure conditional matching test for French guardrail

- Test identifier + block word combinations not in always_block_keywords
- Verifies conditional matching works independently
- Addresses Greptile feedback about test coverage gap

* Fix exception word bypass risk in French template

- Replace short words (film, jeu, juste) with context-specific phrases
- Prevents substring matching bypasses (e.g., enjeu matching jeu)
- Add tests for bypass prevention and legitimate game context
- Addresses Greptile security feedback

* Make conditional match assertion more robust

- Use getattr to safely access exception detail field
- Check if detail is dict before calling .get()
- Addresses Greptile feedback about brittle string assertion
2026-02-17 16:07:54 -08:00
..
conftest.py [Feat] Guardrails - add logging for important status fields (#15090) 2025-09-30 18:38:07 -07:00
test_bedrock_guardrails.py fix: test_convert_to_bedrock_format_post_call_streaming_hook 2026-01-20 18:27:36 +05:30
test_custom_guardrail.py [Feat] Presidio Improvements - Allow adding presidio api base on UI, Test presidio on Test Key, fixes for running presidio hook (#10840) 2025-05-14 17:41:33 -07:00
test_dynamoai_guardrails.py [Fix] CI/CD #1 - mypy | check_code_and_doc_quality | guardrails_testing (#18195) 2025-12-18 06:31:01 -08:00
test_eu_ai_act_article5.py feat: EU AI Act Article 5 policy template for prohibited practices detection (#21342) 2026-02-16 15:33:07 -08:00
test_eu_ai_act_french_3_scenarios.py Add French language support for EU AI Act Article 5 guardrail (#21427) 2026-02-17 16:07:54 -08:00
test_guardrail_load_balancing.py [Feat] Guardrails Load Balancing - Allow Platform admins to load balance between guardrails (#18181) 2025-12-19 00:08:03 +05:30
test_guardrails_config.py fix: use fastuuid helper (#14903) 2025-09-25 15:47:01 -07:00
test_javelin_guardrails.py fix: reject status code and tests. 2025-09-28 16:56:28 +05:30
test_lakera_v2.py [Release Day] - Fixed CI/CD issues & changed processes (#19902) 2026-01-28 17:57:24 -08:00
test_lasso_guardrails.py [Feat] New Guardrail - Dynamo AI Guardrail (#15920) 2025-10-24 17:11:04 -07:00
test_presidio_pii.py Fix Presidio guardrail test TypeError and license base64 decoding error (#17538) 2025-12-05 08:45:02 -08:00
test_tracing_guardrails.py fix: test_standard_logging_payload_includes_guardrail_information 2026-01-20 18:21:32 +05:30
test_zscaler_ai_guard.py fix(guardrails): Zscaler AI Guard bug fixes and support during post-call (#20801) 2026-02-13 11:28:14 -08:00