@aws-cdk-testing/cli-integ
Version:
Integration tests for the AWS CDK CLI
36 lines • 6.05 kB
JavaScript
;
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)('deploy preserves existing notification arns when not specified', (0, lib_1.withDefaultFixture)(async (fixture) => {
const topicName = `${fixture.stackNamePrefix}-topic`;
const response = await fixture.aws.sns.send(new client_sns_1.CreateTopicCommand({ Name: topicName }));
const topicArn = response.TopicArn;
try {
await fixture.cdkDeploy('notification-arns');
// add notification arns externally to cdk
await fixture.aws.cloudFormation.send(new client_cloudformation_1.UpdateStackCommand({
StackName: fixture.fullStackName('notification-arns'),
UsePreviousTemplate: true,
NotificationARNs: [topicArn],
}));
await (0, client_cloudformation_1.waitUntilStackUpdateComplete)({
client: fixture.aws.cloudFormation,
maxWaitTime: 600,
}, { StackName: fixture.fullStackName('notification-arns') });
// deploy again
await fixture.cdkDeploy('notification-arns');
// make sure the notification arn is preserved
const describeResponse = await fixture.aws.cloudFormation.send(new client_cloudformation_1.DescribeStacksCommand({
StackName: fixture.fullStackName('notification-arns'),
}));
expect(describeResponse.Stacks?.[0].NotificationARNs).toEqual([topicArn]);
}
finally {
await fixture.aws.sns.send(new client_sns_1.DeleteTopicCommand({
TopicArn: topicArn,
}));
}
}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWRlcGxveS1wcmVzZXJ2ZXMtZXhpc3Rpbmctbm90aWZpY2F0aW9uLWFybnMtd2hlbi1ub3Qtc3BlY2lmaWVkLmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1kZXBsb3ktcHJlc2VydmVzLWV4aXN0aW5nLW5vdGlmaWNhdGlvbi1hcm5zLXdoZW4tbm90LXNwZWNpZmllZC5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwRUFBeUg7QUFDekgsb0RBQTZFO0FBQzdFLHNDQUE2RDtBQUU3RCxJQUFBLGVBQVMsRUFBQyxnRUFBZ0UsRUFBRSxJQUFBLHdCQUFrQixFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUMvRyxNQUFNLFNBQVMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxlQUFlLFFBQVEsQ0FBQztJQUVyRCxNQUFNLFFBQVEsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLCtCQUFrQixDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN6RixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUyxDQUFDO0lBRXBDLElBQUksQ0FBQztRQUNILE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRTdDLDBDQUEwQztRQUMxQyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDbkMsSUFBSSwwQ0FBa0IsQ0FBQztZQUNyQixTQUFTLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQztZQUNyRCxtQkFBbUIsRUFBRSxJQUFJO1lBQ3pCLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDO1NBQzdCLENBQUMsQ0FDSCxDQUFDO1FBRUYsTUFBTSxJQUFBLG9EQUE0QixFQUNoQztZQUNFLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWM7WUFDbEMsV0FBVyxFQUFFLEdBQUc7U0FDakIsRUFDRCxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FDMUQsQ0FBQztRQUVGLGVBQWU7UUFDZixNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUU3Qyw4Q0FBOEM7UUFDOUMsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDNUQsSUFBSSw2Q0FBcUIsQ0FBQztZQUN4QixTQUFTLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQztTQUN0RCxDQUFDLENBQ0gsQ0FBQztRQUNGLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztZQUFTLENBQUM7UUFDVCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FDeEIsSUFBSSwrQkFBa0IsQ0FBQztZQUNyQixRQUFRLEVBQUUsUUFBUTtTQUNuQixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzY3JpYmVTdGFja3NDb21tYW5kLCBVcGRhdGVTdGFja0NvbW1hbmQsIHdhaXRVbnRpbFN0YWNrVXBkYXRlQ29tcGxldGUgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtY2xvdWRmb3JtYXRpb24nO1xuaW1wb3J0IHsgQ3JlYXRlVG9waWNDb21tYW5kLCBEZWxldGVUb3BpY0NvbW1hbmQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtc25zJztcbmltcG9ydCB7IGludGVnVGVzdCwgd2l0aERlZmF1bHRGaXh0dXJlIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcblxuaW50ZWdUZXN0KCdkZXBsb3kgcHJlc2VydmVzIGV4aXN0aW5nIG5vdGlmaWNhdGlvbiBhcm5zIHdoZW4gbm90IHNwZWNpZmllZCcsIHdpdGhEZWZhdWx0Rml4dHVyZShhc3luYyAoZml4dHVyZSkgPT4ge1xuICBjb25zdCB0b3BpY05hbWUgPSBgJHtmaXh0dXJlLnN0YWNrTmFtZVByZWZpeH0tdG9waWNgO1xuXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZml4dHVyZS5hd3Muc25zLnNlbmQobmV3IENyZWF0ZVRvcGljQ29tbWFuZCh7IE5hbWU6IHRvcGljTmFtZSB9KSk7XG4gIGNvbnN0IHRvcGljQXJuID0gcmVzcG9uc2UuVG9waWNBcm4hO1xuXG4gIHRyeSB7XG4gICAgYXdhaXQgZml4dHVyZS5jZGtEZXBsb3koJ25vdGlmaWNhdGlvbi1hcm5zJyk7XG5cbiAgICAvLyBhZGQgbm90aWZpY2F0aW9uIGFybnMgZXh0ZXJuYWxseSB0byBjZGtcbiAgICBhd2FpdCBmaXh0dXJlLmF3cy5jbG91ZEZvcm1hdGlvbi5zZW5kKFxuICAgICAgbmV3IFVwZGF0ZVN0YWNrQ29tbWFuZCh7XG4gICAgICAgIFN0YWNrTmFtZTogZml4dHVyZS5mdWxsU3RhY2tOYW1lKCdub3RpZmljYXRpb24tYXJucycpLFxuICAgICAgICBVc2VQcmV2aW91c1RlbXBsYXRlOiB0cnVlLFxuICAgICAgICBOb3RpZmljYXRpb25BUk5zOiBbdG9waWNBcm5dLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIGF3YWl0IHdhaXRVbnRpbFN0YWNrVXBkYXRlQ29tcGxldGUoXG4gICAgICB7XG4gICAgICAgIGNsaWVudDogZml4dHVyZS5hd3MuY2xvdWRGb3JtYXRpb24sXG4gICAgICAgIG1heFdhaXRUaW1lOiA2MDAsXG4gICAgICB9LFxuICAgICAgeyBTdGFja05hbWU6IGZpeHR1cmUuZnVsbFN0YWNrTmFtZSgnbm90aWZpY2F0aW9uLWFybnMnKSB9LFxuICAgICk7XG5cbiAgICAvLyBkZXBsb3kgYWdhaW5cbiAgICBhd2FpdCBmaXh0dXJlLmNka0RlcGxveSgnbm90aWZpY2F0aW9uLWFybnMnKTtcblxuICAgIC8vIG1ha2Ugc3VyZSB0aGUgbm90aWZpY2F0aW9uIGFybiBpcyBwcmVzZXJ2ZWRcbiAgICBjb25zdCBkZXNjcmliZVJlc3BvbnNlID0gYXdhaXQgZml4dHVyZS5hd3MuY2xvdWRGb3JtYXRpb24uc2VuZChcbiAgICAgIG5ldyBEZXNjcmliZVN0YWNrc0NvbW1hbmQoe1xuICAgICAgICBTdGFja05hbWU6IGZpeHR1cmUuZnVsbFN0YWNrTmFtZSgnbm90aWZpY2F0aW9uLWFybnMnKSxcbiAgICAgIH0pLFxuICAgICk7XG4gICAgZXhwZWN0KGRlc2NyaWJlUmVzcG9uc2UuU3RhY2tzPy5bMF0uTm90aWZpY2F0aW9uQVJOcykudG9FcXVhbChbdG9waWNBcm5dKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBhd2FpdCBmaXh0dXJlLmF3cy5zbnMuc2VuZChcbiAgICAgIG5ldyBEZWxldGVUb3BpY0NvbW1hbmQoe1xuICAgICAgICBUb3BpY0FybjogdG9waWNBcm4sXG4gICAgICB9KSxcbiAgICApO1xuICB9XG59KSk7XG5cbiJdfQ==