UNPKG

@kilterset/auth0-actions-testing

Version:

Test and develop Auth0 Actions or Okta CIC Actions locally.

48 lines (39 loc) 1.09 kB
import Auth0 from "../../types"; import { cache as mockCache } from "./cache"; import { accessTokenMock } from "./access-token"; import { accessMock } from "./access"; export interface CredentialsExchangeOptions { cache?: Record<string, string>; } export interface CredentialsExchangeState { access: { denied: false } | { denied: { code: string; reason: string } }; accessToken: { claims: Record<string, unknown>; }; cache: Auth0.API.Cache; } export function credentialsExchange({ cache, }: CredentialsExchangeOptions = {}) { const apiCache = mockCache(cache); const access = accessMock("CredentialsExchange"); const accessToken = accessTokenMock("CredentialsExchange"); const state: CredentialsExchangeState = { access: access.state, accessToken: accessToken.state, cache: apiCache, }; const api: Auth0.API.CredentialsExchange = { get access() { return access.build(api); }, get accessToken() { return accessToken.build(api); }, cache: apiCache, }; return { implementation: api, state, }; }