litellm/tests
Cole McIntosh f47254ecab
Fix: Preserve full path structure for Gemini custom api_base (#12215)
* Fix: Preserve full path structure for Gemini custom api_base (Fixes #11959)

This fix addresses an issue where custom api_base URLs (like Cloudflare AI Gateway)
were not working correctly with Google AI Studio (Gemini) models.

The problem was that the _check_custom_proxy method was simply appending the endpoint
to the custom base URL, resulting in malformed URLs like:
https://gateway.ai.cloudflare.com/v1/my-id/my-gateway/google-ai-studio:generateContent

Instead of the correct format:
https://gateway.ai.cloudflare.com/v1/my-id/my-gateway/google-ai-studio/v1beta/models/gemini-2.5-flash:generateContent

Changes:
- Modified _check_custom_proxy to preserve the full path structure from the original URL
- Extracts the path from the original Google AI URL and appends it to the custom base
- Maintains backward compatibility for Vertex AI models (unchanged behavior)
- Added comprehensive tests to verify the fix works correctly

Fixes #11959

* Fix: Update test to match actual Gemini URL format and fix double colon issue

- Fixed test expectation to include the full model path with 'gemini/' prefix
- Fixed double colon issue in Vertex AI URL construction when using custom api_base
- All tests now pass successfully
2025-07-01 17:56:22 -07:00
..
basic_proxy_startup_tests
batches_tests Store batch output file id in DB + Store batch file status in DB + (experimental) BATCH API COST TRACKING 2025-06-25 22:41:22 -07:00
code_coverage_tests [️ Python SDK import] - reduce python sdk import time by .3s (#12140) 2025-06-28 14:57:10 -07:00
documentation_tests
enterprise Store batch output file id in DB + Store batch file status in DB + (experimental) BATCH API COST TRACKING 2025-06-25 22:41:22 -07:00
guardrails_tests Adding Feature: Palo Alto Networks Prisma AIRS Guardrail (#12116) 2025-06-27 15:17:36 -07:00
image_gen_tests [Fix]: Add cost tracking for image edits endpoint [OpenAI, Azure] (#11186) 2025-05-27 17:52:15 -07:00
litellm_utils_tests fix: support Cursor IDE tool_choice format {"type": "auto"} (#12168) 2025-06-30 12:39:58 -07:00
litellm-proxy-extras Prisma Migrate - support setting custom migration dir (#10336) 2025-04-26 12:05:06 -07:00
llm_responses_api_testing [Feat] Add Azure Codex Models on LiteLLM + new /v1 preview Azure OpenAI API (#11934) 2025-06-20 18:08:44 -07:00
llm_translation Non-anthropic (gemini/openai/etc.) models token usage returned when calling /v1/messages (#12184) 2025-07-01 17:41:48 -07:00
load_tests test: test_embedding_performance 2025-05-14 21:31:07 -07:00
local_testing test whitelisted models 2025-06-28 14:46:16 -07:00
logging_callback_tests [Feat] Add new AWS SQS Logging Integration (#12176) 2025-06-30 14:02:49 -07:00
mcp_tests added error handling for MCP tools not found 2025-07-01 17:12:01 -07:00
multi_instance_e2e_tests (e2e testing) - add tests for using litellm /team/ updates in multi-instance deployments with Redis (#8440) 2025-02-10 19:33:27 -08:00
old_proxy_tests/tests test: update tests to new deployment model (#10142) 2025-04-18 14:22:12 -07:00
openai_endpoints_tests Revert "test_anthropic_with_responses_api" 2025-07-01 17:43:21 -07:00
otel_tests set flaky tests as flaky 2025-06-14 13:51:52 -07:00
pass_through_tests add jest.retryTimes(3); 2025-06-27 21:31:51 -07:00
pass_through_unit_tests test fix - test_anthropic_messages_passthrough.py 2025-06-30 21:56:31 -07:00
proxy_admin_ui_tests add warning message for non premium users 2025-07-01 16:27:31 -07:00
proxy_security_tests (Security fix) - remove code block that inserts master key hash into DB (#8268) 2025-02-05 17:25:42 -08:00
proxy_unit_tests [️ Python SDK import] - reduce python sdk import time by .3s (#12140) 2025-06-28 14:57:10 -07:00
router_unit_tests test_mock_router_testing_params_str_to_bool_conversion 2025-06-27 18:07:33 -07:00
scim_tests [Feat SSO] Add LiteLLM SCIM Integration for Team and User management (#10072) 2025-04-16 19:21:47 -07:00
spend_tracking_tests test_long_term_spend_accuracy_with_bursts 2025-03-31 21:09:29 -07:00
store_model_in_db_tests fix test MCP 2025-06-20 12:09:45 -07:00
test_litellm Fix: Preserve full path structure for Gemini custom api_base (#12215) 2025-07-01 17:56:22 -07:00
unified_google_tests [Feat] gemini-cli integration - Add Logging + Cost tracking for stream + non-stream Vertex / Google AI Studio routes (#12058) 2025-06-25 22:26:20 -07:00
vector_store_tests [Feat] OpenAI/Azure OpenAI - Add support for creating vector stores on LiteLLM (#12021) 2025-06-24 20:46:48 -07:00
windows_tests [Bug Fix] UnicodeDecodeError: 'charmap' on Windows during litellm import (#10542) 2025-05-03 21:31:05 -07:00
__init__.py Litellm fix GitHub action testing (#11163) 2025-05-26 14:41:42 -07:00
gettysburg.wav
large_text.py
openai_batch_completions.jsonl
README.MD add bedrock llama vision support + cohere / infinity rerank - 'return_documents' support (#8684) 2025-02-20 21:23:54 -08:00
test_budget_management.py Update enduser spend and budget reset date based on budget duration (#8460) 2025-06-08 08:39:14 -07:00
test_callbacks_on_proxy.py
test_config.py
test_debug_warning.py
test_end_users.py test: run test earlier to catch error 2025-03-27 23:08:52 -07:00
test_entrypoint.py
test_fallbacks.py Ollama Chat - parse tool calls on streaming (#11171) 2025-05-27 16:14:49 -07:00
test_health.py
test_keys.py test: temporarily skip test due to change testing model change - need to update test for new model 2025-05-09 09:02:08 -07:00
test_logging.conf
test_models.py Add model access groups on UI (#11719) 2025-06-13 21:20:25 -07:00
test_openai_endpoints.py test string checked for model access control 2025-03-10 20:04:18 -07:00
test_organizations.py UI - fix adding vertex models with reusable credentials + fix pagination on keys table + fix showing org budgets on table (#10528) 2025-05-03 08:16:53 -07:00
test_passthrough_endpoints.py
test_ratelimit.py (Refactor / QA) - Use LoggingCallbackManager to append callbacks and ensure no duplicate callbacks are added (#8112) 2025-01-30 19:35:50 -08:00
test_spend_logs.py (feat) - track org_id in SpendLogs (#8253) 2025-02-04 21:08:05 -08:00
test_team_logging.py
test_team_members.py test: add more unit testing for team member endpoints (#8170) 2025-02-01 11:23:00 -08:00
test_team.py build: publish new litellm-proxy-extras file 2025-05-27 17:44:23 -07:00
test_users.py test: fix imports 2025-05-26 22:06:53 -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/litellm

This folder can only run mock tests.