Added nono profiles & orca integration - Added some extensions to start working on
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user