wip: fixing more path resolution in tests

This commit is contained in:
2026-03-12 19:28:15 -04:00
parent 1f8bb58219
commit 8bc6eae101
11 changed files with 32 additions and 7 deletions

View File

@@ -203,11 +203,22 @@ def live_gui() -> Generator[tuple[subprocess.Popen, str], None, None]:
(temp_workspace / "manual_slop.toml").write_text("[project]\nname = 'TestProject'\n", encoding="utf-8")
(temp_workspace / "conductor" / "tracks").mkdir(parents=True, exist_ok=True)
# Create a local config.toml in temp_workspace
config_content = {
'ai': {'provider': 'gemini', 'model': 'gemini-2.5-flash-lite'},
'projects': {
'paths': [str((temp_workspace / 'manual_slop.toml').absolute())],
'active': str((temp_workspace / 'manual_slop.toml').absolute())
}
}
import tomli_w
with open(temp_workspace / 'config.toml', 'wb') as f:
tomli_w.dump(config_content, f)
# Resolve absolute paths for shared resources
project_root = Path(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
config_file = temp_workspace / "config.toml"
if not config_file.exists():
config_file = project_root / "config.toml"
cred_file = project_root / "credentials.toml"
mcp_file = project_root / "mcp_env.toml"

View File

@@ -36,6 +36,7 @@ def test_app_processes_new_actions() -> None:
with patch('src.models.load_config', return_value={}), \
patch('src.performance_monitor.PerformanceMonitor'), \
patch('src.session_logger.open_session'), \
patch('src.session_logger.reset_session'), \
patch('src.app_controller.AppController._prune_old_logs'), \
patch('src.app_controller.AppController._load_active_project'):
app = gui_2.App()

View File

@@ -47,6 +47,7 @@ class TestArchBoundaryPhase2(unittest.TestCase):
with patch('src.models.load_config', return_value={}), \
patch('src.performance_monitor.PerformanceMonitor'), \
patch('src.session_logger.open_session'), \
patch('src.session_logger.reset_session'), \
patch('src.app_controller.AppController._prune_old_logs'), \
patch('src.app_controller.AppController._init_ai_and_hooks'):
controller = AppController()
@@ -69,6 +70,7 @@ class TestArchBoundaryPhase2(unittest.TestCase):
with patch('src.models.load_config', return_value={}), \
patch('src.performance_monitor.PerformanceMonitor'), \
patch('src.session_logger.open_session'), \
patch('src.session_logger.reset_session'), \
patch('src.app_controller.AppController._prune_old_logs'), \
patch('src.app_controller.AppController._init_ai_and_hooks'):
controller = AppController()

View File

@@ -15,6 +15,7 @@ def mock_gui() -> App:
patch('src.project_manager.migrate_from_legacy_config', return_value={}),
patch('src.project_manager.save_project'),
patch('src.session_logger.open_session'),
patch('src.session_logger.reset_session'),
patch('src.app_controller.AppController._init_ai_and_hooks'),
patch('src.app_controller.AppController._fetch_models')
):

View File

@@ -13,6 +13,7 @@ class TestHeadlessAPI(unittest.TestCase):
def setUp(self) -> None:
with patch('src.models.load_config', return_value={'ai': {'provider': 'gemini', 'model': 'gemini-2.5-flash-lite'}, 'projects': {}, 'gui': {'show_windows': {}}}), \
patch('src.session_logger.open_session'), \
patch('src.session_logger.reset_session'), \
patch('src.ai_client.set_provider'), \
patch('src.performance_monitor.PerformanceMonitor'), \
patch('src.session_logger.close_session'), \

View File

@@ -14,6 +14,7 @@ def test_hooks_enabled_via_cli(monkeypatch: pytest.MonkeyPatch) -> None:
with patch('src.models.load_config', return_value={}), \
patch('src.performance_monitor.PerformanceMonitor'), \
patch('src.session_logger.open_session'), \
patch('src.session_logger.reset_session'), \
patch('src.app_controller.AppController._prune_old_logs'), \
patch('src.app_controller.AppController._init_ai_and_hooks'):
app = App()
@@ -25,6 +26,7 @@ def test_hooks_disabled_by_default() -> None:
with patch('src.models.load_config', return_value={}), \
patch('src.performance_monitor.PerformanceMonitor'), \
patch('src.session_logger.open_session'), \
patch('src.session_logger.reset_session'), \
patch('src.app_controller.AppController._prune_old_logs'), \
patch('src.app_controller.AppController._init_ai_and_hooks'):
app = App()

View File

@@ -34,7 +34,8 @@ history = []
def app_instance(mock_config: Path, mock_project: Path, monkeypatch: pytest.MonkeyPatch) -> App:
monkeypatch.setattr("src.models.CONFIG_PATH", mock_config)
with patch("src.project_manager.load_project") as mock_load, \
patch("src.session_logger.open_session"):
patch("src.session_logger.open_session"), \
patch("src.session_logger.reset_session"):
mock_load.return_value = {
"project": {"name": "test"},
"discussion": {"roles": ["User", "AI"], "active": "main", "discussions": {"main": {"history": []}}},

View File

@@ -53,7 +53,8 @@ def test_per_tier_model_persistence():
patch("src.gui_2.ai_client.list_models", return_value=["gpt-4", "claude-3"]),
patch("src.performance_monitor.PerformanceMonitor"),
patch("src.gui_2.api_hooks.HookServer"),
patch("src.gui_2.session_logger.open_session")
patch("src.gui_2.session_logger.open_session"),
patch("src.gui_2.session_logger.reset_session")
):
app = App()

View File

@@ -16,6 +16,7 @@ def controller():
patch('src.project_manager.migrate_from_legacy_config', return_value={}),
patch('src.project_manager.save_project'),
patch('src.session_logger.open_session'),
patch('src.session_logger.reset_session'),
patch('src.app_controller.AppController._init_ai_and_hooks'),
patch('src.app_controller.AppController._fetch_models')
):