litellm/tests
Alexsander Hamir 1e89aa3068
Fix: Resolve flakiness in three integration tests (#17594)
Fixed three flaky tests that were intermittently failing in CI:

1. test_no_duplicate_spend_logs (test_litellm/responses/test_no_duplicate_spend_logs.py)
   Problem: Used await asyncio.sleep(1) to wait for async logging completion,
            which created race conditions. The async logging worker queues tasks
            in the background, and sleep() doesn't guarantee completion.

   Fix: Replaced sleep() with GLOBAL_LOGGING_WORKER.flush() which properly waits
        for the logging queue to empty, ensuring all async logging tasks complete
        before assertions run.

2. test_log_langfuse_v2_handles_null_usage_values (test_litellm/integrations/test_langfuse.py)
   Problem: Used datetime.datetime.now() twice for start_time and end_time, which
            could cause timing inconsistencies between test runs, especially in
            CI environments with variable execution speeds.

   Fix: Use fixed timestamps instead of datetime.now() to ensure consistent timing
        across all test runs, eliminating timing-related flakiness.

3. test_watsonx_gpt_oss_prompt_transformation (test_litellm/llms/watsonx/test_watsonx.py)
   Problem: Directly accessed mock_post.call_args without checking if it exists,
            which could be None if the mock wasn't called or if an exception
            occurred before the POST request. The test catches exceptions and
            continues, making this a potential failure point.

   Fix: Added proper assertions and use call_args_list[0] for safer access:
        - Assert that call_args_list has at least one call
        - Assert that call_args is not None
        - Assert that 'data' key exists in kwargs
        This ensures the test fails with clear error messages rather than
        intermittent AttributeError exceptions.

All fixes maintain the original test intent while making them deterministic
and reliable in CI environments.
2025-12-06 07:57:03 -08:00
..
agent_tests fix mypy linting 2025-12-03 19:43:29 -08:00
audio_tests [Feat] New model/provider - Adds support for Google Cloud Chirp3 HD on /speech (#17391) 2025-12-02 15:36:23 -08:00
basic_proxy_startup_tests Fix: remove merge markdown (#17586) 2025-12-06 05:38:16 -08:00
batches_tests Fix: apply_guardrail method and improve test isolation (#17555) 2025-12-05 12:59:35 -08:00
code_coverage_tests [Bug fix] Vector Store List Endpoint Returns 404 (#17229) 2025-11-27 12:51:51 -08:00
documentation_tests Litellm docs readme fixes (#16107) 2025-10-30 17:05:32 -07:00
enterprise Fix: apply_guardrail method and improve test isolation (#17555) 2025-12-05 12:59:35 -08:00
guardrails_tests Fix Presidio guardrail test TypeError and license base64 decoding error (#17538) 2025-12-05 08:45:02 -08:00
image_gen_tests fix 2025-11-26 17:11:33 -08:00
litellm/llms feat(oci): Add textarea field type for OCI private key input (#17159) 2025-12-05 15:53:54 -08:00
litellm-proxy-extras Fix: Distinguish permission errors from idempotent errors in Prisma migrations (#17064) 2025-11-24 20:41:44 -08:00
litellm_utils_tests test fixes 2025-12-05 17:12:01 -08:00
llm_responses_api_testing test_process_chunk_with_response_completed_event 2025-11-26 11:52:05 -08:00
llm_translation Merge pull request #17137 from BerriAI/litellm_gemini3_media_res_fix 2025-12-06 00:06:55 +05:30
load_tests test: test_embedding_performance 2025-05-14 21:31:07 -07:00
local_testing Merge remote-tracking branch 'origin' into litellm_ui_callback_fix 2025-12-05 11:43:35 -08:00
logging_callback_tests Fix/organization max budget not enforced (#17334) 2025-12-02 22:46:03 -08:00
mcp_tests Feat/mcp preserve tool metadata calltoolresult (#17561) 2025-12-05 16:15:22 -08:00
multi_instance_e2e_tests fix: use fastuuid helper (#14903) 2025-09-25 15:47:01 -07:00
ocr_tests [Feat] Add Azure AI Doc Intelligence OCR (#16219) 2025-11-03 17:22:19 -08:00
old_proxy_tests/tests claude-sonnet-4-5-20250929 fix 2025-10-31 18:20:52 -07:00
openai_endpoints_tests test_e2e_batches_files 2025-11-27 09:14:43 -08:00
otel_tests Model Armor - Logging guardrail response on llm responses (#16977) 2025-11-22 15:44:28 -08:00
pass_through_tests fix: use vllm passthrough config for hosted vllm provider instead of raising error (#16537) 2025-11-12 09:12:14 -08:00
pass_through_unit_tests Add cost tracking for streaming in vertex ai 2025-11-20 15:08:38 +05:30
proxy_admin_ui_tests Fixing e2e 2025-12-05 12:40:58 -08:00
proxy_security_tests test fix 2025-10-04 10:57:02 -07:00
proxy_unit_tests test fixes 2025-12-05 17:12:01 -08:00
router_unit_tests [Feat] New API - Claude Skills API (Anthropic) (#17042) 2025-11-24 15:01:40 -08:00
scim_tests [Feat SSO] Add LiteLLM SCIM Integration for Team and User management (#10072) 2025-04-16 19:21:47 -07:00
search_tests [Bug Fix]: Search APIs - error in firecrawl-search "Invalid request body" (#16943) 2025-11-21 14:56:19 -08:00
spend_tracking_tests fix ocr test 2025-10-31 20:32:03 -07:00
store_model_in_db_tests test_edit_mcp_server_redacts_credentials 2025-11-26 11:54:11 -08:00
test_litellm Fix: Resolve flakiness in three integration tests (#17594) 2025-12-06 07:57:03 -08:00
unified_google_tests fix: gooogle GenAI route tests 2025-10-04 10:18:25 -07:00
vector_store_tests Add vector store support for ragflow 2025-12-03 15:29:47 +05:30
windows_tests [Bug Fix] UnicodeDecodeError: 'charmap' on Windows during litellm import (#10542) 2025-05-03 21:31:05 -07:00
__init__.py [Feat] Add github co-pilot as a new LLM API provider (#12325) 2025-07-04 13:12:16 -07:00
gettysburg.wav feat(main.py): support openai transcription endpoints 2024-03-08 10:25:19 -08:00
large_text.py fix(router.py): check for context window error when handling 400 status code errors 2024-03-26 08:08:15 -07:00
openai_batch_completions.jsonl feat(router.py): Support Loadbalancing batch azure api endpoints (#5469) 2024-09-02 21:32:55 -07:00
README.MD [Feat] MCP Gateway Fine-grained Tools Addition (#15153) 2025-10-03 10:16:29 -07:00
test_budget_management.py fix: use fastuuid helper (#14903) 2025-09-25 15:47:01 -07:00
test_callbacks_on_proxy.py fix: use fastuuid helper (#14903) 2025-09-25 15:47:01 -07:00
test_config.py fix: use fastuuid helper (#14903) 2025-09-25 15:47:01 -07:00
test_debug_warning.py fix(utils.py): fix togetherai streaming cost calculation 2024-08-01 15:03:08 -07:00
test_end_users.py fix: use fastuuid helper (#14903) 2025-09-25 15:47:01 -07:00
test_entrypoint.py (fix) clean up root repo - move entrypoint.sh and build_admin_ui to /docker (#6110) 2024-10-08 11:34:43 +05:30
test_fallbacks.py Ollama Chat - parse tool calls on streaming (#11171) 2025-05-27 16:14:49 -07:00
test_gpt5_azure_temperature_support.py Fix: Azure GPT-5 incorrectly routed to O-series config (temperature parameter unsupported) (#16246) 2025-11-07 10:24:27 -08:00
test_health.py (test) /health/readiness 2024-01-29 15:27:25 -08:00
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_litellm_proxy_responses_config.py Add native Responses API support for litellm_proxy provider (#15347) 2025-10-08 18:31:26 -07:00
test_logging.conf feat(proxy_cli.py): add new 'log_config' cli param (#6352) 2024-10-21 21:25:58 -07:00
test_models.py test_add_model_run_health 2025-09-27 10:59:25 -07:00
test_openai_endpoints.py test fix claude-sonnet-4-5-20250929 2025-10-28 19:05:13 -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 fix: update authorization header to use 'Bearer' instead of 'bearer' 2025-09-21 10:44:47 +00:00
test_ratelimit.py test_async_rate_limit 2025-11-15 10:34:24 -08:00
test_resource_cleanup.py Fix: Properly close aiohttp client sessions to prevent resource leaks (#12251) 2025-07-09 09:25:17 -07:00
test_spend_logs.py Revert "Allow configuration to on what threshold to try truncating request content in db" 2025-08-28 16:12:42 -06:00
test_team.py build: publish new litellm-proxy-extras file 2025-05-27 17:44:23 -07:00
test_team_logging.py fix: use fastuuid helper (#14903) 2025-09-25 15:47:01 -07:00
test_team_members.py fix: use fastuuid helper (#14903) 2025-09-25 15:47:01 -07:00
test_users.py fix: use fastuuid helper (#14903) 2025-09-25 15:47:01 -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.