UNPKG

@aws-cdk-testing/cli-integ

Version:

Integration tests for the AWS CDK CLI

20 lines 4.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const lib_1 = require("../../../lib"); (0, lib_1.integTest)('cdk diagnose after deployment failure', (0, lib_1.withSpecificFixture)('diagnose-app', async (fixture) => { // Deploy a stack that will fail (IAM Policy without PolicyDocument) const deployOutput = await fixture.cdkDeploy('diagnose-deploy-fail', { allowErrExit: true, }); // The deploy should have failed. // Missing property failure counts as "early validation failure". expect(deployOutput).toContain('Early validation failed for change set'); expect(deployOutput).toContain('Required property [PolicyDocument] not found'); // Run cdk diagnose on the failed stack const diagnoseOutput = await fixture.cdk(['--unstable=diagnose', 'diagnose', fixture.fullStackName('diagnose-deploy-fail')], { allowErrExit: true }); // The diagnose output should mention the stack and contain error information expect(diagnoseOutput).toContain('diagnose-deploy-fail'); expect(diagnoseOutput).toContain('Early validation failed for change set'); expect(diagnoseOutput).toContain('Required property [PolicyDocument] not found'); })); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWRpYWdub3NlLWRlcGxveW1lbnQtZmFpbHVyZS5pbnRlZ3Rlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjZGstZGlhZ25vc2UtZGVwbG95bWVudC1mYWlsdXJlLmludGVndGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHNDQUE4RDtBQUU5RCxJQUFBLGVBQVMsRUFDUCx1Q0FBdUMsRUFDdkMsSUFBQSx5QkFBbUIsRUFBQyxjQUFjLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ3BELG9FQUFvRTtJQUNwRSxNQUFNLFlBQVksR0FBRyxNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsc0JBQXNCLEVBQUU7UUFDbkUsWUFBWSxFQUFFLElBQUk7S0FDbkIsQ0FBQyxDQUFDO0lBRUgsaUNBQWlDO0lBQ2pDLGlFQUFpRTtJQUNqRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7SUFDekUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO0lBRS9FLHVDQUF1QztJQUN2QyxNQUFNLGNBQWMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ3RDLENBQUMscUJBQXFCLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxFQUNsRixFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FDdkIsQ0FBQztJQUVGLDZFQUE2RTtJQUM3RSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDekQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO0lBQzNFLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxTQUFTLENBQUMsOENBQThDLENBQUMsQ0FBQztBQUNuRixDQUFDLENBQUMsQ0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoU3BlY2lmaWNGaXh0dXJlIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcblxuaW50ZWdUZXN0KFxuICAnY2RrIGRpYWdub3NlIGFmdGVyIGRlcGxveW1lbnQgZmFpbHVyZScsXG4gIHdpdGhTcGVjaWZpY0ZpeHR1cmUoJ2RpYWdub3NlLWFwcCcsIGFzeW5jIChmaXh0dXJlKSA9PiB7XG4gICAgLy8gRGVwbG95IGEgc3RhY2sgdGhhdCB3aWxsIGZhaWwgKElBTSBQb2xpY3kgd2l0aG91dCBQb2xpY3lEb2N1bWVudClcbiAgICBjb25zdCBkZXBsb3lPdXRwdXQgPSBhd2FpdCBmaXh0dXJlLmNka0RlcGxveSgnZGlhZ25vc2UtZGVwbG95LWZhaWwnLCB7XG4gICAgICBhbGxvd0VyckV4aXQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBUaGUgZGVwbG95IHNob3VsZCBoYXZlIGZhaWxlZC5cbiAgICAvLyBNaXNzaW5nIHByb3BlcnR5IGZhaWx1cmUgY291bnRzIGFzIFwiZWFybHkgdmFsaWRhdGlvbiBmYWlsdXJlXCIuXG4gICAgZXhwZWN0KGRlcGxveU91dHB1dCkudG9Db250YWluKCdFYXJseSB2YWxpZGF0aW9uIGZhaWxlZCBmb3IgY2hhbmdlIHNldCcpO1xuICAgIGV4cGVjdChkZXBsb3lPdXRwdXQpLnRvQ29udGFpbignUmVxdWlyZWQgcHJvcGVydHkgW1BvbGljeURvY3VtZW50XSBub3QgZm91bmQnKTtcblxuICAgIC8vIFJ1biBjZGsgZGlhZ25vc2Ugb24gdGhlIGZhaWxlZCBzdGFja1xuICAgIGNvbnN0IGRpYWdub3NlT3V0cHV0ID0gYXdhaXQgZml4dHVyZS5jZGsoXG4gICAgICBbJy0tdW5zdGFibGU9ZGlhZ25vc2UnLCAnZGlhZ25vc2UnLCBmaXh0dXJlLmZ1bGxTdGFja05hbWUoJ2RpYWdub3NlLWRlcGxveS1mYWlsJyldLFxuICAgICAgeyBhbGxvd0VyckV4aXQ6IHRydWUgfSxcbiAgICApO1xuXG4gICAgLy8gVGhlIGRpYWdub3NlIG91dHB1dCBzaG91bGQgbWVudGlvbiB0aGUgc3RhY2sgYW5kIGNvbnRhaW4gZXJyb3IgaW5mb3JtYXRpb25cbiAgICBleHBlY3QoZGlhZ25vc2VPdXRwdXQpLnRvQ29udGFpbignZGlhZ25vc2UtZGVwbG95LWZhaWwnKTtcbiAgICBleHBlY3QoZGlhZ25vc2VPdXRwdXQpLnRvQ29udGFpbignRWFybHkgdmFsaWRhdGlvbiBmYWlsZWQgZm9yIGNoYW5nZSBzZXQnKTtcbiAgICBleHBlY3QoZGlhZ25vc2VPdXRwdXQpLnRvQ29udGFpbignUmVxdWlyZWQgcHJvcGVydHkgW1BvbGljeURvY3VtZW50XSBub3QgZm91bmQnKTtcbiAgfSksXG4pO1xuIl19