UNPKG

@aws-cdk-testing/cli-integ

Version:

Integration tests for the AWS CDK CLI

27 lines 4.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const lib_1 = require("../../../lib"); (0, lib_1.integTest)('cdk validate --online reports both offline and online errors', (0, lib_1.withSpecificFixture)('validate-online-app', async (fixture) => { // Deploy a stack that owns the bucket await fixture.cdk(['deploy', '--require-approval=never', fixture.fullStackName('validate-online-deployed')]); try { // Validate combined stack — has both a bucket (SecurityPlugin) and // uses the same bucket name (CFN early validation conflict) const output = await fixture.cdk(['--unstable=validate', 'validate', '--online', fixture.fullStackName('validate-online-combined')], { modEnv: { INJECT_OFFLINE_ERRORS: 'true', }, allowErrExit: true, }); // Offline: SecurityPlugin catches the S3 bucket expect(output).toContain('S3 Buckets must not be publicly accessible'); expect(output).toContain('SecurityPlugin'); // Online: CloudFormation catches the bucket name conflict expect(output).toContain('already exists'); expect(output).toContain('CloudFormation'); } finally { await fixture.cdk(['destroy', '--force', fixture.fullStackName('validate-online-deployed')]); } })); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXZhbGlkYXRlLW9ubGluZS1jb21iaW5lZC1vZmZsaW5lLWFuZC1vbmxpbmUuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXZhbGlkYXRlLW9ubGluZS1jb21iaW5lZC1vZmZsaW5lLWFuZC1vbmxpbmUuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsc0NBQThEO0FBRTlELElBQUEsZUFBUyxFQUNQLDhEQUE4RCxFQUM5RCxJQUFBLHlCQUFtQixFQUFDLHFCQUFxQixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUMzRCxzQ0FBc0M7SUFDdEMsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLENBQUMsUUFBUSxFQUFFLDBCQUEwQixFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUMxRixDQUFDO0lBRUYsSUFBSSxDQUFDO1FBQ0gsbUVBQW1FO1FBQ25FLDREQUE0RDtRQUM1RCxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQzlCLENBQUMscUJBQXFCLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFDLENBQUMsRUFDbEc7WUFDRSxNQUFNLEVBQUU7Z0JBQ04scUJBQXFCLEVBQUUsTUFBTTthQUM5QjtZQUNELFlBQVksRUFBRSxJQUFJO1NBQ25CLENBQ0YsQ0FBQztRQUVGLGdEQUFnRDtRQUNoRCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7UUFDdkUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTNDLDBEQUEwRDtRQUMxRCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDM0MsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdDLENBQUM7WUFBUyxDQUFDO1FBQ1QsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9GLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW50ZWdUZXN0LCB3aXRoU3BlY2lmaWNGaXh0dXJlIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcblxuaW50ZWdUZXN0KFxuICAnY2RrIHZhbGlkYXRlIC0tb25saW5lIHJlcG9ydHMgYm90aCBvZmZsaW5lIGFuZCBvbmxpbmUgZXJyb3JzJyxcbiAgd2l0aFNwZWNpZmljRml4dHVyZSgndmFsaWRhdGUtb25saW5lLWFwcCcsIGFzeW5jIChmaXh0dXJlKSA9PiB7XG4gICAgLy8gRGVwbG95IGEgc3RhY2sgdGhhdCBvd25zIHRoZSBidWNrZXRcbiAgICBhd2FpdCBmaXh0dXJlLmNkayhcbiAgICAgIFsnZGVwbG95JywgJy0tcmVxdWlyZS1hcHByb3ZhbD1uZXZlcicsIGZpeHR1cmUuZnVsbFN0YWNrTmFtZSgndmFsaWRhdGUtb25saW5lLWRlcGxveWVkJyldLFxuICAgICk7XG5cbiAgICB0cnkge1xuICAgICAgLy8gVmFsaWRhdGUgY29tYmluZWQgc3RhY2sg4oCUIGhhcyBib3RoIGEgYnVja2V0IChTZWN1cml0eVBsdWdpbikgYW5kXG4gICAgICAvLyB1c2VzIHRoZSBzYW1lIGJ1Y2tldCBuYW1lIChDRk4gZWFybHkgdmFsaWRhdGlvbiBjb25mbGljdClcbiAgICAgIGNvbnN0IG91dHB1dCA9IGF3YWl0IGZpeHR1cmUuY2RrKFxuICAgICAgICBbJy0tdW5zdGFibGU9dmFsaWRhdGUnLCAndmFsaWRhdGUnLCAnLS1vbmxpbmUnLCBmaXh0dXJlLmZ1bGxTdGFja05hbWUoJ3ZhbGlkYXRlLW9ubGluZS1jb21iaW5lZCcpXSxcbiAgICAgICAge1xuICAgICAgICAgIG1vZEVudjoge1xuICAgICAgICAgICAgSU5KRUNUX09GRkxJTkVfRVJST1JTOiAndHJ1ZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBhbGxvd0VyckV4aXQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICApO1xuXG4gICAgICAvLyBPZmZsaW5lOiBTZWN1cml0eVBsdWdpbiBjYXRjaGVzIHRoZSBTMyBidWNrZXRcbiAgICAgIGV4cGVjdChvdXRwdXQpLnRvQ29udGFpbignUzMgQnVja2V0cyBtdXN0IG5vdCBiZSBwdWJsaWNseSBhY2Nlc3NpYmxlJyk7XG4gICAgICBleHBlY3Qob3V0cHV0KS50b0NvbnRhaW4oJ1NlY3VyaXR5UGx1Z2luJyk7XG5cbiAgICAgIC8vIE9ubGluZTogQ2xvdWRGb3JtYXRpb24gY2F0Y2hlcyB0aGUgYnVja2V0IG5hbWUgY29uZmxpY3RcbiAgICAgIGV4cGVjdChvdXRwdXQpLnRvQ29udGFpbignYWxyZWFkeSBleGlzdHMnKTtcbiAgICAgIGV4cGVjdChvdXRwdXQpLnRvQ29udGFpbignQ2xvdWRGb3JtYXRpb24nKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgZml4dHVyZS5jZGsoWydkZXN0cm95JywgJy0tZm9yY2UnLCBmaXh0dXJlLmZ1bGxTdGFja05hbWUoJ3ZhbGlkYXRlLW9ubGluZS1kZXBsb3llZCcpXSk7XG4gICAgfVxuICB9KSxcbik7XG4iXX0=