UNPKG

aws-cdk

Version:

CDK Toolkit, the command line tool for CDK apps

43 lines 5.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const client_ssm_1 = require("@aws-sdk/client-ssm"); const api_1 = require("../../lib/api"); const ssm_parameters_1 = require("../../lib/context-providers/ssm-parameters"); const mock_sdk_1 = require("../util/mock-sdk"); const mockSDK = new (class extends mock_sdk_1.MockSdkProvider { forEnvironment() { return Promise.resolve({ sdk: new api_1.SDK(mock_sdk_1.FAKE_CREDENTIAL_CHAIN, mockSDK.defaultRegion, {}), didAssumeRole: false }); } })(); describe('ssmParameters', () => { test('returns value', async () => { (0, mock_sdk_1.restoreSdkMocksToDefault)(); const provider = new ssm_parameters_1.SSMContextProviderPlugin(mockSDK); mock_sdk_1.mockSSMClient.on(client_ssm_1.GetParameterCommand).resolves({ Parameter: { Value: 'bar', }, }); // WHEN const value = await provider.getValue({ account: '1234', region: 'us-east-1', parameterName: 'foo', }); expect(value).toEqual('bar'); }); test('errors when parameter is not found', async () => { (0, mock_sdk_1.restoreSdkMocksToDefault)(); const provider = new ssm_parameters_1.SSMContextProviderPlugin(mockSDK); const notFound = new Error('Parameter not found'); notFound.name = 'ParameterNotFound'; mock_sdk_1.mockSSMClient.on(client_ssm_1.GetParameterCommand).rejects(notFound); // WHEN await expect(provider.getValue({ account: '1234', region: 'us-east-1', parameterName: 'foo', })).rejects.toThrow(/SSM parameter not available in account/); }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NtLXBhcmFtZXRlcnMudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNzbS1wYXJhbWV0ZXJzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxvREFBMEQ7QUFDMUQsdUNBQXVEO0FBQ3ZELCtFQUFzRjtBQUN0RiwrQ0FBbUg7QUFFbkgsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQU0sU0FBUSwwQkFBZTtJQUN6QyxjQUFjO1FBQ25CLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLFNBQUcsQ0FBQyxnQ0FBcUIsRUFBRSxPQUFPLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ25ILENBQUM7Q0FDRixDQUFDLEVBQUUsQ0FBQztBQUVMLFFBQVEsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO0lBQzdCLElBQUksQ0FBQyxlQUFlLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDL0IsSUFBQSxtQ0FBd0IsR0FBRSxDQUFDO1FBQzNCLE1BQU0sUUFBUSxHQUFHLElBQUkseUNBQXdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdkQsd0JBQWEsQ0FBQyxFQUFFLENBQUMsZ0NBQW1CLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDN0MsU0FBUyxFQUFFO2dCQUNULEtBQUssRUFBRSxLQUFLO2FBQ2I7U0FDRixDQUFDLENBQUM7UUFFSCxPQUFPO1FBQ1AsTUFBTSxLQUFLLEdBQUcsTUFBTSxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQ3BDLE9BQU8sRUFBRSxNQUFNO1lBQ2YsTUFBTSxFQUFFLFdBQVc7WUFDbkIsYUFBYSxFQUFFLEtBQUs7U0FDckIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxvQ0FBb0MsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNwRCxJQUFBLG1DQUF3QixHQUFFLENBQUM7UUFDM0IsTUFBTSxRQUFRLEdBQUcsSUFBSSx5Q0FBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV2RCxNQUFNLFFBQVEsR0FBRyxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ2xELFFBQVEsQ0FBQyxJQUFJLEdBQUcsbUJBQW1CLENBQUM7UUFDcEMsd0JBQWEsQ0FBQyxFQUFFLENBQUMsZ0NBQW1CLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFeEQsT0FBTztRQUNQLE1BQU0sTUFBTSxDQUNWLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFDaEIsT0FBTyxFQUFFLE1BQU07WUFDZixNQUFNLEVBQUUsV0FBVztZQUNuQixhQUFhLEVBQUUsS0FBSztTQUNyQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7SUFDbEUsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdldFBhcmFtZXRlckNvbW1hbmQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtc3NtJztcbmltcG9ydCB7IFNESywgU2RrRm9yRW52aXJvbm1lbnQgfSBmcm9tICcuLi8uLi9saWIvYXBpJztcbmltcG9ydCB7IFNTTUNvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4uLy4uL2xpYi9jb250ZXh0LXByb3ZpZGVycy9zc20tcGFyYW1ldGVycyc7XG5pbXBvcnQgeyBGQUtFX0NSRURFTlRJQUxfQ0hBSU4sIE1vY2tTZGtQcm92aWRlciwgbW9ja1NTTUNsaWVudCwgcmVzdG9yZVNka01vY2tzVG9EZWZhdWx0IH0gZnJvbSAnLi4vdXRpbC9tb2NrLXNkayc7XG5cbmNvbnN0IG1vY2tTREsgPSBuZXcgKGNsYXNzIGV4dGVuZHMgTW9ja1Nka1Byb3ZpZGVyIHtcbiAgcHVibGljIGZvckVudmlyb25tZW50KCk6IFByb21pc2U8U2RrRm9yRW52aXJvbm1lbnQ+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgc2RrOiBuZXcgU0RLKEZBS0VfQ1JFREVOVElBTF9DSEFJTiwgbW9ja1NESy5kZWZhdWx0UmVnaW9uLCB7fSksIGRpZEFzc3VtZVJvbGU6IGZhbHNlIH0pO1xuICB9XG59KSgpO1xuXG5kZXNjcmliZSgnc3NtUGFyYW1ldGVycycsICgpID0+IHtcbiAgdGVzdCgncmV0dXJucyB2YWx1ZScsIGFzeW5jICgpID0+IHtcbiAgICByZXN0b3JlU2RrTW9ja3NUb0RlZmF1bHQoKTtcbiAgICBjb25zdCBwcm92aWRlciA9IG5ldyBTU01Db250ZXh0UHJvdmlkZXJQbHVnaW4obW9ja1NESyk7XG5cbiAgICBtb2NrU1NNQ2xpZW50Lm9uKEdldFBhcmFtZXRlckNvbW1hbmQpLnJlc29sdmVzKHtcbiAgICAgIFBhcmFtZXRlcjoge1xuICAgICAgICBWYWx1ZTogJ2JhcicsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gV0hFTlxuICAgIGNvbnN0IHZhbHVlID0gYXdhaXQgcHJvdmlkZXIuZ2V0VmFsdWUoe1xuICAgICAgYWNjb3VudDogJzEyMzQnLFxuICAgICAgcmVnaW9uOiAndXMtZWFzdC0xJyxcbiAgICAgIHBhcmFtZXRlck5hbWU6ICdmb28nLFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KHZhbHVlKS50b0VxdWFsKCdiYXInKTtcbiAgfSk7XG5cbiAgdGVzdCgnZXJyb3JzIHdoZW4gcGFyYW1ldGVyIGlzIG5vdCBmb3VuZCcsIGFzeW5jICgpID0+IHtcbiAgICByZXN0b3JlU2RrTW9ja3NUb0RlZmF1bHQoKTtcbiAgICBjb25zdCBwcm92aWRlciA9IG5ldyBTU01Db250ZXh0UHJvdmlkZXJQbHVnaW4obW9ja1NESyk7XG5cbiAgICBjb25zdCBub3RGb3VuZCA9IG5ldyBFcnJvcignUGFyYW1ldGVyIG5vdCBmb3VuZCcpO1xuICAgIG5vdEZvdW5kLm5hbWUgPSAnUGFyYW1ldGVyTm90Rm91bmQnO1xuICAgIG1vY2tTU01DbGllbnQub24oR2V0UGFyYW1ldGVyQ29tbWFuZCkucmVqZWN0cyhub3RGb3VuZCk7XG5cbiAgICAvLyBXSEVOXG4gICAgYXdhaXQgZXhwZWN0KFxuICAgICAgcHJvdmlkZXIuZ2V0VmFsdWUoe1xuICAgICAgICBhY2NvdW50OiAnMTIzNCcsXG4gICAgICAgIHJlZ2lvbjogJ3VzLWVhc3QtMScsXG4gICAgICAgIHBhcmFtZXRlck5hbWU6ICdmb28nLFxuICAgICAgfSkpLnJlamVjdHMudG9UaHJvdygvU1NNIHBhcmFtZXRlciBub3QgYXZhaWxhYmxlIGluIGFjY291bnQvKTtcbiAgfSk7XG59KTtcbiJdfQ==