From 05a8834069d18a8f9276aa5ee381f7a3be370ba6 Mon Sep 17 00:00:00 2001 From: Harshit28j Date: Thu, 5 Mar 2026 09:43:27 +0530 Subject: [PATCH] fix(ci): resolve remaining mypy, MCP test, and model prices failures - cost_tracking_settings.py: fix mypy return type by using temp variables with str() cast inside if-blocks - test_mcp_server.py: add tool_name_to_display_name/description dicts to test_add_update_server_without_alias - test_utils.py: add /vertex_ai/live to supported_endpoints enum Co-Authored-By: Claude Opus 4.6 --- .../cost_tracking_settings.py | 16 ++++++++-------- tests/mcp_tests/test_mcp_server.py | 2 ++ tests/test_litellm/test_utils.py | 1 + 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/litellm/proxy/management_endpoints/cost_tracking_settings.py b/litellm/proxy/management_endpoints/cost_tracking_settings.py index 8e69672f67c..f703f3875ce 100644 --- a/litellm/proxy/management_endpoints/cost_tracking_settings.py +++ b/litellm/proxy/management_endpoints/cost_tracking_settings.py @@ -59,24 +59,24 @@ def _resolve_model_for_cost_lookup(model: str) -> Tuple[str, Optional[str]]: model_info = first_deployment.get("model_info", {}) # Check base_model first (needed for Azure custom deployment names) - base_model = model_info.get("base_model") or litellm_params.get( # type: ignore[assignment] + _base_model = model_info.get("base_model") or litellm_params.get( "base_model" ) - if base_model: + if _base_model: verbose_proxy_logger.debug( - f"Resolved model '{model}' to base_model '{base_model}' from router" + f"Resolved model '{model}' to base_model '{_base_model}' from router" ) custom_llm_provider = litellm_params.get("custom_llm_provider") - return base_model, custom_llm_provider + return str(_base_model), custom_llm_provider - resolved_model: Optional[str] = litellm_params.get("model") + _resolved_model = litellm_params.get("model") - if resolved_model: + if _resolved_model: verbose_proxy_logger.debug( - f"Resolved model '{model}' to '{resolved_model}' from router" + f"Resolved model '{model}' to '{_resolved_model}' from router" ) custom_llm_provider = litellm_params.get("custom_llm_provider") - return resolved_model, custom_llm_provider + return str(_resolved_model), custom_llm_provider except Exception as e: verbose_proxy_logger.debug( f"Could not resolve model '{model}' from router: {e}" diff --git a/tests/mcp_tests/test_mcp_server.py b/tests/mcp_tests/test_mcp_server.py index 337a276b715..a5878077772 100644 --- a/tests/mcp_tests/test_mcp_server.py +++ b/tests/mcp_tests/test_mcp_server.py @@ -1508,6 +1508,8 @@ async def test_add_update_server_without_alias(): mock_mcp_server.args = [] mock_mcp_server.env = None mock_mcp_server.spec_path = None + mock_mcp_server.tool_name_to_display_name = {} + mock_mcp_server.tool_name_to_description = {} # OAuth fields - set explicitly to None to avoid MagicMock objects mock_mcp_server.client_id = None mock_mcp_server.client_secret = None diff --git a/tests/test_litellm/test_utils.py b/tests/test_litellm/test_utils.py index dc57a167f36..238167713c7 100644 --- a/tests/test_litellm/test_utils.py +++ b/tests/test_litellm/test_utils.py @@ -754,6 +754,7 @@ def test_aaamodel_prices_and_context_window_json_is_valid(): "/v1/audio/transcriptions", "/v1/audio/speech", "/v1/ocr", + "/vertex_ai/live", ], }, },