aws-cdk
Version:
CDK Toolkit, the command line tool for CDK apps
41 lines • 4.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const client_ec2_1 = require("@aws-sdk/client-ec2");
const api_1 = require("../../lib/api");
const availability_zones_1 = require("../../lib/context-providers/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 array as result when response has no AZs', async () => {
// GIVEN
mock_sdk_1.mockEC2Client.on(client_ec2_1.DescribeAvailabilityZonesCommand).resolves({
AvailabilityZones: undefined,
});
// WHEN
const azs = await new availability_zones_1.AZContextProviderPlugin(mockSDK).getValue({
account: '1234',
region: 'asdf',
});
// THEN
expect(azs).toEqual([]);
});
test('returns AZs', async () => {
// GIVEN
mock_sdk_1.mockEC2Client.on(client_ec2_1.DescribeAvailabilityZonesCommand).resolves({
AvailabilityZones: [{
ZoneName: 'us-east-1a',
State: 'available',
}],
});
// WHEN
const azs = await new availability_zones_1.AZContextProviderPlugin(mockSDK).getValue({
account: '1234',
region: 'asdf',
});
// THEN
expect(azs).toEqual(['us-east-1a']);
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhaWxhYmlsaXR5LXpvbmVzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhdmFpbGFiaWxpdHktem9uZXMudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG9EQUF1RTtBQUN2RSx1Q0FBdUQ7QUFDdkQsdUZBQXlGO0FBQ3pGLCtDQUF5RjtBQUV6RixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBTSxTQUFRLDBCQUFlO0lBQ3pDLGNBQWM7UUFDbkIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksU0FBRyxDQUFDLGdDQUFxQixFQUFFLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbkgsQ0FBQztDQUNGLENBQUMsRUFBRSxDQUFDO0FBRUwsSUFBSSxDQUFDLGdEQUFnRCxFQUFFLEtBQUssSUFBSSxFQUFFO0lBQ2hFLFFBQVE7SUFDUix3QkFBYSxDQUFDLEVBQUUsQ0FBQyw2Q0FBZ0MsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUMxRCxpQkFBaUIsRUFBRSxTQUFTO0tBQzdCLENBQUMsQ0FBQztJQUVILE9BQU87SUFDUCxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksNENBQXVCLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQzlELE9BQU8sRUFBRSxNQUFNO1FBQ2YsTUFBTSxFQUFFLE1BQU07S0FDZixDQUFDLENBQUM7SUFFSCxPQUFPO0lBQ1AsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUMxQixDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxJQUFJLEVBQUU7SUFDN0IsUUFBUTtJQUNSLHdCQUFhLENBQUMsRUFBRSxDQUFDLDZDQUFnQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQzFELGlCQUFpQixFQUFFLENBQUM7Z0JBQ2xCLFFBQVEsRUFBRSxZQUFZO2dCQUN0QixLQUFLLEVBQUUsV0FBVzthQUNuQixDQUFDO0tBQ0gsQ0FBQyxDQUFDO0lBRUgsT0FBTztJQUNQLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSw0Q0FBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDOUQsT0FBTyxFQUFFLE1BQU07UUFDZixNQUFNLEVBQUUsTUFBTTtLQUNmLENBQUMsQ0FBQztJQUVILE9BQU87SUFDUCxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc2NyaWJlQXZhaWxhYmlsaXR5Wm9uZXNDb21tYW5kIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWVjMic7XG5pbXBvcnQgeyBTREssIFNka0ZvckVudmlyb25tZW50IH0gZnJvbSAnLi4vLi4vbGliL2FwaSc7XG5pbXBvcnQgeyBBWkNvbnRleHRQcm92aWRlclBsdWdpbiB9IGZyb20gJy4uLy4uL2xpYi9jb250ZXh0LXByb3ZpZGVycy9hdmFpbGFiaWxpdHktem9uZXMnO1xuaW1wb3J0IHsgRkFLRV9DUkVERU5USUFMX0NIQUlOLCBtb2NrRUMyQ2xpZW50LCBNb2NrU2RrUHJvdmlkZXIgfSBmcm9tICcuLi91dGlsL21vY2stc2RrJztcblxuY29uc3QgbW9ja1NESyA9IG5ldyAoY2xhc3MgZXh0ZW5kcyBNb2NrU2RrUHJvdmlkZXIge1xuICBwdWJsaWMgZm9yRW52aXJvbm1lbnQoKTogUHJvbWlzZTxTZGtGb3JFbnZpcm9ubWVudD4ge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBzZGs6IG5ldyBTREsoRkFLRV9DUkVERU5USUFMX0NIQUlOLCBtb2NrU0RLLmRlZmF1bHRSZWdpb24sIHt9KSwgZGlkQXNzdW1lUm9sZTogZmFsc2UgfSk7XG4gIH1cbn0pKCk7XG5cbnRlc3QoJ2VtcHR5IGFycmF5IGFzIHJlc3VsdCB3aGVuIHJlc3BvbnNlIGhhcyBubyBBWnMnLCBhc3luYyAoKSA9PiB7XG4gIC8vIEdJVkVOXG4gIG1vY2tFQzJDbGllbnQub24oRGVzY3JpYmVBdmFpbGFiaWxpdHlab25lc0NvbW1hbmQpLnJlc29sdmVzKHtcbiAgICBBdmFpbGFiaWxpdHlab25lczogdW5kZWZpbmVkLFxuICB9KTtcblxuICAvLyBXSEVOXG4gIGNvbnN0IGF6cyA9IGF3YWl0IG5ldyBBWkNvbnRleHRQcm92aWRlclBsdWdpbihtb2NrU0RLKS5nZXRWYWx1ZSh7XG4gICAgYWNjb3VudDogJzEyMzQnLFxuICAgIHJlZ2lvbjogJ2FzZGYnLFxuICB9KTtcblxuICAvLyBUSEVOXG4gIGV4cGVjdChhenMpLnRvRXF1YWwoW10pO1xufSk7XG5cbnRlc3QoJ3JldHVybnMgQVpzJywgYXN5bmMgKCkgPT4ge1xuICAvLyBHSVZFTlxuICBtb2NrRUMyQ2xpZW50Lm9uKERlc2NyaWJlQXZhaWxhYmlsaXR5Wm9uZXNDb21tYW5kKS5yZXNvbHZlcyh7XG4gICAgQXZhaWxhYmlsaXR5Wm9uZXM6IFt7XG4gICAgICBab25lTmFtZTogJ3VzLWVhc3QtMWEnLFxuICAgICAgU3RhdGU6ICdhdmFpbGFibGUnLFxuICAgIH1dLFxuICB9KTtcblxuICAvLyBXSEVOXG4gIGNvbnN0IGF6cyA9IGF3YWl0IG5ldyBBWkNvbnRleHRQcm92aWRlclBsdWdpbihtb2NrU0RLKS5nZXRWYWx1ZSh7XG4gICAgYWNjb3VudDogJzEyMzQnLFxuICAgIHJlZ2lvbjogJ2FzZGYnLFxuICB9KTtcblxuICAvLyBUSEVOXG4gIGV4cGVjdChhenMpLnRvRXF1YWwoWyd1cy1lYXN0LTFhJ10pO1xufSk7XG4iXX0=