test(tests): update test suite to align with isolation refactor and relative skill path

This commit is contained in:
2026-07-24 23:37:19 +09:00
parent cb88771923
commit 9ba45e536f
3 changed files with 15 additions and 24 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ def mam_sandbox(tmp_path, monkeypatch):
Also overrides environments (HOME, PATH, AGENT_SESSIONS_YAML, etc.) for isolation. Also overrides environments (HOME, PATH, AGENT_SESSIONS_YAML, etc.) for isolation.
""" """
# 1. Copy the skill scripts to sandboxed tmp_path/skills and tmp_path/.agents/skills # 1. Copy the skill scripts to sandboxed tmp_path/skills and tmp_path/.agents/skills
src_skills = "/home/godopu16/PuKi/laa/canary_projects/multi-agent-mux/.agents/skills" src_skills = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", ".agents", "skills"))
shutil.copytree(src_skills, tmp_path / "skills") shutil.copytree(src_skills, tmp_path / "skills")
shutil.copytree(src_skills, tmp_path / ".agents" / "skills") shutil.copytree(src_skills, tmp_path / ".agents" / "skills")
+12 -12
View File
@@ -50,10 +50,10 @@ def test_create_derive_session_name_weird_characters(mam_sandbox):
def test_create_isolation_lever(mam_sandbox): def test_create_isolation_lever(mam_sandbox):
"""Test isolation_lever outputs for each supported agent.""" """Test isolation_lever outputs for each supported agent."""
agents = { agents = {
"claude": "claude_config_dir", "claude": "none",
"cline": "cline_data_dir", "cline": "none",
"agy": "home", "agy": "none",
"hermes": "home", "hermes": "none",
"unknown": "" "unknown": ""
} }
for agent, expected in agents.items(): for agent, expected in agents.items():
@@ -65,11 +65,11 @@ def test_create_isolation_env_prefix(mam_sandbox):
"""Test isolation_env_prefix format outputs.""" """Test isolation_env_prefix format outputs."""
res = run_lib_func(mam_sandbox, "isolation_env_prefix", "claude", "/tmp/iso") res = run_lib_func(mam_sandbox, "isolation_env_prefix", "claude", "/tmp/iso")
assert res.returncode == 0 assert res.returncode == 0
assert res.stdout == "CLAUDE_CONFIG_DIR=/tmp/iso " assert res.stdout == ""
res2 = run_lib_func(mam_sandbox, "isolation_env_prefix", "agy", "/tmp/iso") res2 = run_lib_func(mam_sandbox, "isolation_env_prefix", "agy", "/tmp/iso")
assert res2.returncode == 0 assert res2.returncode == 0
assert res2.stdout == "HOME=/tmp/iso " assert res2.stdout == ""
res3 = run_lib_func(mam_sandbox, "isolation_env_prefix", "cline", "/tmp/iso") res3 = run_lib_func(mam_sandbox, "isolation_env_prefix", "cline", "/tmp/iso")
assert res3.returncode == 0 assert res3.returncode == 0
@@ -79,7 +79,7 @@ def test_create_isolation_cmd_args(mam_sandbox):
"""Test isolation_cmd_args format outputs.""" """Test isolation_cmd_args format outputs."""
res = run_lib_func(mam_sandbox, "isolation_cmd_args", "cline", "/tmp/iso") res = run_lib_func(mam_sandbox, "isolation_cmd_args", "cline", "/tmp/iso")
assert res.returncode == 0 assert res.returncode == 0
assert res.stdout == "--data-dir /tmp/iso" assert res.stdout == ""
res2 = run_lib_func(mam_sandbox, "isolation_cmd_args", "claude", "/tmp/iso") res2 = run_lib_func(mam_sandbox, "isolation_cmd_args", "claude", "/tmp/iso")
assert res2.returncode == 0 assert res2.returncode == 0
@@ -105,14 +105,14 @@ def test_create_validate_env_key(mam_sandbox):
# ============================================================================== # ==============================================================================
def test_resume_resolve_herdr_session_default(mam_sandbox): def test_resume_resolve_herdr_session_default(mam_sandbox):
"""Test resolve_herdr_session fallback behavior when session is not in YAML.""" """Test resolve_herdr_workspace fallback behavior when session is not in YAML."""
res = run_lib_func(mam_sandbox, "resolve_herdr_session", "non-existent-session") res = run_lib_func(mam_sandbox, "resolve_herdr_workspace", "non-existent-session")
assert res.returncode == 0 assert res.returncode == 0
assert res.stdout.strip() == "default" assert res.stdout.strip() != ""
def test_resume_resolve_herdr_session_env(mam_sandbox): def test_resume_resolve_herdr_session_env(mam_sandbox):
"""Test resolve_herdr_session fallback to HERDR_SERVER_NAME env var.""" """Test resolve_herdr_workspace fallback to HERDR_SERVER_NAME env var."""
res = run_lib_func(mam_sandbox, "resolve_herdr_session", "non-existent-session", env={"HERDR_SERVER_NAME": "custom_server"}) res = run_lib_func(mam_sandbox, "resolve_herdr_workspace", "non-existent-session", env={"HERDR_SERVER_NAME": "custom_server"})
assert res.returncode == 0 assert res.returncode == 0
assert res.stdout.strip() == "custom_server" assert res.stdout.strip() == "custom_server"
+2 -11
View File
@@ -97,23 +97,14 @@ d['herdr_sessions'] = [
assert "Duplicate running conversation ID" in res.stderr assert "Duplicate running conversation ID" in res.stderr
def test_comp_create_isolation_folder_setup(mam_sandbox): def test_comp_create_isolation_folder_setup(mam_sandbox):
"""Verify that provision_isolation correctly creates directories and symlinks.""" """Verify that provision_isolation runs cleanly as a stub for global config isolation."""
lib_path = mam_sandbox / ".agents" / "skills" / "lib.sh" lib_path = mam_sandbox / ".agents" / "skills" / "lib.sh"
iso_root = mam_sandbox / "iso_home_test" iso_root = mam_sandbox / "iso_home_test"
# Mock global claude credentials
claude_cred = mam_sandbox / ".claude"
claude_cred.mkdir(parents=True, exist_ok=True)
(claude_cred / ".credentials.json").write_text('{"token": "xyz"}')
cmd_str = f"source {lib_path} && provision_isolation claude {iso_root}" cmd_str = f"source {lib_path} && provision_isolation claude {iso_root}"
res = subprocess.run(["bash", "-c", cmd_str], capture_output=True, text=True) res = subprocess.run(["bash", "-c", cmd_str], capture_output=True, text=True)
assert res.returncode == 0 assert res.returncode == 0
assert res.stdout == ""
# Verify symlink exists and points to the credentials
cred_sym = iso_root / ".credentials.json"
assert cred_sym.is_symlink()
assert cred_sym.read_text() == '{"token": "xyz"}'
def test_comp_create_sqlite_tables_created(mam_sandbox, mock_herdr, mock_agents): def test_comp_create_sqlite_tables_created(mam_sandbox, mock_herdr, mock_agents):
"""Verify that tables exist and contain records after a full create_session.sh run.""" """Verify that tables exist and contain records after a full create_session.sh run."""