test(security): keep policy approval coverage compact

This commit is contained in:
Jesse Merhi
2026-08-10 12:44:46 +10:00
committed by jesse-merhi
parent 4096c19642
commit 0078cd4a58
+14 -46
View File
@@ -797,57 +797,25 @@ describe("plugin management service", () => {
onInstallPolicyWarning: expect.any(Function),
}),
);
});
it("consumes Gateway install-policy acknowledgement after one warning", async () => {
const installParams = expectDefined(
mocks.clawhubInstall.mock.calls[0],
"clawhub install call test invariant",
)[0] as {
onInstallPolicyWarning?: (
request: InstallPolicyWarningAcknowledgementRequest,
) => Promise<boolean>;
};
const acknowledge = installParams.onInstallPolicyWarning;
if (!acknowledge) {
throw new Error("expected install-policy acknowledgement callback");
}
const warningRequest: InstallPolicyWarningAcknowledgementRequest = {
targetName: "diffs",
targetType: "plugin",
requestMode: "install",
};
const laterWarning = {
targetName: "diffs",
targetType: "plugin" as const,
requestMode: "install" as const,
reason: "Dependency tree requires separate review",
findings: [
{
ruleId: "dependency-review",
severity: "warn" as const,
message: "A dependency triggered policy",
},
],
};
mocks.readConfig.mockResolvedValue(configSnapshot());
mockHostedOfficialCatalog([hostedFeedDiffsEntry]);
mocks.clawhubInstall.mockImplementation(
async (installParams: {
onInstallPolicyWarning?: (
request: InstallPolicyWarningAcknowledgementRequest,
) => Promise<boolean>;
}) => {
const acknowledge = installParams.onInstallPolicyWarning;
if (!acknowledge) {
throw new Error("expected install-policy acknowledgement callback");
}
expect(await acknowledge(warningRequest)).toBe(true);
expect(await acknowledge(warningRequest)).toBe(false);
return {
ok: false,
error: "Install cancelled: the install policy warning was not approved.",
code: "security_scan_blocked",
installPolicyWarning: laterWarning,
};
},
);
await expect(
installManagedPlugin({
request: { source: "official", pluginId: "diffs", acknowledgeInstallPolicyWarning: true },
env: {},
}),
).rejects.toMatchObject({ installPolicyWarning: laterWarning });
expect(mocks.persistInstall).not.toHaveBeenCalled();
expect(await acknowledge(warningRequest)).toBe(true);
expect(await acknowledge(warningRequest)).toBe(false);
});
it("removes only the newly installed managed target after persistence conflicts", async () => {