litellm/tests
Christian Reynoso Hunter e68cfaae0c
fix(cache): Prevent "multiple values" error in get_cache_key (#20261)
## Problem

When `get_cache_key(**kwargs)` is called with kwargs that already
contains `preset_cache_key` (which can happen when cache key is
recomputed in certain code paths), the call to
`_set_preset_cache_key_in_kwargs()` fails with:

```
TypeError: _set_preset_cache_key_in_kwargs() got multiple values
for keyword argument 'preset_cache_key'
```

This is because `preset_cache_key` is passed both explicitly:
```python
self._set_preset_cache_key_in_kwargs(
    preset_cache_key=hashed_cache_key, **kwargs
)
```
And implicitly via `**kwargs` unpacking when `kwargs["preset_cache_key"]`
exists.

## Solution

Filter out `preset_cache_key` from kwargs before passing to
`_set_preset_cache_key_in_kwargs()`:

```python
kwargs_for_preset = {k: v for k, v in kwargs.items() if k != "preset_cache_key"}
self._set_preset_cache_key_in_kwargs(
    preset_cache_key=hashed_cache_key, **kwargs_for_preset
)
```

## Testing

Added unit tests covering:
- kwargs with existing preset_cache_key (the bug case)
- kwargs without preset_cache_key (regression test)
- Verification that preset_cache_key is correctly set in litellm_params
2026-04-04 18:40:56 -07:00
..
agent_tests refactor: make unit test 2026-03-28 21:44:46 -07:00
audio_tests test: cleanup test impacted by deployment name change 2026-03-30 18:07:50 -07:00
basic_proxy_startup_tests CircleCI test stability (#23055) 2026-03-07 15:19:39 -08:00
batches_tests test fix us.anthropic.claude-haiku-4-5-20251001-v1:0 (#24931) 2026-04-01 11:01:03 -07:00
benchmarks Add CodSpeed performance benchmarks (#23676) 2026-03-14 18:44:36 -07:00
code_coverage_tests [Fix] Remove unused aioboto3 dependency and botocore conflict workarounds 2026-04-01 14:25:44 -07:00
documentation_tests [Fix] Scope documentation workflow to match CircleCI and add missing router settings 2026-03-28 11:23:53 -07:00
enterprise test fix 2026-03-30 18:08:57 -07:00
guardrails_tests Add Akto Guardrails to LiteLLM (#23250) 2026-03-17 14:38:04 -07:00
image_gen_tests fix: cleanup tests 2026-03-30 16:24:35 -07:00
litellm Litellm ishaan april2 (#25113) 2026-04-04 12:31:49 -07:00
litellm-proxy-extras [Infra] Mirror litellm_table_patch source changes (no binaries) 2026-03-27 16:45:12 -07:00
litellm_core_utils Fix: empty assistant message for converse API 2026-02-04 09:50:58 +05:30
litellm_utils_tests Litellm ishaan april4 2 (#25150) 2026-04-04 23:09:42 +00:00
llm_responses_api_testing test: remove bad e2e tests - e2e failing due to low rate limits on ci/cd 2026-03-30 19:18:10 -07:00
llm_translation [Infra] Merge internal dev branch with main (#25036) 2026-04-02 16:38:01 -07:00
load_tests test: update to new vertex ai keys 2026-03-28 20:19:05 -07:00
local_testing fix(cache): Prevent "multiple values" error in get_cache_key (#20261) 2026-04-04 18:40:56 -07:00
logging_callback_tests [Test Fix] fix gov pricing tests (#25022) 2026-04-02 15:55:55 -07:00
mcp_tests [Infra] Merging RC Branch with Main (#23786) 2026-03-16 15:32:20 -07:00
multi_instance_e2e_tests
ocr_tests test: update to new vertex ai keys 2026-03-28 20:19:05 -07:00
old_proxy_tests/tests fix: cleanup tests 2026-03-30 16:24:35 -07:00
openai_endpoints_tests Litellm fix update bedrock models (#24947) 2026-04-01 19:22:54 -07:00
otel_tests fix(tests): increase MAX_CALLS and reduce sleep in flaky e2e budget test 2026-03-13 00:04:31 -07:00
pass_through_tests Litellm fix update bedrock models (#24947) 2026-04-01 19:22:54 -07:00
pass_through_unit_tests Litellm fix update bedrock models (#24947) 2026-04-01 19:22:54 -07:00
proxy_admin_ui_tests [Fix] Remove neon CLI dependency and pin all JS dependencies 2026-04-01 16:15:32 -07:00
proxy_e2e_anthropic_messages_tests test fix us.anthropic.claude-haiku-4-5-20251001-v1:0 (#24931) 2026-04-01 11:01:03 -07:00
proxy_e2e_azure_batches_tests Increase file deletion retry budget to 50s for batch_processed race 2026-03-15 15:39:35 -07:00
proxy_security_tests
proxy_unit_tests cherry-pick: tag query fix + MCP metadata support (#25145) 2026-04-04 16:44:02 -07:00
router_unit_tests fix(router): address remaining Greptile review comments 2026-03-27 20:11:28 +05:30
scim_tests
search_tests Merge remote main, resolve conflict keeping new unit tests 2026-03-09 15:20:20 -07:00
spend_tracking_tests [Staging] - Ishaan March 17th (#23903) 2026-03-18 15:09:01 -07:00
store_model_in_db_tests test: fix assemblyai passthrough transcription request format 2026-03-30 18:49:04 -07:00
test_litellm fix(s3_v2): use prepared URL for SigV4-signed S3 requests (#25074) 2026-04-04 18:39:37 -07:00
unified_google_tests test: update to new vertex ai keys 2026-03-28 20:19:05 -07:00
vector_store_tests test: update test apis 2026-03-28 18:57:27 -07:00
windows_tests
__init__.py [Feat] Add github co-pilot as a new LLM API provider (#12325) 2025-07-04 13:12:16 -07:00
gettysburg.wav
large_text.py
openai_batch_completions.jsonl
README.MD
test_budget_management.py
test_callbacks_on_proxy.py
test_config.py
test_debug_warning.py
test_default_encoding_non_root.py fix: tiktoken cache nonroot offline (#23498) 2026-03-14 10:48:36 -07:00
test_end_users.py
test_entrypoint.py
test_fallbacks.py Revert "fix: prevent error when max_fallbacks exceeds available models (#20071)" 2026-02-03 15:15:30 +05:30
test_gpt5_azure_temperature_support.py [Fix] Remove deprecated o1-preview from O-series test and deduplicate is_o_series check 2026-03-12 13:22:00 -07:00
test_health.py
test_keys.py Adding retries to flaky tests 2026-01-22 15:21:44 -08:00
test_litellm_proxy_responses_config.py
test_logging.conf
test_models.py test: replace test_add_and_delete_models integration test with mock 2026-03-30 21:30:57 -07:00
test_new_vector_store_endpoints.py fix(ci): stabilize CI tests - conditional import, mock fixes, timing adjustments 2026-03-13 00:01:25 +00:00
test_openai_endpoints.py
test_organizations.py Adding retries to flaky tests 2026-01-22 15:21:44 -08:00
test_otel_thread_leak.py Fix thread leak in OpenTelemetry dynamic header path (#19946) 2026-01-28 10:35:37 -08:00
test_passthrough_endpoints.py
test_presidio_latency.py fix(presidio): reuse HTTP connections to prevent OOMs (#19964) 2026-01-28 16:08:53 -08:00
test_proxy_server_non_root.py deactivating non root tests 2026-01-23 22:55:36 -08:00
test_ratelimit.py
test_resource_cleanup.py
test_service_logger_otel.py fix(langfuse_otel): prevent empty proxy request spans from being sent to Langfuse 2026-01-28 15:35:35 +01:00
test_spend_logs.py
test_team.py [Fix] Fail fast when team member spend not flushed in time 2026-03-13 12:40:17 -07:00
test_team_logging.py test: cleanup dead tests 2026-03-28 20:49:02 -07:00
test_team_members.py
test_users.py Litellm fix update bedrock models (#24947) 2026-04-01 19:22:54 -07:00

In total litellm runs 1000+ tests

[02/20/2025] Update:

To make it easier to contribute and map what behavior is tested,

we've started mapping the litellm directory in tests/test_litellm

This folder can only run mock tests.