From 5c4345da4f896c40089a7254eaaedf718739202c Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Mon, 12 Jan 2026 15:49:31 -0600 Subject: [PATCH] test: fix read test --- packages/opencode/test/tool/read.test.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/opencode/test/tool/read.test.ts b/packages/opencode/test/tool/read.test.ts index 1a08b15b4..04ffc80ea 100644 --- a/packages/opencode/test/tool/read.test.ts +++ b/packages/opencode/test/tool/read.test.ts @@ -124,7 +124,7 @@ describe("tool.read external_directory permission", () => { }) }) -describe("tool.read env file blocking", () => { +describe("tool.read env file permissions", () => { const cases: [string, boolean][] = [ [".env", true], [".env.local", true], @@ -136,7 +136,7 @@ describe("tool.read env file blocking", () => { ] describe.each(["build", "plan"])("agent=%s", (agentName) => { - test.each(cases)("%s blocked=%s", async (filename, blocked) => { + test.each(cases)("%s asks=%s", async (filename, shouldAsk) => { await using tmp = await tmpdir({ init: (dir) => Bun.write(path.join(dir, filename), "content"), }) @@ -144,11 +144,15 @@ describe("tool.read env file blocking", () => { directory: tmp.path, fn: async () => { const agent = await Agent.get(agentName) + let askedForEnv = false const ctxWithPermissions = { ...ctx, ask: async (req: Omit) => { for (const pattern of req.patterns) { const rule = PermissionNext.evaluate(req.permission, pattern, agent.permission) + if (rule.action === "ask" && req.permission === "read") { + askedForEnv = true + } if (rule.action === "deny") { throw new PermissionNext.DeniedError(agent.permission) } @@ -156,12 +160,8 @@ describe("tool.read env file blocking", () => { }, } const read = await ReadTool.init() - const promise = read.execute({ filePath: path.join(tmp.path, filename) }, ctxWithPermissions) - if (blocked) { - await expect(promise).rejects.toThrow(PermissionNext.DeniedError) - } else { - expect((await promise).output).toContain("content") - } + await read.execute({ filePath: path.join(tmp.path, filename) }, ctxWithPermissions) + expect(askedForEnv).toBe(shouldAsk) }, }) })