UNPKG

@updating-secrets/1password-adapter

Version:

1password adapter for the updating-secrets package.

32 lines (31 loc) 1.08 kB
import { assert } from '@augment-vir/assert'; /** * A mock implementation of `InfisicalSDK` from the * [@infisical/sdk](https://www.npmjs.com/package/@infisical/sdk) package. This only mocks what is * necessary for the infisical adapter to work. * * @category Mocks */ export class MockOnePasswordSdk { mockSecrets; constructor(mockSecrets) { this.mockSecrets = mockSecrets; } /** Mocks 1Password's `Client.items` API. */ items = { /** Mocks 1Password's `Client.items.get` method. */ get: async (vaultId, itemId) => { const mockValue = this.mockSecrets[vaultId]?.[itemId]; assert.isDefined(mockValue, `No mock 1Password secret found with vault ID '${vaultId}' and item id '${itemId}'`); const item = { fields: Object.entries(mockValue).map(([title, value,]) => { return { title, value, }; }), }; return Promise.resolve(item); }, }; }