UNPKG

@adikari/config-manager

Version:

Tool to deploy configs to different stores

64 lines (51 loc) 1.61 kB
const mockGetParameters = jest.fn(); jest.mock('../../services/parameter-store/make-parameter-store', () => ({ makeParameterStore: () => ({ getParameters: mockGetParameters }) })); jest.mock('../../services/settings/make-settings-service', () => ({ makeSettingsService: () => ({ getSettings: () => Promise.resolve({ configParameters: ['/test/john', '/test/steph'], secretParameters: ['/test/SOME_SECRET'] }) }) })); const path = require('path'); const { makeConfigManager } = require('../../make-config-manager'); describe('fetch', () => { const configManager = makeConfigManager({ stage: 'testing', config: path.resolve(__dirname, '../../../mocks/ssm-provider.yml') }); it('should retreive the requested keys', () => { mockGetParameters.mockImplementation(() => Promise.resolve({ john: 'doe', steph: 'curry' }) ); expect.assertions(1); return configManager.fetch({ keys: ['john', 'steph'] }).then(() => { expect(mockGetParameters.mock.calls[0][0]).toEqual({ parameterNames: ['/test/john', '/test/steph'] }); }); }); it('should retreive the requested keys only if they exist', () => { mockGetParameters.mockImplementation(() => Promise.resolve({ john: 'doe', steph: 'curry' }) ); expect.assertions(1); return configManager.fetch({ keys: ['john', 'steph', 'test'] }).then(() => { expect(mockGetParameters.mock.calls[0][0]).toEqual({ parameterNames: ['/test/john', '/test/steph'] }); }); }); });