litellm/tests/test_litellm
Cesar Garcia c19c97591e
fix: align max_tokens with max_output_tokens for consistency (#18820)
* fix: align max_tokens with max_output_tokens for consistency

Fixed inconsistent max_tokens definitions in model_prices_and_context_window.json.
According to LiteLLM convention, max_tokens should equal max_output_tokens when available.

Models fixed:
- deepseek-chat: 131072 → 8192 (now equals max_output_tokens)
- dashscope/qwen-flash: 1000000 → 32768 (now equals max_output_tokens)
- databricks/databricks-gemma-3-12b: 128000 → 32000 (now equals max_output_tokens)

This ensures consistency across all providers where max_tokens represents
the maximum number of tokens that can be generated in the output.

* fix: align max_tokens with max_output_tokens for 244 models

- Fix 244 models where max_tokens != max_output_tokens
- Add test to validate max_tokens consistency and prevent regressions

According to model_prices_and_context_window.json spec:
- max_tokens is a LEGACY parameter
- Should always equal max_output_tokens when both are present

This ensures consistency across all model definitions.
2026-01-10 00:37:45 +05:30
..
a2a_protocol
caching
completion_extras Add annotations to completions responses API bridge 2026-01-07 14:30:31 +05:30
containers test_encode_decode_helpers_roundtrip_in_cache_context 2026-01-07 18:23:17 +05:30
enterprise
experimental_mcp_client
google_genai fix: auth header for custom api base in generate Content request 2026-01-05 12:25:13 +05:30
images
integrations Merge branch 'main' into litellm_staging_01_06_2026 2026-01-09 17:06:17 +05:30
interactions fix: test_create_simple_string_input 2026-01-05 17:15:12 +05:30
litellm_core_utils Merge branch 'main' into litellm_staging_01_06_2026 2026-01-09 17:06:17 +05:30
llms Merge pull request #18859 from BerriAI/litellm_azure_image_gen_fix 2026-01-09 23:09:27 +05:30
passthrough
proxy fix(security): prevent expired key plaintext leak in error response (#18860) 2026-01-09 22:27:39 +05:30
responses Merge branch 'main' into litellm_staging_01_06_2026 2026-01-09 17:06:17 +05:30
router_strategy feat(tag-routing): support toggling tag matching between ANY and ALL (#18776) 2026-01-08 23:39:03 +05:30
router_utils
secret_managers
types fix: extend case normalization to ALL guardrail types (not just tool_permission) (#18664) 2026-01-05 11:59:00 -08:00
vector_stores
__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 [Feat] AI Gateway - Add support for Platform Fee / Margins (#18427) 2025-12-25 11:07:27 +05:30
test_eager_tiktoken_load.py Add LITELLM_DISABLE_LAZY_LOADING env var to fix VCR cassette creation issue (#18725) 2026-01-06 14:49:11 -08:00
test_exception_mapping_request_attribute.py
test_filter_out_litellm_params.py
test_gpt_image_cost_calculator.py fix(cost_calculator): correct gpt-image-1 cost calculation using token-based pricing (#17906) 2026-01-02 23:08:52 +05:30
test_groq_streaming_encoding.py
test_lazy_imports.py Fix: test_token_counter_lazy_imports 2026-01-08 16:44:35 +05:30
test_logging.py
test_lowest_latency_zero_tokens.py
test_main.py
test_nested_drop_params.py
test_redis.py
test_responses_id_security.py fix: litellm/tests/test_litellm/test_responses_id_security.py 2026-01-08 17:01:44 +05:30
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_custom.py fix(proxy): use async anthropic client to prevent event loop blocking (#18435) 2026-01-08 23:26:46 +05:30
test_utils.py fix: align max_tokens with max_output_tokens for consistency (#18820) 2026-01-10 00:37:45 +05:30
test_uuid_helper.py
test_video_generation.py fix: test_video_status_basic 2026-01-08 17:30:58 +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