Files
harness-tools/scripts/test_orca_nono_profile.py
T

66 lines
2.1 KiB
Python

from __future__ import annotations
import importlib.util
import unittest
from pathlib import Path
MODULE_PATH = Path(__file__).with_name("orca-nono-profile.py")
SPEC = importlib.util.spec_from_file_location("orca_nono_profile", MODULE_PATH)
if SPEC is None or SPEC.loader is None:
raise RuntimeError(f"Could not load runner resolver from {MODULE_PATH}")
MODULE = importlib.util.module_from_spec(SPEC)
SPEC.loader.exec_module(MODULE)
class ResolveProfileTests(unittest.TestCase):
def setUp(self) -> None:
self.mapping = {
"defaultProfile": "pi-orca-local",
"projectRoots": {
"/srv/work": "pi-work",
"/srv/work/special": "pi-special",
},
"projects": {
"/srv/work/special/override": "pi-override",
},
}
def test_exact_project_mapping_wins(self) -> None:
self.assertEqual(
MODULE.resolve_profile(self.mapping, Path("/srv/work/special/override")),
("pi-override", "project"),
)
def test_longest_project_root_wins(self) -> None:
self.assertEqual(
MODULE.resolve_profile(self.mapping, Path("/srv/work/special/repository")),
("pi-special", "project-root"),
)
def test_project_root_matches_descendants(self) -> None:
self.assertEqual(
MODULE.resolve_profile(self.mapping, Path("/srv/work/code/repository")),
("pi-work", "project-root"),
)
def test_linked_worktree_uses_its_launch_path_root(self) -> None:
self.assertEqual(
MODULE.resolve_profile(
self.mapping,
Path("/home/jb/code/main-checkout"),
Path("/srv/work/worktrees/feature"),
),
("pi-work", "project-root"),
)
def test_project_root_does_not_match_similar_prefix(self) -> None:
self.assertEqual(
MODULE.resolve_profile(self.mapping, Path("/srv/worker/repository")),
("pi-orca-local", "default"),
)
if __name__ == "__main__":
unittest.main()