UNPKG

@aws-cdk-testing/cli-integ

Version:

Integration tests for the AWS CDK CLI

38 lines 6.45 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"); jest.setTimeout(2 * 60 * 60000); // Includes the time to acquire locks, worst-case single-threaded runtime (0, lib_1.integTest)('deploy preserves existing notification arns when not specified', (0, lib_1.withDefaultFixture)(async (fixture) => { var _a; 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((_a = describeResponse.Stacks) === null || _a === void 0 ? void 0 : _a[0].NotificationARNs).toEqual([topicArn]); } finally { await fixture.aws.sns.send(new client_sns_1.DeleteTopicCommand({ TopicArn: topicArn, })); } })); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWRlcGxveS1wcmVzZXJ2ZXMtZXhpc3Rpbmctbm90aWZpY2F0aW9uLWFybnMtd2hlbi1ub3Qtc3BlY2lmaWVkLmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1kZXBsb3ktcHJlc2VydmVzLWV4aXN0aW5nLW5vdGlmaWNhdGlvbi1hcm5zLXdoZW4tbm90LXNwZWNpZmllZC5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwRUFBeUg7QUFDekgsb0RBQTZFO0FBQzdFLG1DQUEwRDtBQUUxRCxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBTSxDQUFDLENBQUMsQ0FBQyx5RUFBeUU7QUFFM0csSUFBQSxlQUFTLEVBQUMsZ0VBQWdFLEVBQUUsSUFBQSx3QkFBa0IsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7O0lBQy9HLE1BQU0sU0FBUyxHQUFHLEdBQUcsT0FBTyxDQUFDLGVBQWUsUUFBUSxDQUFDO0lBRXJELE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksK0JBQWtCLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFTLENBQUM7SUFFcEMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFN0MsMENBQTBDO1FBQzFDLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUNuQyxJQUFJLDBDQUFrQixDQUFDO1lBQ3JCLFNBQVMsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDO1lBQ3JELG1CQUFtQixFQUFFLElBQUk7WUFDekIsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7U0FDN0IsQ0FBQyxDQUNILENBQUM7UUFFRixNQUFNLElBQUEsb0RBQTRCLEVBQ2hDO1lBQ0UsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYztZQUNsQyxXQUFXLEVBQUUsR0FBRztTQUNqQixFQUNELEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUMxRCxDQUFDO1FBRUYsZUFBZTtRQUNmLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRTdDLDhDQUE4QztRQUM5QyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUM1RCxJQUFJLDZDQUFxQixDQUFDO1lBQ3hCLFNBQVMsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDO1NBQ3RELENBQUMsQ0FDSCxDQUFDO1FBQ0YsTUFBTSxDQUFDLE1BQUEsZ0JBQWdCLENBQUMsTUFBTSwwQ0FBRyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7WUFBUyxDQUFDO1FBQ1QsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQ3hCLElBQUksK0JBQWtCLENBQUM7WUFDckIsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc2NyaWJlU3RhY2tzQ29tbWFuZCwgVXBkYXRlU3RhY2tDb21tYW5kLCB3YWl0VW50aWxTdGFja1VwZGF0ZUNvbXBsZXRlIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWNsb3VkZm9ybWF0aW9uJztcbmltcG9ydCB7IENyZWF0ZVRvcGljQ29tbWFuZCwgRGVsZXRlVG9waWNDb21tYW5kIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LXNucyc7XG5pbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhEZWZhdWx0Rml4dHVyZSB9IGZyb20gJy4uLy4uL2xpYic7XG5cbmplc3Quc2V0VGltZW91dCgyICogNjAgKiA2MF8wMDApOyAvLyBJbmNsdWRlcyB0aGUgdGltZSB0byBhY3F1aXJlIGxvY2tzLCB3b3JzdC1jYXNlIHNpbmdsZS10aHJlYWRlZCBydW50aW1lXG5cbmludGVnVGVzdCgnZGVwbG95IHByZXNlcnZlcyBleGlzdGluZyBub3RpZmljYXRpb24gYXJucyB3aGVuIG5vdCBzcGVjaWZpZWQnLCB3aXRoRGVmYXVsdEZpeHR1cmUoYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgY29uc3QgdG9waWNOYW1lID0gYCR7Zml4dHVyZS5zdGFja05hbWVQcmVmaXh9LXRvcGljYDtcblxuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZpeHR1cmUuYXdzLnNucy5zZW5kKG5ldyBDcmVhdGVUb3BpY0NvbW1hbmQoeyBOYW1lOiB0b3BpY05hbWUgfSkpO1xuICBjb25zdCB0b3BpY0FybiA9IHJlc3BvbnNlLlRvcGljQXJuITtcblxuICB0cnkge1xuICAgIGF3YWl0IGZpeHR1cmUuY2RrRGVwbG95KCdub3RpZmljYXRpb24tYXJucycpO1xuXG4gICAgLy8gYWRkIG5vdGlmaWNhdGlvbiBhcm5zIGV4dGVybmFsbHkgdG8gY2RrXG4gICAgYXdhaXQgZml4dHVyZS5hd3MuY2xvdWRGb3JtYXRpb24uc2VuZChcbiAgICAgIG5ldyBVcGRhdGVTdGFja0NvbW1hbmQoe1xuICAgICAgICBTdGFja05hbWU6IGZpeHR1cmUuZnVsbFN0YWNrTmFtZSgnbm90aWZpY2F0aW9uLWFybnMnKSxcbiAgICAgICAgVXNlUHJldmlvdXNUZW1wbGF0ZTogdHJ1ZSxcbiAgICAgICAgTm90aWZpY2F0aW9uQVJOczogW3RvcGljQXJuXSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICBhd2FpdCB3YWl0VW50aWxTdGFja1VwZGF0ZUNvbXBsZXRlKFxuICAgICAge1xuICAgICAgICBjbGllbnQ6IGZpeHR1cmUuYXdzLmNsb3VkRm9ybWF0aW9uLFxuICAgICAgICBtYXhXYWl0VGltZTogNjAwLFxuICAgICAgfSxcbiAgICAgIHsgU3RhY2tOYW1lOiBmaXh0dXJlLmZ1bGxTdGFja05hbWUoJ25vdGlmaWNhdGlvbi1hcm5zJykgfSxcbiAgICApO1xuXG4gICAgLy8gZGVwbG95IGFnYWluXG4gICAgYXdhaXQgZml4dHVyZS5jZGtEZXBsb3koJ25vdGlmaWNhdGlvbi1hcm5zJyk7XG5cbiAgICAvLyBtYWtlIHN1cmUgdGhlIG5vdGlmaWNhdGlvbiBhcm4gaXMgcHJlc2VydmVkXG4gICAgY29uc3QgZGVzY3JpYmVSZXNwb25zZSA9IGF3YWl0IGZpeHR1cmUuYXdzLmNsb3VkRm9ybWF0aW9uLnNlbmQoXG4gICAgICBuZXcgRGVzY3JpYmVTdGFja3NDb21tYW5kKHtcbiAgICAgICAgU3RhY2tOYW1lOiBmaXh0dXJlLmZ1bGxTdGFja05hbWUoJ25vdGlmaWNhdGlvbi1hcm5zJyksXG4gICAgICB9KSxcbiAgICApO1xuICAgIGV4cGVjdChkZXNjcmliZVJlc3BvbnNlLlN0YWNrcz8uWzBdLk5vdGlmaWNhdGlvbkFSTnMpLnRvRXF1YWwoW3RvcGljQXJuXSk7XG4gIH0gZmluYWxseSB7XG4gICAgYXdhaXQgZml4dHVyZS5hd3Muc25zLnNlbmQoXG4gICAgICBuZXcgRGVsZXRlVG9waWNDb21tYW5kKHtcbiAgICAgICAgVG9waWNBcm46IHRvcGljQXJuLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxufSkpO1xuXG4iXX0=