litellm/tests/test_litellm
Alexsander Hamir 2e7b554747
3[Fix] CI/CD - logging_testing (#18204)
* fix: enforce team member budget check in common_checks

- Add missing team member budget validation in common_checks() function
  - Checks team membership budget when team key is used
  - Raises BudgetExceededError when team member spend exceeds max_budget_in_team
  - Follows same pattern as other budget checks (team, user, end_user)
  - Uses cached get_team_membership() for performance

- Fix AttributeError in lowest_tpm_rpm.py
  - Add null check for model_info before accessing .get() method
  - Prevents 'NoneType' object has no attribute 'get' error

- Add unit tests for team member budget enforcement
  - Test budget exceeded scenario
  - Test within budget scenario
  - Test edge cases (no budget, no membership, personal keys)
  - Tests run without requiring proxy server

Fixes failing test: test_users_in_team_budget

* fix: mock get_async_httpx_client in test_langsmith_key_based_logging

- Mock get_async_httpx_client to return a mock AsyncHTTPHandler instance
- Fixes test failure where mock_post was never called
- LangsmithLogger creates its own httpx client instance via get_async_httpx_client,
  so we need to mock the factory function rather than the class method
- Use MagicMock for response.raise_for_status (sync method) instead of AsyncMock

* fix: resolve linting errors (PLR0915, F401)

- Remove unused imports (datetime, ServiceLoggerPayload) from arize_phoenix.py
- Extract health ping setup logic from RedisCache.__init__ to reduce statement count
- Extract team member budget check from common_checks to reduce statement count

* fix: resolve type errors in ChatCompletionToolCallChunk construction

- Cast type field to Literal['function'] to satisfy TypedDict requirements
- Ensure arguments field is explicitly str type to match TypedDict signature
- Fixes pyright errors for incompatible types in transformation.py
2025-12-18 10:52:24 -08:00
..
a2a_protocol [Feat] A2A Gateway - allow adding Azure Foundry Agents on UI (#17909) 2025-12-12 16:38:04 -08:00
caching
completion_extras Guardrails API - support LLM tool call response checks on /chat/completions, /v1/responses, /v1/messages on regular + streaming calls (#17619) 2025-12-15 18:19:52 +05:30
containers [Fix] Containers API - Allow using LIST, Create Containers using custom-llm-provider (#17740) 2025-12-09 17:00:35 -08:00
enterprise Tests 2025-12-17 16:07:01 -08:00
experimental_mcp_client
google_genai Rename: gemini-3-flash-preview 2025-12-17 21:48:15 +05:30
images fix(image_edit): add drop_params support and fix Vertex AI config (#18077) 2025-12-17 11:28:34 +05:30
integrations [Feat] New Logging Integration - Azure Sentinel Logger (#18146) 2025-12-18 02:04:49 +05:30
interactions [Fix] CI/CD - litellm_mapped_tests_llms | litellm_mapped_tests_core | caching_unit_tests (#18197) 2025-12-18 08:49:23 -08:00
litellm_core_utils Fix: Prevent LiteLLM API key leakage on /health endpoint failures (#18133) 2025-12-17 08:08:05 -08:00
llms [Fix] CI/CD - litellm_mapped_tests_llms | litellm_mapped_tests_core | caching_unit_tests (#18197) 2025-12-18 08:49:23 -08:00
passthrough
proxy 3[Fix] CI/CD - logging_testing (#18204) 2025-12-18 10:52:24 -08:00
responses Add test for handling provider specific tools 2025-12-15 17:41:38 +05:30
router_strategy
router_utils [Feat] New Logging Integration - Azure Sentinel Logger (#18146) 2025-12-18 02:04:49 +05:30
secret_managers
types
vector_stores
__init__.py
conftest.py
log.txt
readme.md
test_acompletion_session_reuse_e2e.py
test_add_deployment_no_master_key.py
test_aembedding_session_reuse_e2e.py
test_azure_video_router.py
test_claude_haiku_4_5_config.py
test_constants.py
test_container_router.py
test_cost_calculation_log_level.py
test_cost_calculator.py fixed flex tier pricing (#17748) 2025-12-09 18:10:51 -08:00
test_exception_mapping_request_attribute.py
test_filter_out_litellm_params.py
test_groq_streaming_encoding.py
test_lazy_imports.py feat: lazy load GuardrailItem following existing patterns (#18072) 2025-12-16 11:48:36 -08:00
test_logging.py
test_lowest_latency_zero_tokens.py
test_main.py
test_nested_drop_params.py feat: Replace jsonpath-ng with custom minimal parser for additional_drop_params 2025-12-09 17:30:30 +05:30
test_redis.py
test_responses_id_security.py
test_router_google_genai.py
test_router.py [Feat] Guardrails Load Balancing - Allow Platform admins to load balance between guardrails (#18181) 2025-12-19 00:08:03 +05:30
test_shared_session_integration.py
test_system_message_format_bug.py
test_utils.py Merge remote-tracking branch 'origin' into litellm_email_budget_alerts_2 2025-12-17 11:37:49 -08:00
test_uuid_helper.py
test_video_generation.py fix: respect videos content db creds 2025-12-10 23:00:01 +05:30

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