EvoScientist Ai4Sci
Docker / build (push) Has been cancelled
Build / build (push) Has been cancelled
Lint / ruff (push) Has been cancelled
Test / pytest (ubuntu-latest, 3.11) (push) Has been cancelled
Test / pytest (ubuntu-latest, 3.12) (push) Has been cancelled
Test / pytest (windows-latest, 3.11) (push) Has been cancelled
Test / pytest (windows-latest, 3.12) (push) Has been cancelled
Docker / build (push) Has been cancelled
Build / build (push) Has been cancelled
Lint / ruff (push) Has been cancelled
Test / pytest (ubuntu-latest, 3.11) (push) Has been cancelled
Test / pytest (ubuntu-latest, 3.12) (push) Has been cancelled
Test / pytest (windows-latest, 3.11) (push) Has been cancelled
Test / pytest (windows-latest, 3.12) (push) Has been cancelled
This commit is contained in:
@@ -21,6 +21,7 @@ def _restore_paths():
|
||||
"GLOBAL_MEMORIES_DIR": paths.GLOBAL_MEMORIES_DIR,
|
||||
"USER_SKILLS_DIR": paths.USER_SKILLS_DIR,
|
||||
"_active_workspace": paths._active_workspace,
|
||||
"_EVOSCIENTIST_DATA_ROOT": paths._EVOSCIENTIST_DATA_ROOT,
|
||||
}
|
||||
yield
|
||||
paths.WORKSPACE_ROOT = orig["WORKSPACE_ROOT"]
|
||||
@@ -32,6 +33,7 @@ def _restore_paths():
|
||||
paths.GLOBAL_MEMORIES_DIR = orig["GLOBAL_MEMORIES_DIR"]
|
||||
paths.USER_SKILLS_DIR = orig["USER_SKILLS_DIR"]
|
||||
paths._active_workspace = orig["_active_workspace"]
|
||||
paths._EVOSCIENTIST_DATA_ROOT = orig["_EVOSCIENTIST_DATA_ROOT"]
|
||||
|
||||
|
||||
class TestSetWorkspaceRoot:
|
||||
@@ -140,6 +142,63 @@ class TestDataDir:
|
||||
assert paths.GLOBAL_MEMORIES_DIR == paths.DATA_DIR / "memories"
|
||||
|
||||
|
||||
class TestGatewayDataDirs:
|
||||
def test_evoscientist_root_prefers_home_override(self, tmp_path, monkeypatch):
|
||||
home = tmp_path / "runtime-home"
|
||||
monkeypatch.setenv("EVOSCIENTIST_HOME", str(home))
|
||||
|
||||
assert paths.evoscientist_root() == home.resolve()
|
||||
|
||||
def test_evoscientist_root_falls_back_to_data_dir(self, tmp_path, monkeypatch):
|
||||
data_dir = tmp_path / "app-data"
|
||||
monkeypatch.delenv("EVOSCIENTIST_HOME", raising=False)
|
||||
monkeypatch.setattr(paths, "DATA_DIR", data_dir)
|
||||
|
||||
assert paths.evoscientist_root() == data_dir.resolve()
|
||||
|
||||
def test_data_root_respects_environment_override(self, tmp_path, monkeypatch):
|
||||
data_root = tmp_path / "web-data"
|
||||
monkeypatch.setenv("EVOSCIENTIST_DATA_ROOT", str(data_root))
|
||||
paths._EVOSCIENTIST_DATA_ROOT = None
|
||||
|
||||
assert paths._data_root() == data_root.resolve()
|
||||
|
||||
def test_user_thread_and_global_dirs_are_created(self, tmp_path, monkeypatch):
|
||||
data_root = tmp_path / "web-data"
|
||||
monkeypatch.setenv("EVOSCIENTIST_DATA_ROOT", str(data_root))
|
||||
paths._EVOSCIENTIST_DATA_ROOT = None
|
||||
|
||||
user_dir = paths.user_data_dir("user-a")
|
||||
thread_dir = paths.thread_data_dir("user-a", "thread-1")
|
||||
shared_dir = paths.global_data_dir("user-a")
|
||||
|
||||
assert user_dir == data_root / "user-a"
|
||||
assert thread_dir == user_dir / "thread-1"
|
||||
assert shared_dir == user_dir / "__global__"
|
||||
assert user_dir.is_dir()
|
||||
assert thread_dir.is_dir()
|
||||
assert shared_dir.is_dir()
|
||||
|
||||
def test_iter_user_data_dirs_yields_directories_only(self, tmp_path, monkeypatch):
|
||||
data_root = tmp_path / "web-data"
|
||||
monkeypatch.setenv("EVOSCIENTIST_DATA_ROOT", str(data_root))
|
||||
paths._EVOSCIENTIST_DATA_ROOT = None
|
||||
paths.user_data_dir("user-a")
|
||||
paths.user_data_dir("user-b")
|
||||
(data_root / "metadata.json").write_text("{}", encoding="utf-8")
|
||||
|
||||
assert {path.name for path in paths.iter_user_data_dirs()} == {
|
||||
"user-a",
|
||||
"user-b",
|
||||
}
|
||||
|
||||
def test_uploads_dir_uses_evoscientist_root(self, tmp_path, monkeypatch):
|
||||
home = tmp_path / "runtime-home"
|
||||
monkeypatch.setenv("EVOSCIENTIST_HOME", str(home))
|
||||
|
||||
assert paths.uploads_dir() == home.resolve() / "uploads"
|
||||
|
||||
|
||||
class TestLegacySessionsDbMigration:
|
||||
"""Tests for migrate_legacy_sessions_db() — transitional helper.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user