litellm/tests/test_litellm
Lucas Rothman b981fddfaa fix(gemini): properly catch context window exceeded errors
Fixes #18282

This PR fixes two issues with Gemini context window error handling:

1. **Pattern matching for Gemini 2.0 Flash**: The previous pattern
   'input token count exceeds the maximum number of tokens allowed'
   doesn't match Gemini 2.0 Flash errors which include dynamic token
   counts like '(2800010)' in the message. Split into shorter patterns
   that work with both formats.

2. **Add context window check to Gemini block**: The
   is_error_str_context_window_exceeded() check was only called for
   OpenAI-compatible providers, not for Gemini/Vertex AI. Added the
   check to the Gemini-specific error handling block.

Test cases added for both Gemini 2.0 Flash and 2.5/3 error formats.
2025-12-19 23:20:04 -08:00
..
a2a_protocol [Feat] A2A Gateway - allow adding Azure Foundry Agents on UI (#17909) 2025-12-12 16:38:04 -08:00
caching
completion_extras Merge pull request #18226 from Chesars/fix/responses-api-tool-calls-transformation 2025-12-19 13:41:55 +05:30
containers [Fix] Containers API - Allow using LIST, Create Containers using custom-llm-provider (#17740) 2025-12-09 17:00:35 -08:00
enterprise Tests 2025-12-17 16:07:01 -08:00
experimental_mcp_client
google_genai Rename: gemini-3-flash-preview 2025-12-17 21:48:15 +05:30
images fix(image_edit): add drop_params support and fix Vertex AI config (#18077) 2025-12-17 11:28:34 +05:30
integrations Revert "ensure datadog llm obs ignores dd base url override" 2025-12-20 08:56:49 +09:00
interactions [Fix] CI/CD - litellm_mapped_tests_llms | litellm_mapped_tests_core | caching_unit_tests (#18197) 2025-12-18 08:49:23 -08:00
litellm_core_utils fix(gemini): properly catch context window exceeded errors 2025-12-19 23:20:04 -08:00
llms Merge pull request #18254 from BerriAI/litellm_add_stability_model_edit_1 2025-12-20 00:23:15 +05:30
passthrough
proxy Merge pull request #18167 from BerriAI/litellm_vector_store_config 2025-12-19 11:39:17 -08:00
responses [Fix] Security - Remove example API keys with high entropy (#18255) 2025-12-19 10:09:50 -08:00
router_strategy
router_utils [Feat] New Logging Integration - Azure Sentinel Logger (#18146) 2025-12-18 02:04:49 +05:30
secret_managers
types
vector_stores Add vector store support for ragflow 2025-12-03 15:29:47 +05:30
__init__.py
conftest.py
log.txt
readme.md
test_acompletion_session_reuse_e2e.py
test_add_deployment_no_master_key.py
test_aembedding_session_reuse_e2e.py
test_azure_video_router.py
test_claude_haiku_4_5_config.py
test_constants.py
test_container_router.py
test_cost_calculation_log_level.py
test_cost_calculator.py [Fix] Security - Remove example API keys with high entropy (#18255) 2025-12-19 10:09:50 -08:00
test_exception_mapping_request_attribute.py
test_filter_out_litellm_params.py
test_groq_streaming_encoding.py
test_lazy_imports.py feat: lazy load GuardrailItem following existing patterns (#18072) 2025-12-16 11:48:36 -08:00
test_logging.py
test_lowest_latency_zero_tokens.py
test_main.py fix(ocr): add missing ocr and aocr to CallTypes enum (#17435) 2025-12-03 21:28:13 -08:00
test_nested_drop_params.py feat: Replace jsonpath-ng with custom minimal parser for additional_drop_params 2025-12-09 17:30:30 +05:30
test_redis.py
test_responses_id_security.py
test_router_google_genai.py
test_router.py [Feat] Guardrails Load Balancing - Allow Platform admins to load balance between guardrails (#18181) 2025-12-19 00:08:03 +05:30
test_shared_session_integration.py
test_system_message_format_bug.py
test_utils.py Merge remote-tracking branch 'origin' into litellm_email_budget_alerts_2 2025-12-17 11:37:49 -08:00
test_uuid_helper.py
test_video_generation.py fix: respect videos content db creds 2025-12-10 23:00:01 +05:30

Testing for litellm/

This directory 1:1 maps the the litellm/ directory, and can only contain mocked tests.

The point of this is to:

  1. Increase test coverage of litellm/
  2. Make it easy for contributors to add tests for the litellm/ package and easily run tests without needing LLM API keys.

File name conventions

  • litellm/proxy/test_caching_routes.py maps to litellm/proxy/caching_routes.py
  • test_<filename>.py maps to litellm/<filename>.py