Просмотр исходного кода

test(core): cover managed output read permissions (#31166)

Kit Langton 2 месяцев назад
Родитель
Сommit
1025540fcc
1 измененных файлов с 15 добавлено и 0 удалено
  1. 15 0
      packages/core/test/permission.test.ts

+ 15 - 0
packages/core/test/permission.test.ts

@@ -161,6 +161,21 @@ describe("PermissionV2", () => {
     }),
   )
 
+  it.effect("allows managed output reads without granting external directory access", () =>
+    Effect.gen(function* () {
+      yield* setup([
+        { action: "*", resource: "*", effect: "deny" },
+        { action: "read", resource: "*", effect: "allow" },
+      ])
+      const service = yield* PermissionV2.Service
+
+      expect(yield* service.ask(assertion({ resources: ["tool_123"] }))).toMatchObject({ effect: "allow" })
+      expect(
+        yield* service.ask(assertion({ action: "external_directory", resources: ["/tmp/tool-output/*"] })),
+      ).toMatchObject({ effect: "deny" })
+    }),
+  )
+
   it.effect("uses build permissions when the Session agent is omitted", () =>
     Effect.gen(function* () {
       yield* setup()