feat: harden CASAN production install lifecycle

This commit is contained in:
thanhnv
2026-07-24 11:11:44 +07:00
parent c7671ab198
commit 114340c719
48 changed files with 1036 additions and 165 deletions
@@ -75,10 +75,13 @@ class ProjectScaffoldTests(unittest.TestCase):
args = options(directory, with_harness=True)
first = SCAFFOLD.scaffold(args)
second = SCAFFOLD.scaffold(args)
registry = json.loads((Path(directory) / "packages/casan-harness/level5/project-registry.json").read_text(encoding="utf-8"))
registry = json.loads((Path(directory) / "packages/casan-harness/config/project-registry.json").read_text(encoding="utf-8"))
self.assertEqual([item["project_id"] for item in registry["projects"]], ["inventory-app"])
self.assertGreater(first["created"], 100)
self.assertEqual(second["created"], 0)
self.assertFalse((Path(directory) / "packages/casan-harness/tests").exists())
self.assertFalse((Path(directory) / "packages/casan-harness/level5").exists())
self.assertFalse((Path(directory) / "packages/casan-harness/scripts/bash/ci-harness-gate.sh").exists())
def test_invalid_identifiers_and_broad_target_fail_closed(self):
with tempfile.TemporaryDirectory() as directory: