UNPKG

@aws-cdk-testing/cli-integ

Version:

Integration tests for the AWS CDK CLI

39 lines 5.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const client_ecr_1 = require("@aws-sdk/client-ecr"); 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)('Garbage Collection deletes unused ecr images', (0, lib_1.withoutBootstrap)(async (fixture) => { const toolkitStackName = fixture.bootstrapStackName; await fixture.cdkBootstrapModern({ toolkitStackName, }); const repoName = await fixture.bootstrapRepoName(); await fixture.cdkDeploy('docker-in-use', { options: [ '--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`, '--toolkit-stack-name', toolkitStackName, '--force', ], }); fixture.log('Setup complete!'); await fixture.cdkDestroy('docker-in-use', { options: [ '--context', `@aws-cdk/core:bootstrapQualifier=${fixture.qualifier}`, '--toolkit-stack-name', toolkitStackName, '--force', ], }); await fixture.cdkGarbageCollect({ rollbackBufferDays: 0, type: 'ecr', bootstrapStackName: toolkitStackName, }); fixture.log('Garbage collection complete!'); // assert that the bootstrap repository is empty await fixture.aws.ecr.send(new client_ecr_1.ListImagesCommand({ repositoryName: repoName })) .then((result) => { expect(result.imageIds).toEqual([]); }); })); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWdjLWdhcmJhZ2UtY29sbGVjdGlvbi1kZWxldGVzLXVudXNlZC1lY3ItaW1hZ2VzLmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1nYy1nYXJiYWdlLWNvbGxlY3Rpb24tZGVsZXRlcy11bnVzZWQtZWNyLWltYWdlcy5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxvREFBd0Q7QUFDeEQsbUNBQXdEO0FBRXhELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFNLENBQUMsQ0FBQyxDQUFDLHlFQUF5RTtBQUUzRyxJQUFBLGVBQVMsRUFDUCw4Q0FBOEMsRUFDOUMsSUFBQSxzQkFBZ0IsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDakMsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUM7SUFFcEQsTUFBTSxPQUFPLENBQUMsa0JBQWtCLENBQUM7UUFDL0IsZ0JBQWdCO0tBQ2pCLENBQUMsQ0FBQztJQUVILE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFFbkQsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRTtRQUN2QyxPQUFPLEVBQUU7WUFDUCxXQUFXLEVBQUUsb0NBQW9DLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDcEUsc0JBQXNCLEVBQUUsZ0JBQWdCO1lBQ3hDLFNBQVM7U0FDVjtLQUNGLENBQUMsQ0FBQztJQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUUvQixNQUFNLE9BQU8sQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFO1FBQ3hDLE9BQU8sRUFBRTtZQUNQLFdBQVcsRUFBRSxvQ0FBb0MsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNwRSxzQkFBc0IsRUFBRSxnQkFBZ0I7WUFDeEMsU0FBUztTQUNWO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxPQUFPLENBQUMsaUJBQWlCLENBQUM7UUFDOUIsa0JBQWtCLEVBQUUsQ0FBQztRQUNyQixJQUFJLEVBQUUsS0FBSztRQUNYLGtCQUFrQixFQUFFLGdCQUFnQjtLQUNyQyxDQUFDLENBQUM7SUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFFNUMsZ0RBQWdEO0lBQ2hELE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksOEJBQWlCLENBQUMsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUM1RSxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUNmLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RJbWFnZXNDb21tYW5kIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWVjcic7XG5pbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhvdXRCb290c3RyYXAgfSBmcm9tICcuLi8uLi9saWInO1xuXG5qZXN0LnNldFRpbWVvdXQoMiAqIDYwICogNjBfMDAwKTsgLy8gSW5jbHVkZXMgdGhlIHRpbWUgdG8gYWNxdWlyZSBsb2Nrcywgd29yc3QtY2FzZSBzaW5nbGUtdGhyZWFkZWQgcnVudGltZVxuXG5pbnRlZ1Rlc3QoXG4gICdHYXJiYWdlIENvbGxlY3Rpb24gZGVsZXRlcyB1bnVzZWQgZWNyIGltYWdlcycsXG4gIHdpdGhvdXRCb290c3RyYXAoYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICBjb25zdCB0b29sa2l0U3RhY2tOYW1lID0gZml4dHVyZS5ib290c3RyYXBTdGFja05hbWU7XG5cbiAgICBhd2FpdCBmaXh0dXJlLmNka0Jvb3RzdHJhcE1vZGVybih7XG4gICAgICB0b29sa2l0U3RhY2tOYW1lLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVwb05hbWUgPSBhd2FpdCBmaXh0dXJlLmJvb3RzdHJhcFJlcG9OYW1lKCk7XG5cbiAgICBhd2FpdCBmaXh0dXJlLmNka0RlcGxveSgnZG9ja2VyLWluLXVzZScsIHtcbiAgICAgIG9wdGlvbnM6IFtcbiAgICAgICAgJy0tY29udGV4dCcsIGBAYXdzLWNkay9jb3JlOmJvb3RzdHJhcFF1YWxpZmllcj0ke2ZpeHR1cmUucXVhbGlmaWVyfWAsXG4gICAgICAgICctLXRvb2xraXQtc3RhY2stbmFtZScsIHRvb2xraXRTdGFja05hbWUsXG4gICAgICAgICctLWZvcmNlJyxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgZml4dHVyZS5sb2coJ1NldHVwIGNvbXBsZXRlIScpO1xuXG4gICAgYXdhaXQgZml4dHVyZS5jZGtEZXN0cm95KCdkb2NrZXItaW4tdXNlJywge1xuICAgICAgb3B0aW9uczogW1xuICAgICAgICAnLS1jb250ZXh0JywgYEBhd3MtY2RrL2NvcmU6Ym9vdHN0cmFwUXVhbGlmaWVyPSR7Zml4dHVyZS5xdWFsaWZpZXJ9YCxcbiAgICAgICAgJy0tdG9vbGtpdC1zdGFjay1uYW1lJywgdG9vbGtpdFN0YWNrTmFtZSxcbiAgICAgICAgJy0tZm9yY2UnLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGF3YWl0IGZpeHR1cmUuY2RrR2FyYmFnZUNvbGxlY3Qoe1xuICAgICAgcm9sbGJhY2tCdWZmZXJEYXlzOiAwLFxuICAgICAgdHlwZTogJ2VjcicsXG4gICAgICBib290c3RyYXBTdGFja05hbWU6IHRvb2xraXRTdGFja05hbWUsXG4gICAgfSk7XG4gICAgZml4dHVyZS5sb2coJ0dhcmJhZ2UgY29sbGVjdGlvbiBjb21wbGV0ZSEnKTtcblxuICAgIC8vIGFzc2VydCB0aGF0IHRoZSBib290c3RyYXAgcmVwb3NpdG9yeSBpcyBlbXB0eVxuICAgIGF3YWl0IGZpeHR1cmUuYXdzLmVjci5zZW5kKG5ldyBMaXN0SW1hZ2VzQ29tbWFuZCh7IHJlcG9zaXRvcnlOYW1lOiByZXBvTmFtZSB9KSlcbiAgICAgIC50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgZXhwZWN0KHJlc3VsdC5pbWFnZUlkcykudG9FcXVhbChbXSk7XG4gICAgICB9KTtcbiAgfSksXG4pO1xuXG4iXX0=