@@ -910,86 +910,6 @@ async def test_rest_endpoint_shows_all_when_allowed_tools_is_empty_list(self):
910
910
assert "tool_1" in tool_names
911
911
assert "tool_2" in tool_names
912
912
913
- @pytest .mark .asyncio
914
- async def test_get_all_mcp_servers_filters_invalid_server_ids (self ):
915
- """Test that get_all_mcp_servers_with_health_and_teams filters out servers with invalid server_ids"""
916
- manager = MCPServerManager ()
917
-
918
- # Mock get_allowed_mcp_servers to return some server IDs
919
- manager .get_allowed_mcp_servers = AsyncMock (
920
- return_value = ["valid-server-1" , "invalid-server-1" ]
921
- )
922
-
923
- # Mock get_all_mcp_server_ids to return only valid server IDs
924
- manager .get_all_mcp_server_ids = MagicMock (
925
- return_value = ["valid-server-1" , "another-valid-server" ]
926
- )
927
-
928
- # Mock config_mcp_servers to be empty for this test
929
- manager .config_mcp_servers = {}
930
-
931
- # Create mock servers - one valid, one invalid
932
- valid_server = LiteLLM_MCPServerTable (
933
- server_id = "valid-server-1" ,
934
- server_name = "Valid Server" ,
935
- alias = "valid" ,
936
- description = "A valid server" ,
937
- url = "http://valid.com" ,
938
- transport = MCPTransport .http ,
939
- created_at = datetime .now (),
940
- updated_at = datetime .now (),
941
- )
942
-
943
- invalid_server = LiteLLM_MCPServerTable (
944
- server_id = "invalid-server-1" ,
945
- server_name = "Invalid Server" ,
946
- alias = "invalid" ,
947
- description = "An invalid server" ,
948
- url = "http://invalid.com" ,
949
- transport = MCPTransport .http ,
950
- created_at = datetime .now (),
951
- updated_at = datetime .now (),
952
- )
953
-
954
- # Mock the database call to return both servers
955
- with patch (
956
- "litellm.proxy._experimental.mcp_server.db.get_mcp_servers" ,
957
- new = AsyncMock (return_value = [valid_server , invalid_server ]),
958
- ) as mock_get_servers :
959
-
960
- # Mock prisma_client with proper async methods
961
- mock_prisma = MagicMock ()
962
- mock_db = MagicMock ()
963
- mock_teamtable = MagicMock ()
964
- mock_teamtable .find_many = AsyncMock (return_value = [])
965
- mock_db .litellm_teamtable = mock_teamtable
966
- mock_prisma .db = mock_db
967
-
968
- with patch ("litellm.proxy.proxy_server.prisma_client" , new = mock_prisma ):
969
- # Mock _user_has_admin_view to return False (non-admin user)
970
- with patch (
971
- "litellm.proxy.management_endpoints.common_utils._user_has_admin_view"
972
- ) as mock_admin_view :
973
- mock_admin_view .return_value = False
974
-
975
- # Create mock user auth
976
- user_auth = MagicMock ()
977
- user_auth .user_id = "test-user"
978
-
979
- # Call the method
980
- result = await manager .get_all_mcp_servers_with_health_and_teams (
981
- user_api_key_auth = user_auth , include_health = False
982
- )
983
-
984
- # Verify that only the valid server is returned
985
- assert len (result ) == 1
986
- assert result [0 ].server_id == "valid-server-1"
987
- assert result [0 ].server_name == "Valid Server"
988
-
989
- # Verify invalid server is not in results
990
- server_ids = [server .server_id for server in result ]
991
- assert "invalid-server-1" not in server_ids
992
-
993
913
def test_add_db_mcp_server_to_registry (self ):
994
914
"""Test that add_db_mcp_server_to_registry adds a MCP server to the registry"""
995
915
manager = MCPServerManager ()
0 commit comments