From 7aea330dfd73285af225ee0cb2deec7549ecb708 Mon Sep 17 00:00:00 2001 From: joshua Date: Wed, 23 Sep 2026 06:07:42 +0000 Subject: [PATCH] test(mcp): awaitable catalog revision doubles in prisma mocks Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .../proxy/guardrails/guardrail_hooks/test_mcp_security.py | 1 + .../proxy/management_endpoints/test_mcp_management_endpoints.py | 2 ++ tests/test_litellm/proxy/test_dynamic_mcp_route.py | 1 + 3 files changed, 4 insertions(+) diff --git a/tests/test_litellm/proxy/guardrails/guardrail_hooks/test_mcp_security.py b/tests/test_litellm/proxy/guardrails/guardrail_hooks/test_mcp_security.py index 7ed0596fbe2..ba6d54c20cb 100644 --- a/tests/test_litellm/proxy/guardrails/guardrail_hooks/test_mcp_security.py +++ b/tests/test_litellm/proxy/guardrails/guardrail_hooks/test_mcp_security.py @@ -219,6 +219,7 @@ async def test_guardrail_observes_saved_server_creation_and_deletion_on_another_ url="https://upstream.example/mcp") prisma = MagicMock() prisma.db.litellm_mcpservertable.find_many = AsyncMock(side_effect=([row], [])) + prisma.db.litellm_config.find_unique = AsyncMock(return_value=None) data = {"tools": [{"type": "mcp", "server_url": "litellm_proxy/mcp/peer-server"}], "guardrails": ["test-mcp-security"]} with ( diff --git a/tests/test_litellm/proxy/management_endpoints/test_mcp_management_endpoints.py b/tests/test_litellm/proxy/management_endpoints/test_mcp_management_endpoints.py index 175c8e0d760..13f5184d032 100644 --- a/tests/test_litellm/proxy/management_endpoints/test_mcp_management_endpoints.py +++ b/tests/test_litellm/proxy/management_endpoints/test_mcp_management_endpoints.py @@ -2775,6 +2775,7 @@ class TestTemporaryMCPSessionEndpoints: prisma.db.litellm_mcpservertable.find_many = AsyncMock(side_effect=persisted_rows) prisma.db.litellm_mcpservertable.find_unique = AsyncMock(return_value=None) prisma.db.litellm_mcpservertable.find_first = AsyncMock(return_value=None) + prisma.db.litellm_config.find_unique = AsyncMock(return_value=None) request: Final = Request( {"type": "http", "method": "GET", "scheme": "http", "server": ("localhost", 4000), "path": "/v1/mcp/server/oauth/saved-server/authorize", "headers": [], @@ -8016,6 +8017,7 @@ async def test_saved_server_authorize_denial_does_not_dispatch_upstream(): authorization_url="https://upstream.example/authorize", token_url="https://upstream.example/token") prisma: Final = MagicMock() prisma.db.litellm_mcpservertable.find_many = AsyncMock(return_value=[row]) + prisma.db.litellm_config.find_unique = AsyncMock(return_value=None) user: Final = generate_mock_user_api_key_auth(user_role=LitellmUserRoles.INTERNAL_USER) with ( patch("litellm.proxy.proxy_server.prisma_client", prisma), diff --git a/tests/test_litellm/proxy/test_dynamic_mcp_route.py b/tests/test_litellm/proxy/test_dynamic_mcp_route.py index 5426cd92005..c70b737728c 100644 --- a/tests/test_litellm/proxy/test_dynamic_mcp_route.py +++ b/tests/test_litellm/proxy/test_dynamic_mcp_route.py @@ -644,6 +644,7 @@ async def test_dynamic_route_observes_committed_peer_catalog_changes(monkeypatch prisma = SimpleNamespace(db=SimpleNamespace( litellm_mcpservertable=SimpleNamespace(find_many=read_rows), litellm_mcptoolsettable=SimpleNamespace(find_first=AsyncMock(return_value=None)), + litellm_config=SimpleNamespace(find_unique=AsyncMock(return_value=None)), )) manager = mcp_server_manager.MCPServerManager() if change != "create":