UNPKG

@aws-cdk-testing/cli-integ

Version:

Integration tests for the AWS CDK CLI

26 lines 4.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const node_crypto_1 = require("node:crypto"); const lib_1 = require("../../../lib"); (0, lib_1.integTest)('cdk diagnose after early validation failure', (0, lib_1.withSpecificFixture)('diagnose-app', async (fixture) => { const bucketName = (0, node_crypto_1.randomUUID)(); // Deploy the first stack with a named bucket — should succeed await fixture.cdkDeploy('diagnose-early-val-1', { modEnv: { BUCKET_NAME: bucketName }, }); // Deploy the second stack with the same bucket name — should fail with early validation const deployOutput = await fixture.cdkDeploy('diagnose-early-val-2', { modEnv: { BUCKET_NAME: bucketName }, allowErrExit: true, }); expect(deployOutput).toContain('already exists'); // Run cdk diagnose on the second stack const diagnoseOutput = await fixture.cdk(['--unstable=diagnose', 'diagnose', fixture.fullStackName('diagnose-early-val-2')], { modEnv: { BUCKET_NAME: bucketName }, allowErrExit: true, }); // The diagnose output should mention the stack and the validation error expect(diagnoseOutput).toContain('diagnose-early-val-2'); expect(diagnoseOutput).toContain('already exists'); })); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWRpYWdub3NlLWVhcmx5LXZhbGlkYXRpb24tZmFpbHVyZS5pbnRlZ3Rlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZGstZGlhZ25vc2UtZWFybHktdmFsaWRhdGlvbi1mYWlsdXJlLmludGVndGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZDQUF5QztBQUN6QyxzQ0FBOEQ7QUFFOUQsSUFBQSxlQUFTLEVBQ1AsNkNBQTZDLEVBQzdDLElBQUEseUJBQW1CLEVBQUMsY0FBYyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUNwRCxNQUFNLFVBQVUsR0FBRyxJQUFBLHdCQUFVLEdBQUUsQ0FBQztJQUVoQyw4REFBOEQ7SUFDOUQsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLHNCQUFzQixFQUFFO1FBQzlDLE1BQU0sRUFBRSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUU7S0FDcEMsQ0FBQyxDQUFDO0lBRUgsd0ZBQXdGO0lBQ3hGLE1BQU0sWUFBWSxHQUFHLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsRUFBRTtRQUNuRSxNQUFNLEVBQUUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFO1FBQ25DLFlBQVksRUFBRSxJQUFJO0tBQ25CLENBQUMsQ0FBQztJQUVILE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUVqRCx1Q0FBdUM7SUFDdkMsTUFBTSxjQUFjLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUN0QyxDQUFDLHFCQUFxQixFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUMsRUFDbEY7UUFDRSxNQUFNLEVBQUUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFO1FBQ25DLFlBQVksRUFBRSxJQUFJO0tBQ25CLENBQ0YsQ0FBQztJQUVGLHdFQUF3RTtJQUN4RSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDekQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3JELENBQUMsQ0FBQyxDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByYW5kb21VVUlEIH0gZnJvbSAnbm9kZTpjcnlwdG8nO1xuaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoU3BlY2lmaWNGaXh0dXJlIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcblxuaW50ZWdUZXN0KFxuICAnY2RrIGRpYWdub3NlIGFmdGVyIGVhcmx5IHZhbGlkYXRpb24gZmFpbHVyZScsXG4gIHdpdGhTcGVjaWZpY0ZpeHR1cmUoJ2RpYWdub3NlLWFwcCcsIGFzeW5jIChmaXh0dXJlKSA9PiB7XG4gICAgY29uc3QgYnVja2V0TmFtZSA9IHJhbmRvbVVVSUQoKTtcblxuICAgIC8vIERlcGxveSB0aGUgZmlyc3Qgc3RhY2sgd2l0aCBhIG5hbWVkIGJ1Y2tldCDigJQgc2hvdWxkIHN1Y2NlZWRcbiAgICBhd2FpdCBmaXh0dXJlLmNka0RlcGxveSgnZGlhZ25vc2UtZWFybHktdmFsLTEnLCB7XG4gICAgICBtb2RFbnY6IHsgQlVDS0VUX05BTUU6IGJ1Y2tldE5hbWUgfSxcbiAgICB9KTtcblxuICAgIC8vIERlcGxveSB0aGUgc2Vjb25kIHN0YWNrIHdpdGggdGhlIHNhbWUgYnVja2V0IG5hbWUg4oCUIHNob3VsZCBmYWlsIHdpdGggZWFybHkgdmFsaWRhdGlvblxuICAgIGNvbnN0IGRlcGxveU91dHB1dCA9IGF3YWl0IGZpeHR1cmUuY2RrRGVwbG95KCdkaWFnbm9zZS1lYXJseS12YWwtMicsIHtcbiAgICAgIG1vZEVudjogeyBCVUNLRVRfTkFNRTogYnVja2V0TmFtZSB9LFxuICAgICAgYWxsb3dFcnJFeGl0OiB0cnVlLFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KGRlcGxveU91dHB1dCkudG9Db250YWluKCdhbHJlYWR5IGV4aXN0cycpO1xuXG4gICAgLy8gUnVuIGNkayBkaWFnbm9zZSBvbiB0aGUgc2Vjb25kIHN0YWNrXG4gICAgY29uc3QgZGlhZ25vc2VPdXRwdXQgPSBhd2FpdCBmaXh0dXJlLmNkayhcbiAgICAgIFsnLS11bnN0YWJsZT1kaWFnbm9zZScsICdkaWFnbm9zZScsIGZpeHR1cmUuZnVsbFN0YWNrTmFtZSgnZGlhZ25vc2UtZWFybHktdmFsLTInKV0sXG4gICAgICB7XG4gICAgICAgIG1vZEVudjogeyBCVUNLRVRfTkFNRTogYnVja2V0TmFtZSB9LFxuICAgICAgICBhbGxvd0VyckV4aXQ6IHRydWUsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICAvLyBUaGUgZGlhZ25vc2Ugb3V0cHV0IHNob3VsZCBtZW50aW9uIHRoZSBzdGFjayBhbmQgdGhlIHZhbGlkYXRpb24gZXJyb3JcbiAgICBleHBlY3QoZGlhZ25vc2VPdXRwdXQpLnRvQ29udGFpbignZGlhZ25vc2UtZWFybHktdmFsLTInKTtcbiAgICBleHBlY3QoZGlhZ25vc2VPdXRwdXQpLnRvQ29udGFpbignYWxyZWFkeSBleGlzdHMnKTtcbiAgfSksXG4pO1xuIl19