async def test_mixed_connection_results():
    """Test that fetch_mcp_tools_from_config returns tools even when some connections fail."""
    # Create a mock MCPConfig
    mock_config = mock.MagicMock(spec=MCPConfig)

    # Configure the mock config
    mock_config.sse_servers = ['http://server1:8080', 'http://server2:8080']
    mock_config.shttp_servers = []

    # Create a successful client
    successful_client = mock.MagicMock(spec=MCPClient)
    successful_client.tools = [mock.MagicMock()]

    # Mock create_mcp_clients to return our successful client
    with mock.patch(
        'openhands.mcp.utils.create_mcp_clients', return_value=[successful_client]
    ):
        # Call fetch_mcp_tools_from_config
        tools = await fetch_mcp_tools_from_config(mock_config, None)

        # Verify that tools were returned
        assert len(tools) > 0
Test that fetch_mcp_tools_from_config returns tools even when some connections fail.
tests/unit/test_mcp_timeout.py