litellm/tests/test_litellm
shin-bot-litellm 37a45a3295
litellm_fix_mapped_tests_core: clear client cache and fix isinstance checks (#20196)
## Problem
Tests using mocked HTTP clients were hitting real APIs because:
1. HTTP client cache was returning previously cached real clients
2. isinstance checks failed due to module identity issues from sys.path

### Tests affected:
- test_send_email_missing_api_key
- test_send_email_multiple_recipients (resend & sendgrid)
- test_search_uses_registry_credentials
- test_vector_store_create_with_simple_provider_name
- test_vector_store_create_with_provider_api_type
- test_vector_store_create_with_ragflow_provider
- test_image_edit_merges_headers_and_extra_headers
- test_retrieve_container_basic (container API tests)

## Solution
1. Add clear_client_cache fixture (autouse=True) to clear
   litellm.in_memory_llm_clients_cache before each test
2. Fix isinstance checks to use type name comparison
   (avoids module identity issues from sys.path.insert)

## Why not disable_aiohttp_transport
The default transport is aiohttp, so tests should work with it.
Clearing the cache ensures mocks are used instead of cached real clients.

## Regression
PR #19829 (commit f95572e3ed) added @respx.mock but cached clients
from earlier tests were being reused, bypassing the mocks.

Co-authored-by: shin-bot-litellm <shin-bot-litellm@users.noreply.github.com>
2026-01-31 15:42:17 -08:00
..
a2a_protocol [Fix] A2a Gateway - Allow supporting old A2a card formats (#19949) 2026-01-28 15:02:08 -08:00
anthropic_interface/exceptions
caching
completion_extras
containers litellm_fix_mapped_tests_core: clear client cache and fix isinstance checks (#20196) 2026-01-31 15:42:17 -08:00
enterprise litellm_fix_mapped_tests_core: clear client cache and fix isinstance checks (#20196) 2026-01-31 15:42:17 -08:00
experimental_mcp_client
google_genai
images
integrations fix(proxy): resolve high CPU when router_settings in DB by avoiding REGISTRY.collect() in PrometheusServicesLogger (#20087) 2026-01-30 14:01:45 -08:00
interactions
litellm_core_utils fix(test): correct prompt_tokens in test_string_cost_values (#20185) 2026-01-31 14:23:10 -08:00
llms Merge pull request #20086 from BerriAI/litellm_watsonx_inte_fix 2026-01-31 09:13:42 -08:00
passthrough
proxy test_budget_reset_and_expires_at_first_of_month 2026-01-31 12:36:53 -08:00
responses
router_strategy
router_utils
secret_managers
types
vector_stores litellm_fix_mapped_tests_core: clear client cache and fix isinstance checks (#20196) 2026-01-31 15:42:17 -08:00
__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 Merge branch 'main' into litellm_oss_staging_01_28_2026 2026-01-29 17:39:42 +05:30
test_eager_tiktoken_load.py fix(main): use local tiktoken cache in lazy loading (#19774) 2026-01-27 18:16:58 -08:00
test_exception_header_preservation.py
test_exception_mapping_request_attribute.py
test_filter_out_litellm_params.py
test_gpt_image_cost_calculator.py
test_groq_streaming_encoding.py
test_lazy_imports.py
test_logging.py
test_lowest_latency_zero_tokens.py
test_main.py litellm_fix_mapped_tests_core: clear client cache and fix isinstance checks (#20196) 2026-01-31 15:42:17 -08:00
test_model_response_normalization.py
test_nested_drop_params.py
test_redis.py
test_responses_api_bridge_non_stream.py fix: Pydantic will fail to parse it because cached_tokens is required but not provided 2026-01-28 11:51:26 +05:30
test_responses_id_security.py
test_router_google_genai.py
test_router_per_deployment_num_retries.py
test_router_silent_experiment.py litellm_fix(test): fix router silent experiment tests to properly mock async functions (#20140) 2026-01-31 07:39:05 -08:00
test_router.py
test_shared_session_integration.py
test_ssl_verify_unit.py
test_system_message_format_bug.py
test_utils.py litellm_fix(test): allow comment field in schema and exclude robotics models from tpm check (#20139) 2026-01-31 07:32:33 -08:00
test_uuid_helper.py
test_video_generation.py
test_xai_responses_auto_routing.py Add routing of xai chat completions to responses when web search options is present 2026-01-30 14:15:35 +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