* Fix user-team association issues in LiteLLM proxy - Update list_team function to properly filter teams using user's teams array instead of only checking members_with_roles field - Add Field descriptions and docstring to TeamMemberAddRequest and related models for better Swagger/OpenAPI documentation - Maintain backward compatibility with fallback to members_with_roles if user lookup fails This ensures users created with teams parameter appear correctly in team views and improves API documentation. * Fix duplicate member checking in team_member_add endpoint - Enhanced team_member_add_duplication_check to check both user_id and user_email - Added additional duplicate prevention logic after user creation/lookup - Fixed issue where users added by email could be duplicated in teams - Added logging for debugging duplicate detection This addresses the bug where adding the same user by email multiple times would create duplicate entries in the team's members_with_roles array. * Improve duplicate member prevention in team_member_add - Enhanced early duplicate check to handle both user_id and user_email - Added late-stage duplicate prevention after user lookup/creation - Fixed issue where users could be added multiple times by email - Cleaned up debug logging Note: There's still an edge case where the duplicate prevention may not work correctly in all scenarios. This needs further investigation and testing. * Refactor team_member_add endpoint for improved member management - Split team_member_add functionality into smaller, dedicated functions for permission validation, member processing, and team member list updates. - Enhanced permission checks to ensure only authorized users can add members. - Streamlined member addition logic to reduce redundancy and improve readability. - Maintained existing functionality while improving code structure and maintainability. * Add tests for team_member_add helper functions - Add test for _validate_team_member_add_permissions with admin user - Add test for _validate_team_member_add_permissions with non-admin user - Add test for _process_team_members with single member - Add test for _process_team_members with multiple members - Add test for _update_team_members_list with new member - Add test for _update_team_members_list duplicate prevention These tests ensure the refactored helper functions work correctly after fixing the PLR0915 linting error. |
||
|---|---|---|
| .. | ||
| basic_proxy_startup_tests | ||
| batches_tests | ||
| code_coverage_tests | ||
| documentation_tests | ||
| enterprise | ||
| guardrails_tests | ||
| image_gen_tests | ||
| litellm_utils_tests | ||
| litellm-proxy-extras | ||
| llm_responses_api_testing | ||
| llm_translation | ||
| load_tests | ||
| local_testing | ||
| logging_callback_tests | ||
| mcp_tests | ||
| multi_instance_e2e_tests | ||
| old_proxy_tests/tests | ||
| openai_endpoints_tests | ||
| otel_tests | ||
| pass_through_tests | ||
| pass_through_unit_tests | ||
| proxy_admin_ui_tests | ||
| proxy_security_tests | ||
| proxy_unit_tests | ||
| router_unit_tests | ||
| scim_tests | ||
| spend_tracking_tests | ||
| store_model_in_db_tests | ||
| test_litellm | ||
| unified_google_tests | ||
| vector_store_tests | ||
| windows_tests | ||
| __init__.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_end_users.py | ||
| test_entrypoint.py | ||
| test_fallbacks.py | ||
| test_health.py | ||
| test_keys.py | ||
| test_logging.conf | ||
| test_models.py | ||
| test_openai_endpoints.py | ||
| test_organizations.py | ||
| test_passthrough_endpoints.py | ||
| test_ratelimit.py | ||
| test_spend_logs.py | ||
| test_team_logging.py | ||
| test_team_members.py | ||
| test_team.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/litellm
This folder can only run mock tests.