feat: add TCS mother-root dynamic number navigator
This commit is contained in:
parent
c323b3aa4e
commit
5bfe163748
32 changed files with 1702 additions and 28 deletions
|
|
@ -0,0 +1,41 @@
|
|||
#!/usr/bin/env python3
|
||||
import importlib.util
|
||||
import json
|
||||
from pathlib import Path
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
import unittest
|
||||
|
||||
SCRIPT = Path(__file__).with_name('tcs_mother_root_agent.py')
|
||||
ROOT = SCRIPT.parents[2]
|
||||
SPEC = importlib.util.spec_from_file_location('tcs_root_agent', SCRIPT)
|
||||
MODULE = importlib.util.module_from_spec(SPEC)
|
||||
SPEC.loader.exec_module(MODULE)
|
||||
|
||||
|
||||
class RootAgentTest(unittest.TestCase):
|
||||
def test_worktree_map_has_valid_roots(self):
|
||||
MODULE.validate_root(json.loads((ROOT / 'routing/tcs-mother-root-dynamic-navigation-map.json').read_text()))
|
||||
|
||||
def test_old_and_quarantine_paths_fail(self):
|
||||
for value in ['../escape', 'routing/../../escape', 'WORK-工作区/guanghu-ice-heart/map.json', 'isolation/old/map.json']:
|
||||
with self.assertRaises(MODULE.RootError):
|
||||
MODULE.safe_relative(value)
|
||||
|
||||
def test_committed_refresh_status_resolve_and_history_reject(self):
|
||||
with tempfile.TemporaryDirectory() as temp:
|
||||
base = Path(temp)
|
||||
output, pointer = base / 'state', base / 'TCS-ROOT.json'
|
||||
refresh = MODULE.refresh(ROOT, output, pointer, 'test')
|
||||
self.assertEqual(refresh['outcome'], 'PASS')
|
||||
self.assertEqual(MODULE.status(ROOT, output, pointer)['state'], 'TCS_ROOT_CURRENT_VERIFIED')
|
||||
self.assertEqual(MODULE.resolve(output, 'TCS-0002∞', None)['result']['object_kind'], 'GUANGHU_HUMAN_TEAM_BODY_ROOT')
|
||||
self.assertEqual(MODULE.resolve(output, 'TCS-0002', 'GUANGHU_HUMAN_TEAM_BODY_ROOT')['state'], 'TYPED_ALIAS_RESOLVED')
|
||||
self.assertEqual(MODULE.resolve(output, 'GLW-SYS-0001', None)['state'], 'HISTORY_ONLY_NO_CURRENT_ROUTE')
|
||||
again = MODULE.refresh(ROOT, output, pointer, 'test')
|
||||
self.assertEqual(again['state'], 'CURRENT_IDEMPOTENT')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Loading…
Reference in a new issue