litellm/tests/test_litellm
michelligabriele 1afe3032fd
fix(otel): auto-infer otlp_http exporter when endpoint is configured (#20438)
When OpenTelemetry is configured via the UI, only OTEL_ENDPOINT and
OTEL_HEADERS are set, but OTEL_EXPORTER is not specified. This caused
the exporter to default to "console", meaning traces were printed to
stdout instead of being sent to the configured endpoint.

This fix adds logic in OpenTelemetryConfig.__post_init__ to automatically
infer "otlp_http" as the exporter when an endpoint is specified but the
exporter is still the default "console".

Fixes issue reported by Elastic team where traces weren't being sent
to their OTEL endpoint when configured through the LiteLLM UI.
2026-02-10 09:33:16 -08:00
..
a2a_protocol [Fix] A2a Agent Gateway Fixes - A2A agents deployed with localhost/internal URLs in their agent cards (e.g., http://0.0.0.0:8001/) (#20604) 2026-02-06 15:02:34 -08:00
anthropic_interface/exceptions
caching
completion_extras fix(proxy): forward extra_headers in chat 2026-02-04 08:56:50 +05:30
containers fix(tests): Fix flaky container and scientific notation tests (#20650) 2026-02-07 09:57:08 -08:00
enterprise fix(tests): Fix sendgrid email tests to properly mock httpx client (#20628) 2026-02-07 09:19:02 -08:00
experimental_mcp_client
google_genai litellm_fix_mapped_tests_core: fix test isolation and mock injection issues (#20209) 2026-01-31 17:53:54 -08:00
images
integrations fix(otel): auto-infer otlp_http exporter when endpoint is configured (#20438) 2026-02-10 09:33:16 -08:00
interactions
litellm_core_utils fix(bedrock): handle concatenated JSON in tool call arguments (#20742) 2026-02-10 16:00:36 +05:30
llms Merge pull request #20845 from BerriAI/litellm_gemini_image_handling 2026-02-10 18:24:09 +05:30
passthrough
proxy Merge pull request #20783 from BerriAI/litellm_oss_staging_02_09_2026 2026-02-10 18:02:14 +05:30
responses Merge pull request #20783 from BerriAI/litellm_oss_staging_02_09_2026 2026-02-10 18:02:14 +05:30
router_strategy
router_utils
secret_managers
test_router feat: enforce model-level TPM/RPM limits (enforce_model_rate_limits) … (#19230) 2026-02-02 18:18:46 +05:30
types
vector_stores litellm_fix_mapped_tests_core: fix test isolation and mock injection issues (#20209) 2026-01-31 17:53:54 -08:00
__init__.py
conftest.py
log.txt
readme.md
test_a2a_registry_lookup.py [Feat] Use A2A registered agents with /chat/completions (#20362) 2026-02-03 15:25:38 -08:00
test_acompletion_session_reuse_e2e.py
test_add_deployment_no_master_key.py
test_aembedding_session_reuse_e2e.py
test_anthropic_beta_headers_manager.py feat: Add Unsupported Anthropic beta headers for each provider json 2026-02-06 17:44:09 +05:30
test_azure_video_router.py
test_claude_haiku_4_5_config.py
test_claude_opus_4_6_config.py Fix merge conflicts 2026-02-06 18:29:14 +05:30
test_constants.py
test_container_router.py
test_cost_calculation_log_level.py
test_cost_calculator.py
test_eager_tiktoken_load.py
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 fix:Parse embedded JSON in the message field of logs (#20366) 2026-02-10 16:13:33 +05:30
test_lowest_latency_zero_tokens.py
test_main.py litellm_fix_mapped_tests_core: fix test isolation and mock injection issues (#20209) 2026-01-31 17:53:54 -08:00
test_model_param_helper.py perf: cache _get_relevant_args_to_use_for_logging() at module level (#20077) 2026-02-02 10:54:49 -08:00
test_model_response_normalization.py
test_nested_drop_params.py
test_redis.py
test_responses_api_bridge_non_stream.py
test_responses_id_security.py
test_router_google_genai.py
test_router_model_cost_isolation.py [Fix] prevent shared backend model key from being polluted by per-deployment custom pricing (#20679) 2026-02-09 19:38:44 -08:00
test_router_per_deployment_num_retries.py
test_router_redis_init.py fix: handle deprecated 'redis_db' arg to prevent crash (#19808) 2026-02-02 18:18:05 +05:30
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 feat: add support for anthropic_messages call type in prompt caching (#19233) 2026-02-07 22:51:06 -08:00
test_shared_session_integration.py
test_ssl_verify_unit.py
test_system_message_format_bug.py
test_utils.py perf: replace enum construction with frozenset lookup in _is_streaming_request (#20302) 2026-02-07 10:50:57 -08:00
test_uuid_helper.py
test_video_generation.py Fix video list pagination cursors not encoded with provider metadata 2026-02-08 16:24:14 +02:00
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