litellm/tests/test_litellm
yuneng-jiang 40edb16fb9 Fix test isolation: run eager tiktoken tests in subprocesses
The eager tiktoken tests were clearing all litellm modules from
sys.modules and re-importing, creating new module objects with different
class identities. This broke unittest.mock.patch for all subsequent
tests on the same xdist worker. Running these tests in subprocesses
provides perfect isolation.

Fixes: test_metadata_passed_to_custom_callback_codex_models,
test_oidc_github_success, test_oidc_google_cached,
test_oidc_google_failure,
test_encrypted_content_affinity_bypasses_rpm_limits, and 5 others.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 17:32:31 -07:00
..
a2a_protocol
anthropic_interface/exceptions
caching Reapply "feat: add model_cost aliases expansion support" 2026-03-12 13:36:57 -03:00
completion_extras fix(ci): skip tests requiring openai>=2.x and MCP M2M oauth2_flow 2026-03-13 01:09:56 +00:00
containers
enterprise Revert "[Fix] Populate _hidden_params.model_id in batch terminal-state shortcut path" 2026-03-13 12:21:39 -07:00
expected_responses_api_request
experimental_mcp_client feat(mcp): add token authentication support for MCP servers 2026-03-10 18:33:08 +02:00
google_genai Revert "QA: improve gpt-5.4 code/bugs" 2026-03-13 10:15:47 -07:00
images
integrations fix(test): update test_responses_background_cost assertions for pagination and stale cleanup 2026-03-13 16:18:15 -07:00
interactions
litellm_core_utils fix: Fixes https://github.com/BerriAI/litellm/issues/23185 (#23647) 2026-03-14 12:30:52 -07:00
llms feat: add sagemaker_nova provider for Amazon Nova models on SageMaker (#21542) 2026-03-14 15:10:01 -07:00
ocr
passthrough fix(passthrough): propagate Azure 429/5xx errors in async streaming instead of silent HTTP 200 (#22913) 2026-03-05 10:12:43 -08:00
proxy Merge pull request #23606 from BerriAI/litellm_tag_spend_fix 2026-03-14 11:12:23 -07:00
responses Fix test isolation: clear litellm.callbacks and model_fallbacks between tests 2026-03-15 16:43:15 -07:00
router_strategy [Feat] - Ishaan main merge branch (#23596) 2026-03-14 09:40:00 -07:00
router_utils Fix flaky encrypted_content_affinity tests: mock at handler level 2026-03-15 15:39:25 -07:00
secret_managers
test_router
types merge: resolve conflicts between main and litellm_oss_staging_03_11_2026 2026-03-12 09:38:31 -03:00
vector_stores
__init__.py
conftest.py Fix test isolation: clear litellm.callbacks and model_fallbacks between tests 2026-03-15 16:43:15 -07:00
log.txt
readme.md
test_a2a_registry_lookup.py
test_acompletion_session_reuse_e2e.py
test_add_deployment_no_master_key.py
test_aembedding_session_reuse_e2e.py
test_anthropic_beta_headers_filtering.py
test_anthropic_skills_transformation.py Clean up skills test: remove duplicate imports, parameterize mock HTTP method (#23360) 2026-03-11 22:10:27 +05:30
test_azure_video_router.py
test_chat_ui_responses_session.py [Docs] Fix "Page Not Found" link for Anthropic endpoint (#23349) 2026-03-11 20:17:41 +05:30
test_claude_haiku_4_5_config.py
test_claude_opus_4_6_config.py Fix apac.anthropic.claude-sonnet-4-6 -> au.anthropic.claude-sonnet-4-6 (#21466) 2026-03-05 15:54:26 -08:00
test_constants.py
test_container_router.py
test_cost_calculation_log_level.py
test_cost_calculator.py fix: Fixes https://github.com/BerriAI/litellm/issues/23185 (#23647) 2026-03-14 12:30:52 -07:00
test_count_tokens_public_api.py merge: resolve conflicts between main and litellm_oss_staging_03_11_2026 2026-03-12 09:38:31 -03:00
test_deepseek_model_metadata.py
test_eager_tiktoken_load.py Fix test isolation: run eager tiktoken tests in subprocesses 2026-03-15 17:32:31 -07:00
test_exception_exports.py
test_exception_header_preservation.py
test_exception_mapping_request_attribute.py
test_filter_out_litellm_params.py
test_get_blog_posts.py
test_gpt_image_cost_calculator.py
test_groq_streaming_encoding.py
test_lazy_imports.py
test_litellm_params_reserved_keys.py fix(snowflake): transform tool_choice string to object format (#23268) 2026-03-11 01:41:24 +05:30
test_logging.py
test_lowest_latency_zero_tokens.py
test_main.py Reserve reasoning for responses via chat completion 2026-03-13 23:59:57 +05:30
test_model_cost_aliases.py [Feat] - Ishaan main merge branch (#23596) 2026-03-14 09:40:00 -07:00
test_model_param_helper.py
test_model_response_normalization.py
test_nested_drop_params.py
test_project_tags_pydantic.py
test_redis.py
test_register_model_custom_pricing.py
test_responses_api_bridge_non_stream.py
test_responses_id_security.py Fix responses ID security test for new request_cache parameter 2026-03-04 11:29:51 -03:00
test_router_google_genai.py
test_router_model_cost_isolation.py
test_router_per_deployment_num_retries.py
test_router_redis_init.py
test_router_retry_non_retryable_errors.py Reapply "feat: add model_cost aliases expansion support" 2026-03-12 13:36:57 -03:00
test_router_silent_experiment.py fix: req changes from greptile 2026-03-10 13:03:29 +05:30
test_router.py fix: Fixes https://github.com/BerriAI/litellm/issues/23185 (#23647) 2026-03-14 12:30:52 -07:00
test_service_logger.py
test_shared_session_integration.py
test_ssl_verify_unit.py
test_streaming_connection_cleanup.py
test_system_message_format_bug.py
test_utils.py Merge branch 'main' into litellm_oss_staging_03_11_2026 2026-03-12 10:43:08 -03:00
test_uuid_helper.py
test_video_generation.py
test_xai_responses_auto_routing.py

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