UNPKG

@dossierhq/integration-test

Version:

Integration test to ensure that different Dossier database adapters work as expected.

52 lines 1.68 kB
/// <reference types="./TestClients.d.ts" /> const principals = { main: { provider: 'test', identifier: 'main', defaultAuthKeys: [''], }, secondary: { provider: 'test', identifier: 'secondary', defaultAuthKeys: [''], }, random: { provider: 'test', identifier: 'random', defaultAuthKeys: [''], }, }; async function sessionForPrincipal(server, principal, sessionType) { principal ??= 'main'; const principalConfig = { ...principals[principal] }; let identifier = principalConfig.identifier; if (identifier === 'random') { identifier = `random-${Math.random()}`; } return await server.createSession({ ...principalConfig, identifier, readonly: sessionType === 'readonly', }); } export function createDossierClientProvider(server) { return { dossierClient(principal, sessionType) { const sessionResult = sessionForPrincipal(server, principal, sessionType); return server.createDossierClient(() => sessionResult); }, }; } export function createSharedDossierClientProvider(server) { return { dossierClient(principal, sessionType) { const sessionResult = sessionForPrincipal(server, principal, sessionType); return server.createDossierClient(() => sessionResult); }, publishedClient(principal, sessionType) { const sessionResult = sessionForPrincipal(server, principal, sessionType); return server.createPublishedDossierClient(() => sessionResult); }, }; } //# sourceMappingURL=TestClients.js.map