feat(ack): refine intake and validation workflow

This commit is contained in:
2026-08-04 10:52:37 +08:00
parent b9c82b5520
commit 5018a1801d
32 changed files with 1602 additions and 302 deletions
+27
View File
@@ -185,6 +185,33 @@ class AckDeliveryValidationTests(unittest.TestCase):
self.assertEqual(validate_delivery.validate_builtin(contract), [])
def test_default_validation_profile_requires_deploy_and_health_check(self) -> None:
contract = valid_contract()
contract["defaultProfile"] = "local-validation"
contract["profiles"]["local-validation"] = {
"stopAt": "validation_ready",
"steps": [
{"id": "build-local", "action": "build", "artifact": "service-deb"},
{
"id": "deploy-local",
"action": "deploy",
"artifact": "service-deb",
"environment": "test-server",
},
{
"id": "health-local",
"action": "health-check",
"environment": "test-server",
},
],
}
self.assertEqual(validate_delivery.validate_builtin(contract), [])
contract["profiles"]["local-validation"]["steps"].pop()
errors = validate_delivery.validate_builtin(contract)
self.assertTrue(any("必须全部完成 health-check" in item for item in errors))
def test_publish_and_health_check_require_prior_steps(self) -> None:
contract = valid_contract()
steps = contract["profiles"]["review"]["steps"]