From 4bd60f18d4ffa8168d957442dc66a044edaa2ea7 Mon Sep 17 00:00:00 2001 From: Michael Panchenko Date: Mon, 4 May 2026 19:39:58 +0200 Subject: [PATCH] Tests: removed csharp tests relying on mocks --- test/solidlsp/csharp/test_csharp_basic.py | 65 +---------------------- 1 file changed, 1 insertion(+), 64 deletions(-) diff --git a/test/solidlsp/csharp/test_csharp_basic.py b/test/solidlsp/csharp/test_csharp_basic.py index 97e44e5e..932f73d3 100644 --- a/test/solidlsp/csharp/test_csharp_basic.py +++ b/test/solidlsp/csharp/test_csharp_basic.py @@ -2,22 +2,17 @@ import os import tempfile from pathlib import Path from typing import cast -from unittest.mock import Mock, patch import pytest -from sensai.util import logging -from serena.util.logging import SuspendedLoggersContext from solidlsp import SolidLanguageServer from solidlsp.language_servers.csharp_language_server import ( - CSharpLanguageServer, breadth_first_file_scan, find_solution_or_project_file, ) -from solidlsp.ls_config import Language, LanguageServerConfig +from solidlsp.ls_config import Language from solidlsp.ls_types import SymbolKind from solidlsp.ls_utils import SymbolUtils -from solidlsp.settings import SolidLSPSettings from test.conftest import find_identifier_position, get_repo_path, language_has_verified_implementation_support from test.solidlsp.conftest import format_symbol_for_assert, has_malformed_name, request_all_symbols @@ -314,64 +309,6 @@ class TestCSharpSolutionProjectOpening: # Should still prefer .sln file even though it's deeper assert result == str(solution_file) - @patch("solidlsp.language_servers.csharp_language_server.CSharpLanguageServer.DependencyProvider._ensure_server_installed") - @patch("solidlsp.language_servers.csharp_language_server.CSharpLanguageServer._start_server") - def test_csharp_language_server_logs_solution_discovery(self, mock_start_server, mock_ensure_server_installed): - """Test that CSharpLanguageServer logs solution/project discovery during initialization.""" - mock_ensure_server_installed.return_value = ("/usr/bin/dotnet", "/path/to/server.dll") - - # Create test directory with solution file - with tempfile.TemporaryDirectory() as temp_dir: - temp_path = Path(temp_dir) - solution_file = temp_path / "TestSolution.sln" - solution_file.touch() - - mock_config = Mock(spec=LanguageServerConfig) - mock_config.ignored_paths = [] - - # Create CSharpLanguageServer instance - mock_settings = Mock(spec=SolidLSPSettings) - mock_settings.ls_resources_dir = "/tmp/test_ls_resources" - mock_settings.project_data_path = str(temp_path / "project_data") - - with SuspendedLoggersContext(): - logging.getLogger().setLevel(logging.DEBUG) - with logging.MemoryLoggerContext() as mem_log: - CSharpLanguageServer(mock_config, str(temp_path), mock_settings) - - # Verify that logger was called with solution file discovery - expected_log_msg = f"Found solution/project file: {solution_file}" - assert expected_log_msg in mem_log.get_log() - - @patch("solidlsp.language_servers.csharp_language_server.CSharpLanguageServer.DependencyProvider._ensure_server_installed") - @patch("solidlsp.language_servers.csharp_language_server.CSharpLanguageServer._start_server") - def test_csharp_language_server_logs_no_solution_warning(self, mock_start_server, mock_ensure_server_installed): - """Test that CSharpLanguageServer logs warning when no solution/project files are found.""" - # Mock the server installation - mock_ensure_server_installed.return_value = ("/usr/bin/dotnet", "/path/to/server.dll") - - # Create empty test directory - with tempfile.TemporaryDirectory() as temp_dir: - temp_path = Path(temp_dir) - - # Mock logger to capture log messages - mock_config = Mock(spec=LanguageServerConfig) - mock_config.ignored_paths = [] - - mock_settings = Mock(spec=SolidLSPSettings) - mock_settings.ls_resources_dir = "/tmp/test_ls_resources" - mock_settings.project_data_path = str(temp_path / "project_data") - - # Create CSharpLanguageServer instance - with SuspendedLoggersContext(): - logging.getLogger().setLevel(logging.DEBUG) - with logging.MemoryLoggerContext() as mem_log: - CSharpLanguageServer(mock_config, str(temp_path), mock_settings) - - # Verify that logger was called with warning about no solution/project files - expected_log_msg = "No .sln/.slnx or .csproj file found, language server will attempt auto-discovery" - assert expected_log_msg in mem_log.get_log() - def test_solution_and_project_opening_with_real_test_repo(self): """Test solution and project opening with the actual C# test repository.""" # Get the C# test repo path