@aws-cdk-testing/cli-integ
Version:
Integration tests for the AWS CDK CLI
42 lines • 6.67 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
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)('upgrade legacy bootstrap stack to new bootstrap stack while in use', (0, lib_1.withoutBootstrap)(async (fixture) => {
const bootstrapStackName = fixture.bootstrapStackName;
const legacyBootstrapBucketName = `aws-cdk-bootstrap-integ-test-legacy-bckt-${(0, lib_1.randomString)()}`;
const newBootstrapBucketName = `aws-cdk-bootstrap-integ-test-v2-bckt-${(0, lib_1.randomString)()}`;
fixture.rememberToDeleteBucket(legacyBootstrapBucketName); // This one will leak
fixture.rememberToDeleteBucket(newBootstrapBucketName); // This one shouldn't leak if the test succeeds, but let's be safe in case it doesn't
// Legacy bootstrap
await fixture.cdkBootstrapLegacy({
toolkitStackName: bootstrapStackName,
bootstrapBucketName: legacyBootstrapBucketName,
});
// Deploy stack that uses file assets
await fixture.cdkDeploy('lambda', {
options: [
'--context', `bootstrapBucket=${legacyBootstrapBucketName}`,
'--context', 'legacySynth=true',
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
'--toolkit-stack-name', bootstrapStackName,
],
});
// Upgrade bootstrap stack to "new" style
await fixture.cdkBootstrapModern({
toolkitStackName: bootstrapStackName,
bootstrapBucketName: newBootstrapBucketName,
cfnExecutionPolicy: 'arn:aws:iam::aws:policy/AdministratorAccess',
});
// (Force) deploy stack again
// --force to bypass the check which says that the template hasn't changed.
await fixture.cdkDeploy('lambda', {
options: [
'--context', `bootstrapBucket=${newBootstrapBucketName}`,
'--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`,
'--toolkit-stack-name', bootstrapStackName,
'--force',
],
});
}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWJvb3RzdHJhcC11cGdyYWRlLWxlZ2FjeS1ib290c3RyYXAtc3RhY2stdG8tbmV3LWJvb3RzdHJhcC1zdGFjay13aGlsZS1pbi11c2UuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLWJvb3RzdHJhcC11cGdyYWRlLWxlZ2FjeS1ib290c3RyYXAtc3RhY2stdG8tbmV3LWJvb3RzdHJhcC1zdGFjay13aGlsZS1pbi11c2UuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbUNBQXNFO0FBRXRFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFNLENBQUMsQ0FBQyxDQUFDLHlFQUF5RTtBQUUzRyxJQUFBLGVBQVMsRUFBQyxvRUFBb0UsRUFBRSxJQUFBLHNCQUFnQixFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUNqSCxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztJQUV0RCxNQUFNLHlCQUF5QixHQUFHLDRDQUE0QyxJQUFBLGtCQUFZLEdBQUUsRUFBRSxDQUFDO0lBQy9GLE1BQU0sc0JBQXNCLEdBQUcsd0NBQXdDLElBQUEsa0JBQVksR0FBRSxFQUFFLENBQUM7SUFDeEYsT0FBTyxDQUFDLHNCQUFzQixDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxxQkFBcUI7SUFDaEYsT0FBTyxDQUFDLHNCQUFzQixDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxxRkFBcUY7SUFFN0ksbUJBQW1CO0lBQ25CLE1BQU0sT0FBTyxDQUFDLGtCQUFrQixDQUFDO1FBQy9CLGdCQUFnQixFQUFFLGtCQUFrQjtRQUNwQyxtQkFBbUIsRUFBRSx5QkFBeUI7S0FDL0MsQ0FBQyxDQUFDO0lBRUgscUNBQXFDO0lBQ3JDLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7UUFDaEMsT0FBTyxFQUFFO1lBQ1AsV0FBVyxFQUFFLG1CQUFtQix5QkFBeUIsRUFBRTtZQUMzRCxXQUFXLEVBQUUsa0JBQWtCO1lBQy9CLFdBQVcsRUFBRSxvQ0FBb0MsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNwRSxzQkFBc0IsRUFBRSxrQkFBa0I7U0FDM0M7S0FDRixDQUFDLENBQUM7SUFFSCx5Q0FBeUM7SUFDekMsTUFBTSxPQUFPLENBQUMsa0JBQWtCLENBQUM7UUFDL0IsZ0JBQWdCLEVBQUUsa0JBQWtCO1FBQ3BDLG1CQUFtQixFQUFFLHNCQUFzQjtRQUMzQyxrQkFBa0IsRUFBRSw2Q0FBNkM7S0FDbEUsQ0FBQyxDQUFDO0lBRUgsNkJBQTZCO0lBQzdCLDJFQUEyRTtJQUMzRSxNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO1FBQ2hDLE9BQU8sRUFBRTtZQUNQLFdBQVcsRUFBRSxtQkFBbUIsc0JBQXNCLEVBQUU7WUFDeEQsV0FBVyxFQUFFLG9DQUFvQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3BFLHNCQUFzQixFQUFFLGtCQUFrQjtZQUMxQyxTQUFTO1NBQ1Y7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRob3V0Qm9vdHN0cmFwLCByYW5kb21TdHJpbmcgfSBmcm9tICcuLi8uLi9saWInO1xuXG5qZXN0LnNldFRpbWVvdXQoMiAqIDYwICogNjBfMDAwKTsgLy8gSW5jbHVkZXMgdGhlIHRpbWUgdG8gYWNxdWlyZSBsb2Nrcywgd29yc3QtY2FzZSBzaW5nbGUtdGhyZWFkZWQgcnVudGltZVxuXG5pbnRlZ1Rlc3QoJ3VwZ3JhZGUgbGVnYWN5IGJvb3RzdHJhcCBzdGFjayB0byBuZXcgYm9vdHN0cmFwIHN0YWNrIHdoaWxlIGluIHVzZScsIHdpdGhvdXRCb290c3RyYXAoYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgY29uc3QgYm9vdHN0cmFwU3RhY2tOYW1lID0gZml4dHVyZS5ib290c3RyYXBTdGFja05hbWU7XG5cbiAgY29uc3QgbGVnYWN5Qm9vdHN0cmFwQnVja2V0TmFtZSA9IGBhd3MtY2RrLWJvb3RzdHJhcC1pbnRlZy10ZXN0LWxlZ2FjeS1iY2t0LSR7cmFuZG9tU3RyaW5nKCl9YDtcbiAgY29uc3QgbmV3Qm9vdHN0cmFwQnVja2V0TmFtZSA9IGBhd3MtY2RrLWJvb3RzdHJhcC1pbnRlZy10ZXN0LXYyLWJja3QtJHtyYW5kb21TdHJpbmcoKX1gO1xuICBmaXh0dXJlLnJlbWVtYmVyVG9EZWxldGVCdWNrZXQobGVnYWN5Qm9vdHN0cmFwQnVja2V0TmFtZSk7IC8vIFRoaXMgb25lIHdpbGwgbGVha1xuICBmaXh0dXJlLnJlbWVtYmVyVG9EZWxldGVCdWNrZXQobmV3Qm9vdHN0cmFwQnVja2V0TmFtZSk7IC8vIFRoaXMgb25lIHNob3VsZG4ndCBsZWFrIGlmIHRoZSB0ZXN0IHN1Y2NlZWRzLCBidXQgbGV0J3MgYmUgc2FmZSBpbiBjYXNlIGl0IGRvZXNuJ3RcblxuICAvLyBMZWdhY3kgYm9vdHN0cmFwXG4gIGF3YWl0IGZpeHR1cmUuY2RrQm9vdHN0cmFwTGVnYWN5KHtcbiAgICB0b29sa2l0U3RhY2tOYW1lOiBib290c3RyYXBTdGFja05hbWUsXG4gICAgYm9vdHN0cmFwQnVja2V0TmFtZTogbGVnYWN5Qm9vdHN0cmFwQnVja2V0TmFtZSxcbiAgfSk7XG5cbiAgLy8gRGVwbG95IHN0YWNrIHRoYXQgdXNlcyBmaWxlIGFzc2V0c1xuICBhd2FpdCBmaXh0dXJlLmNka0RlcGxveSgnbGFtYmRhJywge1xuICAgIG9wdGlvbnM6IFtcbiAgICAgICctLWNvbnRleHQnLCBgYm9vdHN0cmFwQnVja2V0PSR7bGVnYWN5Qm9vdHN0cmFwQnVja2V0TmFtZX1gLFxuICAgICAgJy0tY29udGV4dCcsICdsZWdhY3lTeW50aD10cnVlJyxcbiAgICAgICctLWNvbnRleHQnLCBgQGF3cy1jZGsvY29yZTpib290c3RyYXBRdWFsaWZpZXI9JHtmaXh0dXJlLnF1YWxpZmllcn1gLFxuICAgICAgJy0tdG9vbGtpdC1zdGFjay1uYW1lJywgYm9vdHN0cmFwU3RhY2tOYW1lLFxuICAgIF0sXG4gIH0pO1xuXG4gIC8vIFVwZ3JhZGUgYm9vdHN0cmFwIHN0YWNrIHRvIFwibmV3XCIgc3R5bGVcbiAgYXdhaXQgZml4dHVyZS5jZGtCb290c3RyYXBNb2Rlcm4oe1xuICAgIHRvb2xraXRTdGFja05hbWU6IGJvb3RzdHJhcFN0YWNrTmFtZSxcbiAgICBib290c3RyYXBCdWNrZXROYW1lOiBuZXdCb290c3RyYXBCdWNrZXROYW1lLFxuICAgIGNmbkV4ZWN1dGlvblBvbGljeTogJ2Fybjphd3M6aWFtOjphd3M6cG9saWN5L0FkbWluaXN0cmF0b3JBY2Nlc3MnLFxuICB9KTtcblxuICAvLyAoRm9yY2UpIGRlcGxveSBzdGFjayBhZ2FpblxuICAvLyAtLWZvcmNlIHRvIGJ5cGFzcyB0aGUgY2hlY2sgd2hpY2ggc2F5cyB0aGF0IHRoZSB0ZW1wbGF0ZSBoYXNuJ3QgY2hhbmdlZC5cbiAgYXdhaXQgZml4dHVyZS5jZGtEZXBsb3koJ2xhbWJkYScsIHtcbiAgICBvcHRpb25zOiBbXG4gICAgICAnLS1jb250ZXh0JywgYGJvb3RzdHJhcEJ1Y2tldD0ke25ld0Jvb3RzdHJhcEJ1Y2tldE5hbWV9YCxcbiAgICAgICctLWNvbnRleHQnLCBgQGF3cy1jZGsvY29yZTpib290c3RyYXBRdWFsaWZpZXI9JHtmaXh0dXJlLnF1YWxpZmllcn1gLFxuICAgICAgJy0tdG9vbGtpdC1zdGFjay1uYW1lJywgYm9vdHN0cmFwU3RhY2tOYW1lLFxuICAgICAgJy0tZm9yY2UnLFxuICAgIF0sXG4gIH0pO1xufSkpO1xuXG4iXX0=