@aws-cdk-testing/cli-integ
Version:
Integration tests for the AWS CDK CLI
32 lines • 5.04 kB
JavaScript
;
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) => {
var _a, _b;
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' }
]
});
// assert we didn't destroy the stack
const stack = await fixture.aws.cloudFormation.send(new client_cloudformation_1.DescribeStacksCommand({ StackName: fullStackName }));
expect((_b = (_a = stack.Stacks) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWRlc3Ryb3ktaW50ZXJhY3RpdmUuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLWRlc3Ryb3ktaW50ZXJhY3RpdmUuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMEVBQXVFO0FBQ3ZFLG1DQUEwRDtBQUUxRCxJQUFBLGVBQVMsRUFBQywrQ0FBK0MsRUFBRSxJQUFBLHdCQUFrQixFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTs7SUFFOUYsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzNCLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFdkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNoRCxNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsYUFBYSx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sT0FBTyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUU7UUFDbEMsS0FBSyxFQUFFLEtBQUs7UUFDWixRQUFRLEVBQUU7WUFDUixFQUFFLE1BQU0sRUFBRSxpQ0FBaUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1NBQzNEO0tBQ0YsQ0FBQyxDQUFDO0lBRUgscUNBQXFDO0lBQ3JDLE1BQU0sS0FBSyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksNkNBQXFCLENBQUMsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQzVHLE1BQU0sQ0FBQyxNQUFBLE1BQUEsS0FBSyxDQUFDLE1BQU0sMENBQUUsTUFBTSxtQ0FBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFNUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsYUFBYSx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sT0FBTyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUU7UUFDbEMsS0FBSyxFQUFFLEtBQUs7UUFDWixRQUFRLEVBQUU7WUFDUixFQUFFLE1BQU0sRUFBRSxpQ0FBaUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1NBQzVEO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsa0NBQWtDO0lBQ2xDLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLDZDQUFxQixDQUFDLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNuRyxPQUFPLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFdkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc2NyaWJlU3RhY2tzQ29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbic7XG5pbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhEZWZhdWx0Rml4dHVyZSB9IGZyb20gJy4uLy4uL2xpYic7XG5cbmludGVnVGVzdCgnY2RrIGRlc3Ryb3kgcHJvbXB0cyB0aGUgdXNlciBmb3IgY29uZmlybWF0aW9uJywgd2l0aERlZmF1bHRGaXh0dXJlKGFzeW5jIChmaXh0dXJlKSA9PiB7XG5cbiAgY29uc3Qgc3RhY2tOYW1lID0gJ3Rlc3QtMic7XG4gIGNvbnN0IGZ1bGxTdGFja05hbWUgPSBmaXh0dXJlLmZ1bGxTdGFja05hbWUoc3RhY2tOYW1lKTtcblxuICBmaXh0dXJlLmxvZyhgRGVwbG95aW5nIHN0YWNrICR7ZnVsbFN0YWNrTmFtZX1gKTtcbiAgYXdhaXQgZml4dHVyZS5jZGtEZXBsb3koc3RhY2tOYW1lKTtcblxuICBmaXh0dXJlLmxvZyhgRGVzdHJveWluZyBzdGFjayAke2Z1bGxTdGFja05hbWV9IGFuZCBkZWNsaW5pbmcgcHJvbXB0YCk7XG4gIGF3YWl0IGZpeHR1cmUuY2RrRGVzdHJveShzdGFja05hbWUsIHtcbiAgICBmb3JjZTogZmFsc2UsXG4gICAgaW50ZXJhY3Q6IFtcbiAgICAgIHsgcHJvbXB0OiAvQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZS8sIGlucHV0OiAnbm8nIH1cbiAgICBdXG4gIH0pO1xuXG4gIC8vIGFzc2VydCB3ZSBkaWRuJ3QgZGVzdHJveSB0aGUgc3RhY2tcbiAgY29uc3Qgc3RhY2sgPSBhd2FpdCBmaXh0dXJlLmF3cy5jbG91ZEZvcm1hdGlvbi5zZW5kKG5ldyBEZXNjcmliZVN0YWNrc0NvbW1hbmQoeyBTdGFja05hbWU6IGZ1bGxTdGFja05hbWUgfSkpXG4gIGV4cGVjdChzdGFjay5TdGFja3M/Lmxlbmd0aCA/PyAwKS50b0VxdWFsKDEpXG5cbiAgZml4dHVyZS5sb2coYERlc3Ryb3lpbmcgc3RhY2sgJHtmdWxsU3RhY2tOYW1lfSBhbmQgYWNjZXB0aW5nIHByb21wdGApO1xuICBhd2FpdCBmaXh0dXJlLmNka0Rlc3Ryb3koc3RhY2tOYW1lLCB7XG4gICAgZm9yY2U6IGZhbHNlLFxuICAgIGludGVyYWN0OiBbXG4gICAgICB7IHByb21wdDogL0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUvLCBpbnB1dDogJ3llcycgfVxuICAgIF1cbiAgfSk7XG5cbiAgLy8gYXNzZXJ0IHdlIGRpZCBkZXN0cm95IHRoZSBzdGFja1xuICBhd2FpdCBleHBlY3QoZml4dHVyZS5hd3MuY2xvdWRGb3JtYXRpb24uc2VuZChuZXcgRGVzY3JpYmVTdGFja3NDb21tYW5kKHsgU3RhY2tOYW1lOiBmdWxsU3RhY2tOYW1lIH0pKSlcbiAgICAucmVqZWN0cy50b1Rocm93KC9kb2VzIG5vdCBleGlzdC8pO1xuXG59KSk7Il19