refactor: govern background job execution

This commit is contained in:
leefer
2026-07-29 19:57:31 +08:00
parent 02af8488b3
commit 5f0b9735bd
15 changed files with 520 additions and 52 deletions
+13
View File
@@ -23,6 +23,7 @@ class GovernanceRegistryTests(unittest.TestCase):
self.api = load("api.config.json")
self.data = load("data-fields.config.json")
self.quality = load("data-quality.config.json")
self.jobs = load("jobs.config.json")
def test_features_are_unique_and_use_declared_roles(self) -> None:
roles = set(self.features["roles"])
@@ -92,6 +93,18 @@ class GovernanceRegistryTests(unittest.TestCase):
all(str(rule.get("unit_profile") or "none") in profiles for rule in rules.values())
)
def test_background_jobs_have_complete_unique_runtime_contracts(self) -> None:
jobs = self.jobs["jobs"]
ids = [item["id"] for item in jobs]
self.assertEqual(len(ids), len(set(ids)))
for item in jobs:
self.assertTrue(item["schedule"])
self.assertTrue(item["input_date_policy"])
self.assertTrue(item["lock_key"])
self.assertGreater(int(item["timeout_seconds"]), 0)
self.assertGreater(int(item["max_attempts"]), 0)
self.assertTrue(item["output_version"])
if __name__ == "__main__":
unittest.main()