wip: fixing more path resolution in tests
This commit is contained in:
@@ -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"
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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')
|
||||
):
|
||||
|
||||
@@ -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'), \
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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": []}}},
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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')
|
||||
):
|
||||
|
||||
Reference in New Issue
Block a user