@aws-cdk-testing/cli-integ
Version:
Integration tests for the AWS CDK CLI
34 lines • 6.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const fs_1 = require("fs");
const path = require("path");
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)('enableDiffNoFail', (0, lib_1.withDefaultFixture)(async (fixture) => {
await diffShouldSucceedWith({ fail: false, enableDiffNoFail: false });
await diffShouldSucceedWith({ fail: false, enableDiffNoFail: true });
await diffShouldFailWith({ fail: true, enableDiffNoFail: false });
await diffShouldFailWith({ fail: true, enableDiffNoFail: true });
await diffShouldFailWith({ fail: undefined, enableDiffNoFail: false });
await diffShouldSucceedWith({ fail: undefined, enableDiffNoFail: true });
async function diffShouldSucceedWith(props) {
await expect(diff(props)).resolves.not.toThrow();
}
async function diffShouldFailWith(props) {
await expect(diff(props)).rejects.toThrow('exited with error');
}
async function diff(props) {
await updateContext(props.enableDiffNoFail);
const flag = props.fail != null ? (props.fail ? '--fail' : '--no-fail') : '';
return fixture.cdk(['diff', flag, fixture.fullStackName('test-1')]);
}
async function updateContext(enableDiffNoFail) {
const cdkJson = JSON.parse(await fs_1.promises.readFile(path.join(fixture.integTestDir, 'cdk.json'), 'utf8'));
cdkJson.context = {
...cdkJson.context,
'aws-cdk:enableDiffNoFail': enableDiffNoFail,
};
await fs_1.promises.writeFile(path.join(fixture.integTestDir, 'cdk.json'), JSON.stringify(cdkJson));
}
}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWVuYWJsZWRpZmZub2ZhaWwuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLWVuYWJsZWRpZmZub2ZhaWwuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMkJBQW9DO0FBQ3BDLDZCQUE2QjtBQUM3QixtQ0FBMEQ7QUFFMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEtBQU0sQ0FBQyxDQUFDLENBQUMseUVBQXlFO0FBRTNHLElBQUEsZUFBUyxFQUNQLGtCQUFrQixFQUNsQixJQUFBLHdCQUFrQixFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUNuQyxNQUFNLHFCQUFxQixDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLE1BQU0scUJBQXFCLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDckUsTUFBTSxrQkFBa0IsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNsRSxNQUFNLGtCQUFrQixDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sa0JBQWtCLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdkUsTUFBTSxxQkFBcUIsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUV6RSxLQUFLLFVBQVUscUJBQXFCLENBQUMsS0FBcUI7UUFDeEQsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsS0FBSyxVQUFVLGtCQUFrQixDQUFDLEtBQXFCO1FBQ3JELE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsS0FBSyxVQUFVLElBQUksQ0FBQyxLQUFxQjtRQUN2QyxNQUFNLGFBQWEsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM1QyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFN0UsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsS0FBSyxVQUFVLGFBQWEsQ0FBQyxnQkFBeUI7UUFDcEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLGFBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDbkcsT0FBTyxDQUFDLE9BQU8sR0FBRztZQUNoQixHQUFHLE9BQU8sQ0FBQyxPQUFPO1lBQ2xCLDBCQUEwQixFQUFFLGdCQUFnQjtTQUM3QyxDQUFDO1FBQ0YsTUFBTSxhQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztBQUdILENBQUMsQ0FBQyxDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcm9taXNlcyBhcyBmcyB9IGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhEZWZhdWx0Rml4dHVyZSB9IGZyb20gJy4uLy4uL2xpYic7XG5cbmplc3Quc2V0VGltZW91dCgyICogNjAgKiA2MF8wMDApOyAvLyBJbmNsdWRlcyB0aGUgdGltZSB0byBhY3F1aXJlIGxvY2tzLCB3b3JzdC1jYXNlIHNpbmdsZS10aHJlYWRlZCBydW50aW1lXG5cbmludGVnVGVzdChcbiAgJ2VuYWJsZURpZmZOb0ZhaWwnLFxuICB3aXRoRGVmYXVsdEZpeHR1cmUoYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICBhd2FpdCBkaWZmU2hvdWxkU3VjY2VlZFdpdGgoeyBmYWlsOiBmYWxzZSwgZW5hYmxlRGlmZk5vRmFpbDogZmFsc2UgfSk7XG4gICAgYXdhaXQgZGlmZlNob3VsZFN1Y2NlZWRXaXRoKHsgZmFpbDogZmFsc2UsIGVuYWJsZURpZmZOb0ZhaWw6IHRydWUgfSk7XG4gICAgYXdhaXQgZGlmZlNob3VsZEZhaWxXaXRoKHsgZmFpbDogdHJ1ZSwgZW5hYmxlRGlmZk5vRmFpbDogZmFsc2UgfSk7XG4gICAgYXdhaXQgZGlmZlNob3VsZEZhaWxXaXRoKHsgZmFpbDogdHJ1ZSwgZW5hYmxlRGlmZk5vRmFpbDogdHJ1ZSB9KTtcbiAgICBhd2FpdCBkaWZmU2hvdWxkRmFpbFdpdGgoeyBmYWlsOiB1bmRlZmluZWQsIGVuYWJsZURpZmZOb0ZhaWw6IGZhbHNlIH0pO1xuICAgIGF3YWl0IGRpZmZTaG91bGRTdWNjZWVkV2l0aCh7IGZhaWw6IHVuZGVmaW5lZCwgZW5hYmxlRGlmZk5vRmFpbDogdHJ1ZSB9KTtcblxuICAgIGFzeW5jIGZ1bmN0aW9uIGRpZmZTaG91bGRTdWNjZWVkV2l0aChwcm9wczogRGlmZlBhcmFtZXRlcnMpIHtcbiAgICAgIGF3YWl0IGV4cGVjdChkaWZmKHByb3BzKSkucmVzb2x2ZXMubm90LnRvVGhyb3coKTtcbiAgICB9XG5cbiAgICBhc3luYyBmdW5jdGlvbiBkaWZmU2hvdWxkRmFpbFdpdGgocHJvcHM6IERpZmZQYXJhbWV0ZXJzKSB7XG4gICAgICBhd2FpdCBleHBlY3QoZGlmZihwcm9wcykpLnJlamVjdHMudG9UaHJvdygnZXhpdGVkIHdpdGggZXJyb3InKTtcbiAgICB9XG5cbiAgICBhc3luYyBmdW5jdGlvbiBkaWZmKHByb3BzOiBEaWZmUGFyYW1ldGVycyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICBhd2FpdCB1cGRhdGVDb250ZXh0KHByb3BzLmVuYWJsZURpZmZOb0ZhaWwpO1xuICAgICAgY29uc3QgZmxhZyA9IHByb3BzLmZhaWwgIT0gbnVsbCA/IChwcm9wcy5mYWlsID8gJy0tZmFpbCcgOiAnLS1uby1mYWlsJykgOiAnJztcblxuICAgICAgcmV0dXJuIGZpeHR1cmUuY2RrKFsnZGlmZicsIGZsYWcsIGZpeHR1cmUuZnVsbFN0YWNrTmFtZSgndGVzdC0xJyldKTtcbiAgICB9XG5cbiAgICBhc3luYyBmdW5jdGlvbiB1cGRhdGVDb250ZXh0KGVuYWJsZURpZmZOb0ZhaWw6IGJvb2xlYW4pIHtcbiAgICAgIGNvbnN0IGNka0pzb24gPSBKU09OLnBhcnNlKGF3YWl0IGZzLnJlYWRGaWxlKHBhdGguam9pbihmaXh0dXJlLmludGVnVGVzdERpciwgJ2Nkay5qc29uJyksICd1dGY4JykpO1xuICAgICAgY2RrSnNvbi5jb250ZXh0ID0ge1xuICAgICAgICAuLi5jZGtKc29uLmNvbnRleHQsXG4gICAgICAgICdhd3MtY2RrOmVuYWJsZURpZmZOb0ZhaWwnOiBlbmFibGVEaWZmTm9GYWlsLFxuICAgICAgfTtcbiAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShwYXRoLmpvaW4oZml4dHVyZS5pbnRlZ1Rlc3REaXIsICdjZGsuanNvbicpLCBKU09OLnN0cmluZ2lmeShjZGtKc29uKSk7XG4gICAgfVxuXG4gICAgdHlwZSBEaWZmUGFyYW1ldGVycyA9IHsgZmFpbD86IGJvb2xlYW47IGVuYWJsZURpZmZOb0ZhaWw6IGJvb2xlYW4gfTtcbiAgfSksXG4pO1xuXG4iXX0=