UNPKG

aws-cdk

Version:

CDK Toolkit, the command line tool for CDK apps

112 lines 11.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const client_route_53_1 = require("@aws-sdk/client-route-53"); const api_1 = require("../../lib/api"); const hosted_zones_1 = require("../../lib/context-providers/hosted-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('get value without private zone', async () => { // GIVEN mock_sdk_1.mockRoute53Client.on(client_route_53_1.ListHostedZonesByNameCommand).resolves({ HostedZones: [{ Id: 'foo', Name: 'example.com.', CallerReference: 'xyz', }], }); // WHEN const result = await new hosted_zones_1.HostedZoneContextProviderPlugin(mockSDK).getValue({ domainName: 'example.com', account: '1234', region: 'rgn', }); expect(result).toEqual({ Id: 'foo', Name: 'example.com.', }); }); test('get value with private zone', async () => { // GIVEN mock_sdk_1.mockRoute53Client.on(client_route_53_1.ListHostedZonesByNameCommand).resolves({ HostedZones: [{ Id: 'foo', Name: 'example.com.', CallerReference: 'xyz', Config: { PrivateZone: true, }, }], }); // WHEN const result = await new hosted_zones_1.HostedZoneContextProviderPlugin(mockSDK).getValue({ domainName: 'example.com', account: '1234', region: 'rgn', privateZone: true, }); expect(result).toEqual({ Id: 'foo', Name: 'example.com.', }); }); test('get value with private zone and VPC not found', async () => { // GIVEN mock_sdk_1.mockRoute53Client.on(client_route_53_1.ListHostedZonesByNameCommand).resolves({ HostedZones: [{ Id: 'foo', Name: 'example.com.', CallerReference: 'xyz', Config: { PrivateZone: true, }, }], }); // No VPCs mock_sdk_1.mockRoute53Client.on(client_route_53_1.GetHostedZoneCommand).resolves({}); // WHEN const result = new hosted_zones_1.HostedZoneContextProviderPlugin(mockSDK).getValue({ domainName: 'example.com', account: '1234', region: 'rgn', privateZone: true, vpcId: 'vpc-bla', }); await expect(result) .rejects .toThrow(new Error('Found zones: [] for dns:example.com, privateZone:true, vpcId:vpc-bla, but wanted exactly 1 zone')); }); test('get value with private zone and VPC found', async () => { // GIVEN mock_sdk_1.mockRoute53Client.on(client_route_53_1.ListHostedZonesByNameCommand).resolves({ HostedZones: [{ Id: 'foo', Name: 'example.com.', CallerReference: 'xyz', Config: { PrivateZone: true, }, }], }); mock_sdk_1.mockRoute53Client.on(client_route_53_1.GetHostedZoneCommand).resolves({ VPCs: [{ VPCId: 'vpc-bla', }], }); // WHEN const result = await new hosted_zones_1.HostedZoneContextProviderPlugin(mockSDK).getValue({ domainName: 'example.com', account: '1234', region: 'rgn', privateZone: true, vpcId: 'vpc-bla', }); expect(result).toEqual({ Id: 'foo', Name: 'example.com.', }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdGVkLXpvbmVzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJob3N0ZWQtem9uZXMudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDhEQUE4RjtBQUM5Rix1Q0FBdUQ7QUFDdkQsMkVBQTJGO0FBQzNGLCtDQUE2RjtBQUU3RixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBTSxTQUFRLDBCQUFlO0lBQ3pDLGNBQWM7UUFDbkIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksU0FBRyxDQUFDLGdDQUFxQixFQUFFLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbkgsQ0FBQztDQUNGLENBQUMsRUFBRSxDQUFDO0FBRUwsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLEtBQUssSUFBSSxFQUFFO0lBQ2hELFFBQVE7SUFDUiw0QkFBaUIsQ0FBQyxFQUFFLENBQUMsOENBQTRCLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDMUQsV0FBVyxFQUFFLENBQUM7Z0JBQ1osRUFBRSxFQUFFLEtBQUs7Z0JBQ1QsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLGVBQWUsRUFBRSxLQUFLO2FBQ3ZCLENBQUM7S0FDSCxDQUFDLENBQUM7SUFFSCxPQUFPO0lBQ1AsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLDhDQUErQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUN6RSxVQUFVLEVBQUUsYUFBYTtRQUN6QixPQUFPLEVBQUUsTUFBTTtRQUNmLE1BQU0sRUFBRSxLQUFLO0tBQ2QsQ0FBQyxDQUFDO0lBRUgsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNyQixFQUFFLEVBQUUsS0FBSztRQUNULElBQUksRUFBRSxjQUFjO0tBQ3JCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFD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TyxDQUFDO1FBQ3JCLEVBQUUsRUFBRSxLQUFLO1FBQ1QsSUFBSSxFQUFFLGNBQWM7S0FDckIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZXRIb3N0ZWRab25lQ29tbWFuZCwgTGlzdEhvc3RlZFpvbmVzQnlOYW1lQ29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1yb3V0ZS01Myc7XG5pbXBvcnQgeyBTREssIFNka0ZvckVudmlyb25tZW50IH0gZnJvbSAnLi4vLi4vbGliL2FwaSc7XG5pbXBvcnQgeyBIb3N0ZWRab25lQ29udGV4dFByb3ZpZGVyUGx1Z2luIH0gZnJvbSAnLi4vLi4vbGliL2NvbnRleHQtcHJvdmlkZXJzL2hvc3RlZC16b25lcyc7XG5pbXBvcnQgeyBGQUtFX0NSRURFTlRJQUxfQ0hBSU4sIG1vY2tSb3V0ZTUzQ2xpZW50LCBNb2NrU2RrUHJvdmlkZXIgfSBmcm9tICcuLi91dGlsL21vY2stc2RrJztcblxuY29uc3QgbW9ja1NESyA9IG5ldyAoY2xhc3MgZXh0ZW5kcyBNb2NrU2RrUHJvdmlkZXIge1xuICBwdWJsaWMgZm9yRW52aXJvbm1lbnQoKTogUHJvbWlzZTxTZGtGb3JFbnZpcm9ubWVudD4ge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBzZGs6IG5ldyBTREsoRkFLRV9DUkVERU5USUFMX0NIQUlOLCBtb2NrU0RLLmRlZmF1bHRSZWdpb24sIHt9KSwgZGlkQXNzdW1lUm9sZTogZmFsc2UgfSk7XG4gIH1cbn0pKCk7XG5cbnRlc3QoJ2dldCB2YWx1ZSB3aXRob3V0IHByaXZhdGUgem9uZScsIGFzeW5jICgpID0+IHtcbiAgLy8gR0lWRU5cbiAgbW9ja1JvdXRlNTNDbGllbnQub24oTGlzdEhvc3RlZFpvbmVzQnlOYW1lQ29tbWFuZCkucmVzb2x2ZXMoe1xuICAgIEhvc3RlZFpvbmVzOiBbe1xuICAgICAgSWQ6ICdmb28nLFxuICAgICAgTmFtZTogJ2V4YW1wbGUuY29tLicsXG4gICAgICBDYWxsZXJSZWZlcmVuY2U6ICd4eXonLFxuICAgIH1dLFxuICB9KTtcblxuICAvLyBXSEVOXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IG5ldyBIb3N0ZWRab25lQ29udGV4dFByb3ZpZGVyUGx1Z2luKG1vY2tTREspLmdldFZhbHVlKHtcbiAgICBkb21haW5OYW1lOiAnZXhhbXBsZS5jb20nLFxuICAgIGFjY291bnQ6ICcxMjM0JyxcbiAgICByZWdpb246ICdyZ24nLFxuICB9KTtcblxuICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHtcbiAgICBJZDogJ2ZvbycsXG4gICAgTmFtZTogJ2V4YW1wbGUuY29tLicsXG4gIH0pO1xufSk7XG5cbnRlc3QoJ2dldCB2YWx1ZSB3aXRoIHByaXZhdGUgem9uZScsIGFzeW5jICgpID0+IHtcbiAgLy8gR0lWRU5cbiAgbW9ja1JvdXRlNTNDbGllbnQub24oTGlzdEhvc3RlZFpvbmVzQnlOYW1lQ29tbWFuZCkucmVzb2x2ZXMoe1xuICAgIEhvc3RlZFpvbmVzOiBbe1xuICAgICAgSWQ6ICdmb28nLFxuICAgICAgTmFtZTogJ2V4YW1wbGUuY29tLicsXG4gICAgICBDYWxsZXJSZWZlcmVuY2U6ICd4eXonLFxuICAgICAgQ29uZmlnOiB7XG4gICAgICAgIFByaXZhdGVab25lOiB0cnVlLFxuICAgICAgfSxcbiAgICB9XSxcbiAgfSk7XG5cbiAgLy8gV0hFTlxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBuZXcgSG9zdGVkWm9uZUNvbnRleHRQcm92aWRlclBsdWdpbihtb2NrU0RLKS5nZXRWYWx1ZSh7XG4gICAgZG9tYWluTmFtZTogJ2V4YW1wbGUuY29tJyxcbiAgICBhY2NvdW50OiAnMTIzNCcsXG4gICAgcmVnaW9uOiAncmduJyxcbiAgICBwcml2YXRlWm9uZTogdHJ1ZSxcbiAgfSk7XG5cbiAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7XG4gICAgSWQ6ICdmb28nLFxuICAgIE5hbWU6ICdleGFtcGxlLmNvbS4nLFxuICB9KTtcbn0pO1xuXG50ZXN0KCdnZXQgdmFsdWUgd2l0aCBwcml2YXRlIHpvbmUgYW5kIFZQQyBub3QgZm91bmQnLCBhc3luYyAoKSA9PiB7XG4gIC8vIEdJVkVOXG4gIG1vY2tSb3V0ZTUzQ2xpZW50Lm9uKExpc3RIb3N0ZWRab25lc0J5TmFtZUNvbW1hbmQpLnJlc29sdmVzKHtcbiAgICBIb3N0ZWRab25lczogW3tcbiAgICAgIElkOiAnZm9vJyxcbiAgICAgIE5hbWU6ICdleGFtcGxlLmNvbS4nLFxuICAgICAgQ2FsbGVyUmVmZXJlbmNlOiAneHl6JyxcbiAgICAgIENvbmZpZzoge1xuICAgICAgICBQcml2YXRlWm9uZTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgfV0sXG4gIH0pO1xuXG4gIC8vIE5vIFZQQ3NcbiAgbW9ja1JvdXRlNTNDbGllbnQub24oR2V0SG9zdGVkWm9uZUNvbW1hbmQpLnJlc29sdmVzKHt9KTtcblxuICAvLyBXSEVOXG4gIGNvbnN0IHJlc3VsdCA9IG5ldyBIb3N0ZWRab25lQ29udGV4dFByb3ZpZGVyUGx1Z2luKG1vY2tTREspLmdldFZhbHVlKHtcbiAgICBkb21haW5OYW1lOiAnZXhhbXBsZS5jb20nLFxuICAgIGFjY291bnQ6ICcxMjM0JyxcbiAgICByZWdpb246ICdyZ24nLFxuICAgIHByaXZhdGVab25lOiB0cnVlLFxuICAgIHZwY0lkOiAndnBjLWJsYScsXG4gIH0pO1xuXG4gIGF3YWl0IGV4cGVjdChyZXN1bHQpXG4gICAgLnJlamVjdHNcbiAgICAudG9UaHJvdyhuZXcgRXJyb3IoJ0ZvdW5kIHpvbmVzOiBbXSBmb3IgZG5zOmV4YW1wbGUuY29tLCBwcml2YXRlWm9uZTp0cnVlLCB2cGNJZDp2cGMtYmxhLCBidXQgd2FudGVkIGV4YWN0bHkgMSB6b25lJykpO1xufSk7XG5cbnRlc3QoJ2dldCB2YWx1ZSB3aXRoIHByaXZhdGUgem9uZSBhbmQgVlBDIGZvdW5kJywgYXN5bmMgKCkgPT4ge1xuICAvLyBHSVZFTlxuICBtb2NrUm91dGU1M0NsaWVudC5vbihMaXN0SG9zdGVkWm9uZXNCeU5hbWVDb21tYW5kKS5yZXNvbHZlcyh7XG4gICAgSG9zdGVkWm9uZXM6IFt7XG4gICAgICBJZDogJ2ZvbycsXG4gICAgICBOYW1lOiAnZXhhbXBsZS5jb20uJyxcbiAgICAgIENhbGxlclJlZmVyZW5jZTogJ3h5eicsXG4gICAgICBDb25maWc6IHtcbiAgICAgICAgUHJpdmF0ZVpvbmU6IHRydWUsXG4gICAgICB9LFxuICAgIH1dLFxuICB9KTtcblxuICBtb2NrUm91dGU1M0NsaWVudC5vbihHZXRIb3N0ZWRab25lQ29tbWFuZCkucmVzb2x2ZXMoe1xuICAgIFZQQ3M6IFt7XG4gICAgICBWUENJZDogJ3ZwYy1ibGEnLFxuICAgIH1dLFxuICB9KTtcblxuICAvLyBXSEVOXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IG5ldyBIb3N0ZWRab25lQ29udGV4dFByb3ZpZGVyUGx1Z2luKG1vY2tTREspLmdldFZhbHVlKHtcbiAgICBkb21haW5OYW1lOiAnZXhhbXBsZS5jb20nLFxuICAgIGFjY291bnQ6ICcxMjM0JyxcbiAgICByZWdpb246ICdyZ24nLFxuICAgIHByaXZhdGVab25lOiB0cnVlLFxuICAgIHZwY0lkOiAndnBjLWJsYScsXG4gIH0pO1xuXG4gIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe1xuICAgIElkOiAnZm9vJyxcbiAgICBOYW1lOiAnZXhhbXBsZS5jb20uJyxcbiAgfSk7XG59KTtcblxuIl19