@aws-cdk-testing/cli-integ
Version:
Integration tests for the AWS CDK CLI
20 lines • 4.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const client_cloudformation_1 = require("@aws-sdk/client-cloudformation");
const lib_1 = require("../../lib");
jest.setTimeout(2 * 60 * 60000); // Includes the time to acquire locks, worst-case single-threaded runtime
(0, lib_1.integTest)('security related changes without a CLI are expected to fail when approval is required', (0, lib_1.withCliLibFixture)(async (fixture) => {
const stdErr = await fixture.cdk(['deploy', fixture.fullStackName('simple-1')], {
onlyStderr: true,
captureStderr: true,
allowErrExit: true,
neverRequireApproval: false,
});
expect(stdErr).toContain('This deployment will make potentially sensitive changes according to your current security approval level');
expect(stdErr).toContain('"--require-approval" is enabled and stack includes security-sensitive updates');
// Ensure stack was not deployed
await expect(fixture.aws.cloudFormation.send(new client_cloudformation_1.DescribeStacksCommand({
StackName: fixture.fullStackName('simple-1'),
}))).rejects.toThrow('does not exist');
}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWxpYi1zZWN1cml0eS1yZWxhdGVkLWNoYW5nZXMtd2l0aG91dC1hLWNsaS1hcmUtZXhwZWN0ZWQtdG8tZmFpbC13aGVuLWFwcHJvdmFsLWlzLXJlcXVpcmVkLmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1saWItc2VjdXJpdHktcmVsYXRlZC1jaGFuZ2VzLXdpdGhvdXQtYS1jbGktYXJlLWV4cGVjdGVkLXRvLWZhaWwtd2hlbi1hcHByb3ZhbC1pcy1yZXF1aXJlZC5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwRUFBdUU7QUFDdkUsbUNBQXlEO0FBRXpELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFNLENBQUMsQ0FBQyxDQUFDLHlFQUF5RTtBQUUzRyxJQUFBLGVBQVMsRUFDUCx1RkFBdUYsRUFDdkYsSUFBQSx1QkFBaUIsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDbEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRTtRQUM5RSxVQUFVLEVBQUUsSUFBSTtRQUNoQixhQUFhLEVBQUUsSUFBSTtRQUNuQixZQUFZLEVBQUUsSUFBSTtRQUNsQixvQkFBb0IsRUFBRSxLQUFLO0tBQzVCLENBQUMsQ0FBQztJQUVILE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQ3RCLDJHQUEyRyxDQUM1RyxDQUFDO0lBQ0YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FDdEIsK0VBQStFLENBQ2hGLENBQUM7SUFFRixnQ0FBZ0M7SUFDaEMsTUFBTSxNQUFNLENBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUM3QixJQUFJLDZDQUFxQixDQUFDO1FBQ3hCLFNBQVMsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztLQUM3QyxDQUFDLENBQ0gsQ0FDRixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUMsQ0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzY3JpYmVTdGFja3NDb21tYW5kIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWNsb3VkZm9ybWF0aW9uJztcbmltcG9ydCB7IGludGVnVGVzdCwgd2l0aENsaUxpYkZpeHR1cmUgfSBmcm9tICcuLi8uLi9saWInO1xuXG5qZXN0LnNldFRpbWVvdXQoMiAqIDYwICogNjBfMDAwKTsgLy8gSW5jbHVkZXMgdGhlIHRpbWUgdG8gYWNxdWlyZSBsb2Nrcywgd29yc3QtY2FzZSBzaW5nbGUtdGhyZWFkZWQgcnVudGltZVxuXG5pbnRlZ1Rlc3QoXG4gICdzZWN1cml0eSByZWxhdGVkIGNoYW5nZXMgd2l0aG91dCBhIENMSSBhcmUgZXhwZWN0ZWQgdG8gZmFpbCB3aGVuIGFwcHJvdmFsIGlzIHJlcXVpcmVkJyxcbiAgd2l0aENsaUxpYkZpeHR1cmUoYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICBjb25zdCBzdGRFcnIgPSBhd2FpdCBmaXh0dXJlLmNkayhbJ2RlcGxveScsIGZpeHR1cmUuZnVsbFN0YWNrTmFtZSgnc2ltcGxlLTEnKV0sIHtcbiAgICAgIG9ubHlTdGRlcnI6IHRydWUsXG4gICAgICBjYXB0dXJlU3RkZXJyOiB0cnVlLFxuICAgICAgYWxsb3dFcnJFeGl0OiB0cnVlLFxuICAgICAgbmV2ZXJSZXF1aXJlQXBwcm92YWw6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KHN0ZEVycikudG9Db250YWluKFxuICAgICAgJ1RoaXMgZGVwbG95bWVudCB3aWxsIG1ha2UgcG90ZW50aWFsbHkgc2Vuc2l0aXZlIGNoYW5nZXMgYWNjb3JkaW5nIHRvIHlvdXIgY3VycmVudCBzZWN1cml0eSBhcHByb3ZhbCBsZXZlbCcsXG4gICAgKTtcbiAgICBleHBlY3Qoc3RkRXJyKS50b0NvbnRhaW4oXG4gICAgICAnXCItLXJlcXVpcmUtYXBwcm92YWxcIiBpcyBlbmFibGVkIGFuZCBzdGFjayBpbmNsdWRlcyBzZWN1cml0eS1zZW5zaXRpdmUgdXBkYXRlcycsXG4gICAgKTtcblxuICAgIC8vIEVuc3VyZSBzdGFjayB3YXMgbm90IGRlcGxveWVkXG4gICAgYXdhaXQgZXhwZWN0KFxuICAgICAgZml4dHVyZS5hd3MuY2xvdWRGb3JtYXRpb24uc2VuZChcbiAgICAgICAgbmV3IERlc2NyaWJlU3RhY2tzQ29tbWFuZCh7XG4gICAgICAgICAgU3RhY2tOYW1lOiBmaXh0dXJlLmZ1bGxTdGFja05hbWUoJ3NpbXBsZS0xJyksXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICApLnJlamVjdHMudG9UaHJvdygnZG9lcyBub3QgZXhpc3QnKTtcbiAgfSksXG4pO1xuIl19