UNPKG

aws-cdk

Version:

CDK Toolkit, the command line tool for CDK apps

38 lines 5.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const client_ec2_1 = require("@aws-sdk/client-ec2"); const api_1 = require("../../lib/api"); const endpoint_service_availability_zones_1 = require("../../lib/context-providers/endpoint-service-availability-zones"); 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 }); } })(); test('empty result when service details cannot be retrieved', async () => { // GIVEN mock_sdk_1.mockEC2Client.on(client_ec2_1.DescribeVpcEndpointServicesCommand).resolves({}); // WHEN const result = await new endpoint_service_availability_zones_1.EndpointServiceAZContextProviderPlugin(mockSDK).getValue({ serviceName: 'svc', account: 'foo', region: 'rgn', }); expect(result).toEqual([]); }); test('returns availability zones', async () => { // GIVEN mock_sdk_1.mockEC2Client.on(client_ec2_1.DescribeVpcEndpointServicesCommand).resolves({ ServiceDetails: [{ AvailabilityZones: ['us-east-1a'], }], }); // WHEN const result = await new endpoint_service_availability_zones_1.EndpointServiceAZContextProviderPlugin(mockSDK).getValue({ serviceName: 'svc', account: 'foo', region: 'rgn', }); expect(result).toEqual(['us-east-1a']); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5kcG9pbnQtc2VydmljZS1hdmFpbGFiaWxpdHktem9uZXMudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImVuZHBvaW50LXNlcnZpY2UtYXZhaWxhYmlsaXR5LXpvbmVzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxvREFBeUU7QUFDekUsdUNBQXVEO0FBQ3ZELHlIQUV5RTtBQUN6RSwrQ0FBeUY7QUFFekYsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQU0sU0FBUSwwQkFBZTtJQUN6QyxjQUFjO1FBQ25CLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLFNBQUcsQ0FBQyxnQ0FBcUIsRUFBRSxPQUFPLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ25ILENBQUM7Q0FDRixDQUFDLEVBQUUsQ0FBQztBQUVMLElBQUksQ0FBQyx1REFBdUQsRUFBRSxLQUFLLElBQUksRUFBRTtJQUN2RSxRQUFRO0lBQ1Isd0JBQWEsQ0FBQyxFQUFFLENBQUMsK0NBQWtDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFbEUsT0FBTztJQUNQLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSw0RUFBc0MsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDaEYsV0FBVyxFQUFFLEtBQUs7UUFDbEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxNQUFNLEVBQUUsS0FBSztLQUNkLENBQUMsQ0FBQztJQUVILE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsNEJBQTRCLEVBQUUsS0FBSyxJQUFJLEVBQUU7SUFDNUMsUUFBUTtJQUNSLHdCQUFhLENBQUMsRUFBRSxDQUFDLCtDQUFrQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQzVELGNBQWMsRUFBRSxDQUFDO2dCQUNmLGlCQUFpQixFQUFFLENBQUMsWUFBWSxDQUFDO2FBQ2xDLENBQUM7S0FDSCxDQUFDLENBQUM7SUFFSCxPQUFPO0lBQ1AsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLDRFQUFzQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUNoRixXQUFXLEVBQUUsS0FBSztRQUNsQixPQUFPLEVBQUUsS0FBSztRQUNkLE1BQU0sRUFBRSxLQUFLO0tBQ2QsQ0FBQyxDQUFDO0lBRUgsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7QUFDekMsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXNjcmliZVZwY0VuZHBvaW50U2VydmljZXNDb21tYW5kIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWVjMic7XG5pbXBvcnQgeyBTREssIFNka0ZvckVudmlyb25tZW50IH0gZnJvbSAnLi4vLi4vbGliL2FwaSc7XG5pbXBvcnQge1xuICBFbmRwb2ludFNlcnZpY2VBWkNvbnRleHRQcm92aWRlclBsdWdpbixcbn0gZnJvbSAnLi4vLi4vbGliL2NvbnRleHQtcHJvdmlkZXJzL2VuZHBvaW50LXNlcnZpY2UtYXZhaWxhYmlsaXR5LXpvbmVzJztcbmltcG9ydCB7IEZBS0VfQ1JFREVOVElBTF9DSEFJTiwgbW9ja0VDMkNsaWVudCwgTW9ja1Nka1Byb3ZpZGVyIH0gZnJvbSAnLi4vdXRpbC9tb2NrLXNkayc7XG5cbmNvbnN0IG1vY2tTREsgPSBuZXcgKGNsYXNzIGV4dGVuZHMgTW9ja1Nka1Byb3ZpZGVyIHtcbiAgcHVibGljIGZvckVudmlyb25tZW50KCk6IFByb21pc2U8U2RrRm9yRW52aXJvbm1lbnQ+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgc2RrOiBuZXcgU0RLKEZBS0VfQ1JFREVOVElBTF9DSEFJTiwgbW9ja1NESy5kZWZhdWx0UmVnaW9uLCB7fSksIGRpZEFzc3VtZVJvbGU6IGZhbHNlIH0pO1xuICB9XG59KSgpO1xuXG50ZXN0KCdlbXB0eSByZXN1bHQgd2hlbiBzZXJ2aWNlIGRldGFpbHMgY2Fubm90IGJlIHJldHJpZXZlZCcsIGFzeW5jICgpID0+IHtcbiAgLy8gR0lWRU5cbiAgbW9ja0VDMkNsaWVudC5vbihEZXNjcmliZVZwY0VuZHBvaW50U2VydmljZXNDb21tYW5kKS5yZXNvbHZlcyh7fSk7XG5cbiAgLy8gV0hFTlxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBuZXcgRW5kcG9pbnRTZXJ2aWNlQVpDb250ZXh0UHJvdmlkZXJQbHVnaW4obW9ja1NESykuZ2V0VmFsdWUoe1xuICAgIHNlcnZpY2VOYW1lOiAnc3ZjJyxcbiAgICBhY2NvdW50OiAnZm9vJyxcbiAgICByZWdpb246ICdyZ24nLFxuICB9KTtcblxuICBleHBlY3QocmVzdWx0KS50b0VxdWFsKFtdKTtcbn0pO1xuXG50ZXN0KCdyZXR1cm5zIGF2YWlsYWJpbGl0eSB6b25lcycsIGFzeW5jICgpID0+IHtcbiAgLy8gR0lWRU5cbiAgbW9ja0VDMkNsaWVudC5vbihEZXNjcmliZVZwY0VuZHBvaW50U2VydmljZXNDb21tYW5kKS5yZXNvbHZlcyh7XG4gICAgU2VydmljZURldGFpbHM6IFt7XG4gICAgICBBdmFpbGFiaWxpdHlab25lczogWyd1cy1lYXN0LTFhJ10sXG4gICAgfV0sXG4gIH0pO1xuXG4gIC8vIFdIRU5cbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgbmV3IEVuZHBvaW50U2VydmljZUFaQ29udGV4dFByb3ZpZGVyUGx1Z2luKG1vY2tTREspLmdldFZhbHVlKHtcbiAgICBzZXJ2aWNlTmFtZTogJ3N2YycsXG4gICAgYWNjb3VudDogJ2ZvbycsXG4gICAgcmVnaW9uOiAncmduJyxcbiAgfSk7XG5cbiAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChbJ3VzLWVhc3QtMWEnXSk7XG59KTtcbiJdfQ==