| import { describe, expect, it } from "vitest"; |
| import { normalizeDeviceAuthRole, normalizeDeviceAuthScopes } from "./device-auth.js"; |
|
|
| describe("shared/device-auth", () => { |
| it("trims device auth roles without further rewriting", () => { |
| expect(normalizeDeviceAuthRole(" operator ")).toBe("operator"); |
| expect(normalizeDeviceAuthRole("")).toBe(""); |
| expect(normalizeDeviceAuthRole(" NODE.Admin ")).toBe("NODE.Admin"); |
| }); |
|
|
| it("dedupes, trims, sorts, and filters auth scopes", () => { |
| expect( |
| normalizeDeviceAuthScopes([" node.invoke ", "operator.read", "", "node.invoke", "a.scope"]), |
| ).toEqual(["a.scope", "node.invoke", "operator.read"]); |
| expect(normalizeDeviceAuthScopes(undefined)).toEqual([]); |
| expect(normalizeDeviceAuthScopes(null as unknown as string[])).toEqual([]); |
| expect(normalizeDeviceAuthScopes([" ", "\t", "\n"])).toEqual([]); |
| expect(normalizeDeviceAuthScopes(["z.scope", "A.scope", "m.scope"])).toEqual([ |
| "A.scope", |
| "m.scope", |
| "z.scope", |
| ]); |
| }); |
| }); |
|
|