Spaces:
Paused
Paused
| from __future__ import annotations | |
| import json | |
| from clawteam.workspace.context import _resolve_repo_path | |
| def test_resolve_repo_path_uses_workspace_registry(isolated_data_dir): | |
| repo_root = isolated_data_dir / "demo-repo" | |
| repo_root.mkdir() | |
| registry_path = ( | |
| isolated_data_dir | |
| / "workspaces" | |
| / "demo-team" | |
| / "workspace-registry.json" | |
| ) | |
| registry_path.parent.mkdir(parents=True, exist_ok=True) | |
| registry_path.write_text( | |
| json.dumps( | |
| { | |
| "team_name": "demo-team", | |
| "repo_root": str(repo_root), | |
| "workspaces": [], | |
| } | |
| ), | |
| encoding="utf-8", | |
| ) | |
| assert _resolve_repo_path("demo-team") == str(repo_root) | |
| def test_resolve_repo_path_prefers_explicit_repo(isolated_data_dir): | |
| registry_path = ( | |
| isolated_data_dir | |
| / "workspaces" | |
| / "demo-team" | |
| / "workspace-registry.json" | |
| ) | |
| registry_path.parent.mkdir(parents=True, exist_ok=True) | |
| registry_path.write_text( | |
| json.dumps( | |
| { | |
| "team_name": "demo-team", | |
| "repo_root": "/tmp/registry-repo", | |
| "workspaces": [], | |
| } | |
| ), | |
| encoding="utf-8", | |
| ) | |
| assert _resolve_repo_path("demo-team", "/tmp/explicit-repo") == "/tmp/explicit-repo" | |