UNPKG

@kilterset/auth0-actions-testing

Version:

Test and develop Auth0 Actions or Okta CIC Actions locally.

49 lines (41 loc) 1.62 kB
import test from "node:test"; import { strictEqual, deepStrictEqual, throws, ok } from "node:assert"; import { credentialsExchange, cache } from "../../mock/api"; import { request, user } from "../../mock"; import { encodeHS256JWT } from "../../jwt/hs256"; test("Credentials Exchange API", async (t) => { await t.test("access", async (t) => { const { implementation: api, state } = credentialsExchange(); strictEqual( api.access.deny("invalid_request", "Only cool kids allowed"), api ); deepStrictEqual(state.access, { denied: { code: "invalid_request", reason: "Only cool kids allowed", } }); }); await t.test("accessToken", async (t) => { await t.test("can set custom claims", async (t) => { const { implementation: api, state } = credentialsExchange(); strictEqual(api.accessToken.setCustomClaim("favourite_pet", "cat"), api); deepStrictEqual(state.accessToken.claims, { favourite_pet: "cat" }); }); }); await t.test("cache", async (t) => { await t.test("can set cache", async (t) => { const { implementation: api, state } = credentialsExchange(); strictEqual(api.cache.set("location", "Ōtautahi").type, "success"); deepStrictEqual(state.cache.get("location"), "Ōtautahi"); }); await t.test("can get cache", async (t) => { const { implementation: api, state } = credentialsExchange({ cache: { location: "Ōtautahi" }, }); strictEqual(state.cache.get("location"), "Ōtautahi"); strictEqual(state.cache.get("nonexistent"), undefined); }); }); });