UNPKG

@aws-cdk-testing/cli-integ

Version:

Integration tests for the AWS CDK CLI

35 lines 5.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const client_cloudformation_1 = require("@aws-sdk/client-cloudformation"); const lib_1 = require("../../../lib"); (0, lib_1.integTest)('cdk destroy prompts the user for confirmation', (0, lib_1.withDefaultFixture)(async (fixture) => { const stackName = 'test-2'; const fullStackName = fixture.fullStackName(stackName); fixture.log(`Deploying stack ${fullStackName}`); await fixture.cdkDeploy(stackName); fixture.log(`Destroying stack ${fullStackName} and declining prompt`); await fixture.cdkDestroy(stackName, { force: false, interact: [ { prompt: /Are you sure you want to delete/, input: 'no' }, ], modEnv: { // disable coloring because it messes up prompt matching. FORCE_COLOR: '0', }, }); // assert we didn't destroy the stack const stack = await fixture.aws.cloudFormation.send(new client_cloudformation_1.DescribeStacksCommand({ StackName: fullStackName })); expect(stack.Stacks?.length ?? 0).toEqual(1); fixture.log(`Destroying stack ${fullStackName} and accepting prompt`); await fixture.cdkDestroy(stackName, { force: false, interact: [ { prompt: /Are you sure you want to delete/, input: 'yes' }, ], }); // assert we did destroy the stack await expect(fixture.aws.cloudFormation.send(new client_cloudformation_1.DescribeStacksCommand({ StackName: fullStackName }))) .rejects.toThrow(/does not exist/); })); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWRlc3Ryb3ktaW50ZXJhY3RpdmUuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLWRlc3Ryb3ktaW50ZXJhY3RpdmUuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMEVBQXVFO0FBQ3ZFLHNDQUE2RDtBQUU3RCxJQUFBLGVBQVMsRUFBQywrQ0FBK0MsRUFBRSxJQUFBLHdCQUFrQixFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUM5RixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDM0IsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUV2RCxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUVuQyxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixhQUFhLHVCQUF1QixDQUFDLENBQUM7SUFDdEUsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRTtRQUNsQyxLQUFLLEVBQUUsS0FBSztRQUNaLFFBQVEsRUFBRTtZQUNSLEVBQUUsTUFBTSxFQUFFLGlDQUFpQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7U0FDM0Q7UUFDRCxNQUFNLEVBQUU7WUFDTix5REFBeUQ7WUFDekQsV0FBVyxFQUFFLEdBQUc7U0FDakI7S0FDRixDQUFDLENBQUM7SUFFSCxxQ0FBcUM7SUFDckMsTUFBTSxLQUFLLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSw2Q0FBcUIsQ0FBQyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0csTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUU3QyxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixhQUFhLHVCQUF1QixDQUFDLENBQUM7SUFDdEUsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRTtRQUNsQyxLQUFLLEVBQUUsS0FBSztRQUNaLFFBQVEsRUFBRTtZQUNSLEVBQUUsTUFBTSxFQUFFLGlDQUFpQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7U0FDNUQ7S0FDRixDQUFDLENBQUM7SUFFSCxrQ0FBa0M7SUFDbEMsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksNkNBQXFCLENBQUMsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ25HLE9BQU8sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzY3JpYmVTdGFja3NDb21tYW5kIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWNsb3VkZm9ybWF0aW9uJztcbmltcG9ydCB7IGludGVnVGVzdCwgd2l0aERlZmF1bHRGaXh0dXJlIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcblxuaW50ZWdUZXN0KCdjZGsgZGVzdHJveSBwcm9tcHRzIHRoZSB1c2VyIGZvciBjb25maXJtYXRpb24nLCB3aXRoRGVmYXVsdEZpeHR1cmUoYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgY29uc3Qgc3RhY2tOYW1lID0gJ3Rlc3QtMic7XG4gIGNvbnN0IGZ1bGxTdGFja05hbWUgPSBmaXh0dXJlLmZ1bGxTdGFja05hbWUoc3RhY2tOYW1lKTtcblxuICBmaXh0dXJlLmxvZyhgRGVwbG95aW5nIHN0YWNrICR7ZnVsbFN0YWNrTmFtZX1gKTtcbiAgYXdhaXQgZml4dHVyZS5jZGtEZXBsb3koc3RhY2tOYW1lKTtcblxuICBmaXh0dXJlLmxvZyhgRGVzdHJveWluZyBzdGFjayAke2Z1bGxTdGFja05hbWV9IGFuZCBkZWNsaW5pbmcgcHJvbXB0YCk7XG4gIGF3YWl0IGZpeHR1cmUuY2RrRGVzdHJveShzdGFja05hbWUsIHtcbiAgICBmb3JjZTogZmFsc2UsXG4gICAgaW50ZXJhY3Q6IFtcbiAgICAgIHsgcHJvbXB0OiAvQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZS8sIGlucHV0OiAnbm8nIH0sXG4gICAgXSxcbiAgICBtb2RFbnY6IHtcbiAgICAgIC8vIGRpc2FibGUgY29sb3JpbmcgYmVjYXVzZSBpdCBtZXNzZXMgdXAgcHJvbXB0IG1hdGNoaW5nLlxuICAgICAgRk9SQ0VfQ09MT1I6ICcwJyxcbiAgICB9LFxuICB9KTtcblxuICAvLyBhc3NlcnQgd2UgZGlkbid0IGRlc3Ryb3kgdGhlIHN0YWNrXG4gIGNvbnN0IHN0YWNrID0gYXdhaXQgZml4dHVyZS5hd3MuY2xvdWRGb3JtYXRpb24uc2VuZChuZXcgRGVzY3JpYmVTdGFja3NDb21tYW5kKHsgU3RhY2tOYW1lOiBmdWxsU3RhY2tOYW1lIH0pKTtcbiAgZXhwZWN0KHN0YWNrLlN0YWNrcz8ubGVuZ3RoID8/IDApLnRvRXF1YWwoMSk7XG5cbiAgZml4dHVyZS5sb2coYERlc3Ryb3lpbmcgc3RhY2sgJHtmdWxsU3RhY2tOYW1lfSBhbmQgYWNjZXB0aW5nIHByb21wdGApO1xuICBhd2FpdCBmaXh0dXJlLmNka0Rlc3Ryb3koc3RhY2tOYW1lLCB7XG4gICAgZm9yY2U6IGZhbHNlLFxuICAgIGludGVyYWN0OiBbXG4gICAgICB7IHByb21wdDogL0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUvLCBpbnB1dDogJ3llcycgfSxcbiAgICBdLFxuICB9KTtcblxuICAvLyBhc3NlcnQgd2UgZGlkIGRlc3Ryb3kgdGhlIHN0YWNrXG4gIGF3YWl0IGV4cGVjdChmaXh0dXJlLmF3cy5jbG91ZEZvcm1hdGlvbi5zZW5kKG5ldyBEZXNjcmliZVN0YWNrc0NvbW1hbmQoeyBTdGFja05hbWU6IGZ1bGxTdGFja05hbWUgfSkpKVxuICAgIC5yZWplY3RzLnRvVGhyb3coL2RvZXMgbm90IGV4aXN0Lyk7XG59KSk7XG4iXX0=