UNPKG

@aws-cdk-testing/cli-integ

Version:

Integration tests for the AWS CDK CLI

50 lines 8.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const client_cloudformation_1 = require("@aws-sdk/client-cloudformation"); const client_sns_1 = require("@aws-sdk/client-sns"); const lib_1 = require("../../lib"); (0, lib_1.integTest)('cdk import prompts the user for sns topic arns', (0, lib_1.withDefaultFixture)(async (fixture) => { var _a, _b; const topicName = (logicalId) => `${logicalId}-${fixture.randomString}`; const topicArn = async (name) => `arn:aws:sns:${fixture.aws.region}:${await fixture.aws.account()}:${name}`; const topic1Name = topicName('Topic1'); const topic2Name = topicName('Topic2'); const topic1Arn = await topicArn(topic1Name); const topic2Arn = await topicArn(topic2Name); fixture.log(`Creating topic ${topic1Name}`); await fixture.aws.sns.send(new client_sns_1.CreateTopicCommand({ Name: topic1Name })); fixture.log(`Creating topic ${topic2Name}`); await fixture.aws.sns.send(new client_sns_1.CreateTopicCommand({ Name: topic2Name })); try { const stackName = 'two-sns-topics'; const fullStackName = fixture.fullStackName(stackName); fixture.log(`Importing topics to stack ${fullStackName}`); await fixture.cdk(['import', fullStackName], { interact: [ { prompt: /Topic1.*\(empty to skip\):/, input: topic1Arn, }, { prompt: /Topic2.*\(empty to skip\):/, input: topic2Arn, } ], modEnv: { // disable coloring because it messes up prompt matching. FORCE_COLOR: '0' } }); // assert the stack now has the two topics const stackResources = await fixture.aws.cloudFormation.send(new client_cloudformation_1.DescribeStackResourcesCommand({ StackName: fullStackName })); const stackTopicArns = new Set((_b = (_a = stackResources.StackResources) === null || _a === void 0 ? void 0 : _a.filter(r => r.ResourceType === 'AWS::SNS::Topic').map(r => r.PhysicalResourceId)) !== null && _b !== void 0 ? _b : []); expect(stackTopicArns).toEqual(new Set([topic1Arn, topic2Arn])); } finally { fixture.log(`Deleting topic ${topic1Name}`); await fixture.aws.sns.send(new client_sns_1.DeleteTopicCommand({ TopicArn: topic1Arn })); fixture.log(`Deleting topic ${topic2Name}`); await fixture.aws.sns.send(new client_sns_1.DeleteTopicCommand({ TopicArn: topic2Arn })); } })); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWltcG9ydC1pbnRlcmFjdGl2ZS5pbnRlZ3Rlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZGstaW1wb3J0LWludGVyYWN0aXZlLmludGVndGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBFQUErRTtBQUMvRSxvREFBNkU7QUFDN0UsbUNBQTBEO0FBRTFELElBQUEsZUFBUyxFQUFDLGdEQUFnRCxFQUFFLElBQUEsd0JBQWtCLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFOztJQUUvRixNQUFNLFNBQVMsR0FBRyxDQUFDLFNBQWlCLEVBQUUsRUFBRSxDQUFDLEdBQUcsU0FBUyxJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoRixNQUFNLFFBQVEsR0FBRyxLQUFLLEVBQUUsSUFBWSxFQUFFLEVBQUUsQ0FBQyxlQUFlLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFLLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQTtJQUVwSCxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkMsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXZDLE1BQU0sU0FBUyxHQUFHLE1BQU0sUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzdDLE1BQU0sU0FBUyxHQUFHLE1BQU0sUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRTdDLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDNUMsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSwrQkFBa0IsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDeEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUM1QyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLCtCQUFrQixDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUV4RSxJQUFJLENBQUM7UUFFSCxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQztRQUNuQyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXZELE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDMUQsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxFQUFFO1lBQzNDLFFBQVEsRUFBRTtnQkFDUjtvQkFDRSxNQUFNLEVBQUUsNEJBQTRCO29CQUNwQyxLQUFLLEVBQUUsU0FBUztpQkFDakI7Z0JBQ0Q7b0JBQ0UsTUFBTSxFQUFFLDRCQUE0QjtvQkFDcEMsS0FBSyxFQUFFLFNBQVM7aUJBQ2pCO2FBQ0Y7WUFDRCxNQUFNLEVBQUU7Z0JBQ04seURBQXlEO2dCQUN6RCxXQUFXLEVBQUUsR0FBRzthQUNqQjtTQUNGLENBQUMsQ0FBQztRQUVILDBDQUEwQztRQUMxQyxNQUFNLGNBQWMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLHFEQUE2QixDQUFDLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUM3SCxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFBLE1BQUEsY0FBYyxDQUFDLGNBQWMsMENBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksS0FBSyxpQkFBaUIsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsbUNBQUksRUFBRSxDQUFDLENBQUM7UUFFdEosTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFakUsQ0FBQztZQUFTLENBQUM7UUFDVCxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksK0JBQWtCLENBQUMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQzNFLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDNUMsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSwrQkFBa0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDN0UsQ0FBQztBQUVILENBQUMsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXNjcmliZVN0YWNrUmVzb3VyY2VzQ29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbic7XG5pbXBvcnQgeyBDcmVhdGVUb3BpY0NvbW1hbmQsIERlbGV0ZVRvcGljQ29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1zbnMnO1xuaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoRGVmYXVsdEZpeHR1cmUgfSBmcm9tICcuLi8uLi9saWInO1xuXG5pbnRlZ1Rlc3QoJ2NkayBpbXBvcnQgcHJvbXB0cyB0aGUgdXNlciBmb3Igc25zIHRvcGljIGFybnMnLCB3aXRoRGVmYXVsdEZpeHR1cmUoYXN5bmMgKGZpeHR1cmUpID0+IHtcblxuICBjb25zdCB0b3BpY05hbWUgPSAobG9naWNhbElkOiBzdHJpbmcpID0+IGAke2xvZ2ljYWxJZH0tJHtmaXh0dXJlLnJhbmRvbVN0cmluZ31gO1xuICBjb25zdCB0b3BpY0FybiA9IGFzeW5jIChuYW1lOiBzdHJpbmcpID0+IGBhcm46YXdzOnNuczoke2ZpeHR1cmUuYXdzLnJlZ2lvbn06JHsgYXdhaXQgZml4dHVyZS5hd3MuYWNjb3VudCgpfToke25hbWV9YFxuXG4gIGNvbnN0IHRvcGljMU5hbWUgPSB0b3BpY05hbWUoJ1RvcGljMScpO1xuICBjb25zdCB0b3BpYzJOYW1lID0gdG9waWNOYW1lKCdUb3BpYzInKTtcblxuICBjb25zdCB0b3BpYzFBcm4gPSBhd2FpdCB0b3BpY0Fybih0b3BpYzFOYW1lKTtcbiAgY29uc3QgdG9waWMyQXJuID0gYXdhaXQgdG9waWNBcm4odG9waWMyTmFtZSk7XG5cbiAgZml4dHVyZS5sb2coYENyZWF0aW5nIHRvcGljICR7dG9waWMxTmFtZX1gKTtcbiAgYXdhaXQgZml4dHVyZS5hd3Muc25zLnNlbmQobmV3IENyZWF0ZVRvcGljQ29tbWFuZCh7IE5hbWU6IHRvcGljMU5hbWUgfSkpXG4gIGZpeHR1cmUubG9nKGBDcmVhdGluZyB0b3BpYyAke3RvcGljMk5hbWV9YCk7XG4gIGF3YWl0IGZpeHR1cmUuYXdzLnNucy5zZW5kKG5ldyBDcmVhdGVUb3BpY0NvbW1hbmQoeyBOYW1lOiB0b3BpYzJOYW1lIH0pKVxuXG4gIHRyeSB7XG5cbiAgICBjb25zdCBzdGFja05hbWUgPSAndHdvLXNucy10b3BpY3MnO1xuICAgIGNvbnN0IGZ1bGxTdGFja05hbWUgPSBmaXh0dXJlLmZ1bGxTdGFja05hbWUoc3RhY2tOYW1lKTtcblxuICAgIGZpeHR1cmUubG9nKGBJbXBvcnRpbmcgdG9waWNzIHRvIHN0YWNrICR7ZnVsbFN0YWNrTmFtZX1gKTtcbiAgICBhd2FpdCBmaXh0dXJlLmNkayhbJ2ltcG9ydCcsIGZ1bGxTdGFja05hbWVdLCB7XG4gICAgICBpbnRlcmFjdDogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvbXB0OiAvVG9waWMxLipcXChlbXB0eSB0byBza2lwXFwpOi8sXG4gICAgICAgICAgaW5wdXQ6IHRvcGljMUFybixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb21wdDogL1RvcGljMi4qXFwoZW1wdHkgdG8gc2tpcFxcKTovLFxuICAgICAgICAgIGlucHV0OiB0b3BpYzJBcm4sXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBtb2RFbnY6IHtcbiAgICAgICAgLy8gZGlzYWJsZSBjb2xvcmluZyBiZWNhdXNlIGl0IG1lc3NlcyB1cCBwcm9tcHQgbWF0Y2hpbmcuXG4gICAgICAgIEZPUkNFX0NPTE9SOiAnMCdcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIGFzc2VydCB0aGUgc3RhY2sgbm93IGhhcyB0aGUgdHdvIHRvcGljc1xuICAgIGNvbnN0IHN0YWNrUmVzb3VyY2VzID0gYXdhaXQgZml4dHVyZS5hd3MuY2xvdWRGb3JtYXRpb24uc2VuZChuZXcgRGVzY3JpYmVTdGFja1Jlc291cmNlc0NvbW1hbmQoeyBTdGFja05hbWU6IGZ1bGxTdGFja05hbWUgfSkpXG4gICAgY29uc3Qgc3RhY2tUb3BpY0FybnMgPSBuZXcgU2V0KHN0YWNrUmVzb3VyY2VzLlN0YWNrUmVzb3VyY2VzPy5maWx0ZXIociA9PiByLlJlc291cmNlVHlwZSA9PT0gJ0FXUzo6U05TOjpUb3BpYycpLm1hcChyID0+IHIuUGh5c2ljYWxSZXNvdXJjZUlkKSA/PyBbXSk7XG5cbiAgICBleHBlY3Qoc3RhY2tUb3BpY0FybnMpLnRvRXF1YWwobmV3IFNldChbdG9waWMxQXJuLCB0b3BpYzJBcm5dKSlcblxuICB9IGZpbmFsbHkge1xuICAgIGZpeHR1cmUubG9nKGBEZWxldGluZyB0b3BpYyAke3RvcGljMU5hbWV9YCk7XG4gICAgYXdhaXQgZml4dHVyZS5hd3Muc25zLnNlbmQobmV3IERlbGV0ZVRvcGljQ29tbWFuZCh7IFRvcGljQXJuOiB0b3BpYzFBcm4gfSkpXG4gICAgZml4dHVyZS5sb2coYERlbGV0aW5nIHRvcGljICR7dG9waWMyTmFtZX1gKTtcbiAgICBhd2FpdCBmaXh0dXJlLmF3cy5zbnMuc2VuZChuZXcgRGVsZXRlVG9waWNDb21tYW5kKHsgVG9waWNBcm46IHRvcGljMkFybiB9KSlcbiAgfVxuXG59KSk7Il19