15 lines
792 B
TypeScript
15 lines
792 B
TypeScript
import assert from "node:assert/strict"
|
|
import { hasPermission, permissionForPath } from "./auth"
|
|
|
|
for (const permission of ["read", "admin", "approve", "pause"]) {
|
|
assert.equal(hasPermission(["mm:settings:admin"], `mm:mcp:${permission}`), true)
|
|
}
|
|
assert.equal(hasPermission(["mm:mcp:admin"], "mm:mcp:read"), true)
|
|
assert.equal(hasPermission(["mm:mcp:read"], "mm:mcp:admin"), false)
|
|
assert.equal(hasPermission(["mm:network:write"], "mm:mcp:read"), false)
|
|
assert.equal(permissionForPath("/mcp"), "mm:mcp:read")
|
|
assert.equal(permissionForPath("/mcp/connections"), "mm:mcp:read")
|
|
assert.notEqual(permissionForPath("/mcp-other"), "mm:mcp:read")
|
|
assert.equal(permissionForPath("/logs"), "mm:servers:read")
|
|
console.log("auth-mcp.test.ts: frontend MCP permissions and exact path boundaries pass")
|