fix(authz): make failed deployment retries safe

This commit is contained in:
冰朔 2026-08-06 12:58:31 +08:00
commit 3edca726c1
2 changed files with 18 additions and 2 deletions

View file

@ -203,5 +203,15 @@ test("existing service update restores every changed file when acceptance fails"
assert.equal(fs.readFileSync(path.join(installRoot, "server.js"), "utf8"), "old server\n");
assert.equal(fs.existsSync(path.join(installRoot, "alias.json")), false);
assert.equal(fs.readFileSync(path.join(unitDir, "guanghu-ai-discovery.service"), "utf8"), "old unit\n");
const retry = await provision({ target: "JD-FD-PRIMARY", action: "provision-approved-architecture", resource: `${updateRequestId}@${commit}` }, {
repoDir, releasesDir, unitDir, receiptsDir, installRootOverride: installRoot,
run: async (file, args) => ({ stdout: args.includes("rev-parse") ? `${commit}\n` : "" }),
getJson: async () => ({ ok: true }),
healthAttempts: 1,
healthDelayMs: 0,
});
assert.equal(retry.ok, true);
assert.equal(fs.readFileSync(path.join(installRoot, "server.js"), "utf8"), "new server\n");
assert.equal(fs.existsSync(path.join(installRoot, "alias.json")), true);
} finally { fs.rmSync(root, { recursive: true, force: true }); }
});