Files
2026-07-13 13:39:12 +08:00

23 lines
737 B
TypeScript

import test from "node:test";
import assert from "node:assert/strict";
import { publicPolicy } from "../../../src/server/authz/policies/public.ts";
import type { PolicyContext } from "../../../src/server/authz/context.ts";
function ctx(): PolicyContext {
return {
request: { method: "GET", headers: new Headers() },
classification: { routeClass: "PUBLIC", reason: "public_prefix", normalizedPath: "/api/init" },
requestId: "req_test",
};
}
test("publicPolicy always allows with anonymous subject", async () => {
const out = await publicPolicy.evaluate(ctx());
assert.equal(out.allow, true);
if (out.allow) {
assert.equal(out.subject.kind, "anonymous");
assert.equal(out.subject.id, "anonymous");
}
});