@aws-cdk-testing/cli-integ
Version:
Integration tests for the AWS CDK CLI
26 lines • 4.4 kB
JavaScript
;
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