From d42ed1e5ce5f10b6bc16ed3c0b52872e1154bded Mon Sep 17 00:00:00 2001 From: mrinal Date: Tue, 3 Nov 2026 16:56:42 +0000 Subject: [PATCH] fix(mcp): align gateway fixtures and migration with CI contracts Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .../20261031000000_add_mcp_execution_mode/migration.sql | 2 ++ tests/unit/proxy/mcp_server/test_db_credentials.py | 1 + tests/unit/proxy/mcp_server/test_mcp_env_vars.py | 1 + tests/unit/proxy/mcp_server/test_mcp_server.py | 3 +++ tests/unit/proxy/mcp_server/test_mcp_sigv4_auth.py | 2 ++ 5 files changed, 9 insertions(+) diff --git a/litellm-proxy-extras/litellm_proxy_extras/migrations/20261031000000_add_mcp_execution_mode/migration.sql b/litellm-proxy-extras/litellm_proxy_extras/migrations/20261031000000_add_mcp_execution_mode/migration.sql index 348e5d9cb63..c812c53237b 100644 --- a/litellm-proxy-extras/litellm_proxy_extras/migrations/20261031000000_add_mcp_execution_mode/migration.sql +++ b/litellm-proxy-extras/litellm_proxy_extras/migrations/20261031000000_add_mcp_execution_mode/migration.sql @@ -1,3 +1,5 @@ +SET LOCAL lock_timeout = '10s'; + DO $$ BEGIN CREATE TYPE "MCPExecutionMode" AS ENUM ('litellm', 'provider'); diff --git a/tests/unit/proxy/mcp_server/test_db_credentials.py b/tests/unit/proxy/mcp_server/test_db_credentials.py index db2572ef954..5be76def8d8 100644 --- a/tests/unit/proxy/mcp_server/test_db_credentials.py +++ b/tests/unit/proxy/mcp_server/test_db_credentials.py @@ -486,6 +486,7 @@ def map_algorithm(request: pytest.FixtureRequest, monkeypatch: pytest.MonkeyPatc def _prisma_map_row(data: dict[str, object], quoted: bool = False) -> PrismaMCPServer: return PrismaMCPServer.model_validate({ + "execution_mode": "litellm", "transport": "http", "mcp_access_groups": [], "allowed_tools": [], "extra_headers": [], "args": [], "allow_all_keys": False, "available_on_public_internet": True, "delegate_auth_to_upstream": False, "oauth_passthrough": False, "per_server_oauth_discovery": False, "is_byok": False, "byok_description": [], diff --git a/tests/unit/proxy/mcp_server/test_mcp_env_vars.py b/tests/unit/proxy/mcp_server/test_mcp_env_vars.py index 57ac6c0be2d..87bd388124b 100644 --- a/tests/unit/proxy/mcp_server/test_mcp_env_vars.py +++ b/tests/unit/proxy/mcp_server/test_mcp_env_vars.py @@ -1551,6 +1551,7 @@ async def test_create_mcp_server_decrypts_env_vars_when_prisma_returns_json_stri from prisma.models import LiteLLM_MCPServerTable return LiteLLM_MCPServerTable.model_validate({ + "execution_mode": "litellm", "server_id": "srv-returned", "transport": "http", "mcp_access_groups": [], "allowed_tools": [], "extra_headers": [], "args": [], "allow_all_keys": False, "available_on_public_internet": True, "delegate_auth_to_upstream": False, "oauth_passthrough": False, "per_server_oauth_discovery": False, diff --git a/tests/unit/proxy/mcp_server/test_mcp_server.py b/tests/unit/proxy/mcp_server/test_mcp_server.py index 456b1994e2d..55959d04646 100644 --- a/tests/unit/proxy/mcp_server/test_mcp_server.py +++ b/tests/unit/proxy/mcp_server/test_mcp_server.py @@ -1560,6 +1560,7 @@ async def test_add_update_server_with_alias(): # Create a mock LiteLLM_MCPServerTable with alias mock_mcp_server = MagicMock() + mock_mcp_server.execution_mode = "litellm" mock_mcp_server.server_id = "test-server-123" mock_mcp_server.alias = "my_alias" mock_mcp_server.server_name = "Test Server" @@ -1624,6 +1625,7 @@ async def test_add_update_server_without_alias(): # Create a mock LiteLLM_MCPServerTable without alias mock_mcp_server = MagicMock() + mock_mcp_server.execution_mode = "litellm" mock_mcp_server.server_id = "test-server-123" mock_mcp_server.alias = None mock_mcp_server.server_name = "Test Server" @@ -1688,6 +1690,7 @@ async def test_add_update_server_fallback_to_server_id(): # Create a mock LiteLLM_MCPServerTable without alias or server_name mock_mcp_server = MagicMock() + mock_mcp_server.execution_mode = "litellm" mock_mcp_server.server_id = "test-server-123" mock_mcp_server.alias = None mock_mcp_server.server_name = None diff --git a/tests/unit/proxy/mcp_server/test_mcp_sigv4_auth.py b/tests/unit/proxy/mcp_server/test_mcp_sigv4_auth.py index 5350e8a9f41..28f96c3bdd2 100644 --- a/tests/unit/proxy/mcp_server/test_mcp_sigv4_auth.py +++ b/tests/unit/proxy/mcp_server/test_mcp_sigv4_auth.py @@ -829,6 +829,7 @@ class TestSigV4BuildFromTable: table_record = MagicMock() table_record.server_id = "test-sigv4-server" + table_record.execution_mode = "litellm" table_record.server_name = "sigv4_server" table_record.alias = None table_record.description = None @@ -899,6 +900,7 @@ class TestSigV4BuildFromTable: table_record = MagicMock() table_record.server_id = "test-bearer-server" + table_record.execution_mode = "litellm" table_record.server_name = "bearer_server" table_record.alias = None table_record.description = None