From 420b0672e4a8d183b08b564277ac9514e25985c3 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 13 Mar 2026 20:12:12 +0000 Subject: [PATCH] refactor: share allow-always test helpers --- src/infra/exec-approvals-allow-always.test.ts | 53 +++++++++++-------- 1 file changed, 31 insertions(+), 22 deletions(-) diff --git a/src/infra/exec-approvals-allow-always.test.ts b/src/infra/exec-approvals-allow-always.test.ts index 4f31e693ab8..a0ba77ecb6b 100644 --- a/src/infra/exec-approvals-allow-always.test.ts +++ b/src/infra/exec-approvals-allow-always.test.ts @@ -18,6 +18,31 @@ describe("resolveAllowAlwaysPatterns", () => { return exe; } + function resolvePersistedPatterns(params: { + command: string; + dir: string; + env: Record; + safeBins: ReturnType; + }) { + const analysis = evaluateShellAllowlist({ + command: params.command, + allowlist: [], + safeBins: params.safeBins, + cwd: params.dir, + env: params.env, + platform: process.platform, + }); + return { + analysis, + persisted: resolveAllowAlwaysPatterns({ + segments: analysis.segments, + cwd: params.dir, + env: params.env, + platform: process.platform, + }), + }; + } + function expectAllowAlwaysBypassBlocked(params: { dir: string; firstCommand: string; @@ -26,19 +51,11 @@ describe("resolveAllowAlwaysPatterns", () => { persistedPattern: string; }) { const safeBins = resolveSafeBins(undefined); - const first = evaluateShellAllowlist({ + const { persisted } = resolvePersistedPatterns({ command: params.firstCommand, - allowlist: [], + dir: params.dir, + env: params.env, safeBins, - cwd: params.dir, - env: params.env, - platform: process.platform, - }); - const persisted = resolveAllowAlwaysPatterns({ - segments: first.segments, - cwd: params.dir, - env: params.env, - platform: process.platform, }); expect(persisted).toEqual([params.persistedPattern]); @@ -79,19 +96,11 @@ describe("resolveAllowAlwaysPatterns", () => { env: Record; safeBins: ReturnType; }) { - const first = evaluateShellAllowlist({ + const { persisted } = resolvePersistedPatterns({ command: params.command, - allowlist: [], + dir: params.dir, + env: params.env, safeBins: params.safeBins, - cwd: params.dir, - env: params.env, - platform: process.platform, - }); - const persisted = resolveAllowAlwaysPatterns({ - segments: first.segments, - cwd: params.dir, - env: params.env, - platform: process.platform, }); expect(persisted).toEqual([params.script]);