mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-15 23:31:29 +00:00
The pin in pyproject.toml was relaxed from ==2.33.0 to >=2.20.0,<3.0.0 in the componentized-proxy PR (#27557), and uv.lock now resolves to openai==2.36.0. OpenAI Python SDK 2.34 introduced Admin API Key support and rewrote credential validation: the client constructor now enforces credentials via an internal _enforce_credentials=True flag and rejects api_key="" with `OpenAIError: Missing credentials. Please pass an api_key, workload_identity, admin_api_key, or set the OPENAI_API_KEY or OPENAI_ADMIN_KEY environment variable.` Two tests built throwaway openai clients with `api_key=""` purely as placeholders to feed into LiteLLM internals (the actual upstream `.create` is patched out with a mock). With 2.34+ the constructor itself raises before any assertion runs: - tests/local_testing/test_exceptions.py::test_exception_with_headers (all 14 parametrizations across openai/azure x sync/async x call_type) - tests/local_testing/test_router.py::test_router_dynamic_cooldown_correct_retry_after_time Pass api_key="sk-test" — the value never matters because the upstream call is mocked. A third test, test_completion_perplexity_exception_on_openai_client, asserts on the wording of the upstream auth error after deleting the env vars. The SDK changed both the exception class (raised at construction time, wrapped by LiteLLM as InternalServerError instead of re-raising openai.AuthenticationError) and the message text. Rewrite to catch any exception and assert on the env-var name (PERPLEXITY_API_KEY), which is the stable substring of both the old and new error messages and is what users actually look for. Also wrap the env-var restore in try/finally so the originals are always restored on any failure path. |
||
|---|---|---|
| .. | ||
| agent_tests | ||
| audio_tests | ||
| basic_proxy_startup_tests | ||
| batches_tests | ||
| benchmarks | ||
| code_coverage_tests | ||
| documentation_tests | ||
| enterprise | ||
| guardrails_tests | ||
| image_gen_tests | ||
| litellm | ||
| litellm-proxy-extras | ||
| litellm_core_utils | ||
| litellm_utils_tests | ||
| llm_responses_api_testing | ||
| llm_translation | ||
| load_tests | ||
| local_testing | ||
| logging_callback_tests | ||
| mcp_tests | ||
| multi_instance_e2e_tests | ||
| ocr_tests | ||
| old_proxy_tests/tests | ||
| openai_endpoints_tests | ||
| otel_tests | ||
| pass_through_tests | ||
| pass_through_unit_tests | ||
| proxy_admin_ui_tests | ||
| proxy_e2e_anthropic_messages_tests | ||
| proxy_security_tests | ||
| proxy_unit_tests | ||
| router_unit_tests | ||
| scim_tests | ||
| search_tests | ||
| spend_tracking_tests | ||
| store_model_in_db_tests | ||
| test_litellm | ||
| unified_google_tests | ||
| vector_store_tests | ||
| windows_tests | ||
| __init__.py | ||
| _flush_vcr_cache.py | ||
| _vcr_conftest_common.py | ||
| _vcr_redis_persister.py | ||
| eval_swe_bench.py | ||
| 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 | ||
| test_end_users.py | ||
| test_entrypoint.py | ||
| test_fallbacks.py | ||
| test_gpt5_azure_temperature_support.py | ||
| test_health.py | ||
| test_keys.py | ||
| test_litellm_proxy_responses_config.py | ||
| test_logging.conf | ||
| test_models.py | ||
| test_new_vector_store_endpoints.py | ||
| test_openai_endpoints.py | ||
| test_organizations.py | ||
| test_otel_thread_leak.py | ||
| test_passthrough_endpoints.py | ||
| test_presidio_latency.py | ||
| test_proxy_server_non_root.py | ||
| test_ratelimit.py | ||
| test_resource_cleanup.py | ||
| test_service_logger_otel.py | ||
| test_spend_logs.py | ||
| test_team.py | ||
| test_team_logging.py | ||
| test_team_members.py | ||
| test_users.py | ||
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.