From fab4eb29a30047d3b956d04fbfe9bb22f6f1282e Mon Sep 17 00:00:00 2001 From: mrinal Date: Tue, 3 Nov 2026 17:53:38 +0000 Subject: [PATCH] test(mcp): complete provider registration database doubles Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- tests/unit/proxy/mcp_server/test_db_credentials.py | 4 ++++ tests/unit/proxy/mcp_server/test_mcp_env_vars.py | 4 ++++ tests/unit/proxy/mcp_server/test_mcp_sigv4_auth.py | 1 + tests/unit/types/mcp_server/__init__.py | 0 4 files changed, 9 insertions(+) create mode 100644 tests/unit/types/mcp_server/__init__.py diff --git a/tests/unit/proxy/mcp_server/test_db_credentials.py b/tests/unit/proxy/mcp_server/test_db_credentials.py index 5be76def8d8..1ba18199a3c 100644 --- a/tests/unit/proxy/mcp_server/test_db_credentials.py +++ b/tests/unit/proxy/mcp_server/test_db_credentials.py @@ -510,6 +510,10 @@ class _MapTable: async def find_many(self, where: object = None) -> list[PrismaMCPServer]: return [_prisma_map_row(row, self.quoted) for row in self.rows.values()] + async def find_unique(self, *, where: dict[str, str]) -> PrismaMCPServer | None: + row: Final = self.rows.get(where["server_id"]) + return None if row is None else _prisma_map_row(row, self.quoted) + @pytest.mark.asyncio @pytest.mark.parametrize("field", ["static_headers", "env"]) 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 87bd388124b..f03216e399b 100644 --- a/tests/unit/proxy/mcp_server/test_mcp_env_vars.py +++ b/tests/unit/proxy/mcp_server/test_mcp_env_vars.py @@ -1562,6 +1562,7 @@ async def test_create_mcp_server_decrypts_env_vars_when_prisma_returns_json_stri mock_prisma.db.litellm_mcpservertable.create = AsyncMock( return_value=_prisma_row_with_json_string_env_vars() ) + mock_prisma.db.litellm_mcpservertable.find_unique = AsyncMock(return_value=None) created = await create_mcp_server( mock_prisma, @@ -1581,6 +1582,9 @@ async def test_create_mcp_server_decrypts_env_vars_when_prisma_returns_json_stri mock_prisma_upd.db.litellm_mcpservertable.update = AsyncMock( return_value=_prisma_row_with_json_string_env_vars() ) + mock_prisma_upd.db.litellm_mcpservertable.find_unique = AsyncMock( + return_value=_prisma_row_with_json_string_env_vars() + ) updated = await update_mcp_server( mock_prisma_upd, UpdateMCPServerRequest(server_id="srv-update"), 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 28f96c3bdd2..dbb3ee84285 100644 --- a/tests/unit/proxy/mcp_server/test_mcp_sigv4_auth.py +++ b/tests/unit/proxy/mcp_server/test_mcp_sigv4_auth.py @@ -678,6 +678,7 @@ class TestCredentialMergeOnUpdate: mock_prisma = MagicMock() mock_prisma.db.litellm_mcpservertable.update = AsyncMock(return_value=_updated_row()) + mock_prisma.db.litellm_mcpservertable.find_unique = AsyncMock(return_value=_updated_row()) data = UpdateMCPServerRequest( server_id="test-server", diff --git a/tests/unit/types/mcp_server/__init__.py b/tests/unit/types/mcp_server/__init__.py new file mode 100644 index 00000000000..e69de29bb2d