@aws-cdk-testing/cli-integ
Version:
Integration tests for the AWS CDK CLI
36 lines • 5.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.serializeSources = serializeSources;
exports.testSource = testSource;
const cli_npm_source_1 = require("./cli-npm-source");
const cli_repo_source_1 = require("./cli-repo-source");
const library_npm_source_1 = require("./library-npm-source");
function serializeSources(sources) {
const ret = {};
for (const [k, v] of Object.entries(sources)) {
const descriptor = v.serialize();
ret[k] = [descriptor[0].name, descriptor[1]];
}
process.env.SOURCES = JSON.stringify(ret);
}
function testSource(k) {
if (!process.env.SOURCES) {
throw new Error('$SOURCES not set');
}
const sources = JSON.parse(process.env.SOURCES);
return instantiateDescriptor(sources[k]);
}
const CONSTRUCTORS = [
cli_repo_source_1.TestCliRepoSource,
cli_npm_source_1.TestCliNpmSource,
library_npm_source_1.TestLibraryNpmSource,
];
function instantiateDescriptor([constructorName, args]) {
for (const ctr of CONSTRUCTORS) {
if (ctr.name === constructorName) {
return new ctr(...args);
}
}
throw new Error(`Unrecognized constructor: ${constructorName}`);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VicHJvY2Vzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInN1YnByb2Nlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFjQSw0Q0FPQztBQUVELGdDQU1DO0FBN0JELHFEQUFvRDtBQUNwRCx1REFBc0Q7QUFDdEQsNkRBQTREO0FBWTVELFNBQWdCLGdCQUFnQixDQUFDLE9BQXdCO0lBQ3ZELE1BQU0sR0FBRyxHQUF5QyxFQUFFLENBQUM7SUFDckQsS0FBSyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUM3QyxNQUFNLFVBQVUsR0FBRyxDQUFnQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hFLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUVELFNBQWdCLFVBQVUsQ0FBa0MsQ0FBSTtJQUM5RCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQXlDLENBQUM7SUFDeEYsT0FBTyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxZQUFZLEdBQXVCO0lBQ3ZDLG1DQUFpQjtJQUNqQixpQ0FBZ0I7SUFDaEIseUNBQW9CO0NBQ3JCLENBQUM7QUFFRixTQUFTLHFCQUFxQixDQUFDLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBdUI7SUFDMUUsS0FBSyxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMvQixJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssZUFBZSxFQUFFLENBQUM7WUFDakMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsZUFBZSxFQUFFLENBQUMsQ0FBQztBQUNsRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVzdENsaU5wbVNvdXJjZSB9IGZyb20gJy4vY2xpLW5wbS1zb3VyY2UnO1xuaW1wb3J0IHsgVGVzdENsaVJlcG9Tb3VyY2UgfSBmcm9tICcuL2NsaS1yZXBvLXNvdXJjZSc7XG5pbXBvcnQgeyBUZXN0TGlicmFyeU5wbVNvdXJjZSB9IGZyb20gJy4vbGlicmFyeS1ucG0tc291cmNlJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0b3IsIElQcmVwYXJlZFJ1bm5lclNvdXJjZSwgSVRlc3RDbGlTb3VyY2UsIElUZXN0TGlicmFyeVNvdXJjZSB9IGZyb20gJy4vc291cmNlJztcblxuZXhwb3J0IGludGVyZmFjZSBQcmVwYXJlZFNvdXJjZXMge1xuICByZWFkb25seSBjbGk6IElQcmVwYXJlZFJ1bm5lclNvdXJjZTxJVGVzdENsaVNvdXJjZT47XG4gIHJlYWRvbmx5IGxpYnJhcnk6IElQcmVwYXJlZFJ1bm5lclNvdXJjZTxJVGVzdExpYnJhcnlTb3VyY2U+O1xuICByZWFkb25seSB0b29sa2l0TGliOiBJUHJlcGFyZWRSdW5uZXJTb3VyY2U8SVRlc3RMaWJyYXJ5U291cmNlPjtcbiAgcmVhZG9ubHkgY2RrQXNzZXRzOiBJUHJlcGFyZWRSdW5uZXJTb3VyY2U8SVRlc3RDbGlTb3VyY2U+O1xufVxuXG50eXBlIFNvdXJjZVR5cGU8QT4gPSBBIGV4dGVuZHMgSVByZXBhcmVkUnVubmVyU291cmNlPGluZmVyIFQ+ID8gVCA6IHVua25vd247XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVTb3VyY2VzKHNvdXJjZXM6IFByZXBhcmVkU291cmNlcykge1xuICBjb25zdCByZXQ6IFJlY29yZDxzdHJpbmcsIFNlcmlhbGl6ZWREZXNjcmlwdG9yPiA9IHt9O1xuICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyhzb3VyY2VzKSkge1xuICAgIGNvbnN0IGRlc2NyaXB0b3IgPSh2IGFzIElQcmVwYXJlZFJ1bm5lclNvdXJjZTxhbnk+KS5zZXJpYWxpemUoKTtcbiAgICByZXRba10gPSBbZGVzY3JpcHRvclswXS5uYW1lLCBkZXNjcmlwdG9yWzFdXTtcbiAgfVxuICBwcm9jZXNzLmVudi5TT1VSQ0VTID0gSlNPTi5zdHJpbmdpZnkocmV0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRlc3RTb3VyY2U8SyBleHRlbmRzIGtleW9mIFByZXBhcmVkU291cmNlcz4oazogSyk6IFNvdXJjZVR5cGU8UHJlcGFyZWRTb3VyY2VzW0tdPiB7XG4gIGlmICghcHJvY2Vzcy5lbnYuU09VUkNFUykge1xuICAgIHRocm93IG5ldyBFcnJvcignJFNPVVJDRVMgbm90IHNldCcpO1xuICB9XG4gIGNvbnN0IHNvdXJjZXMgPSBKU09OLnBhcnNlKHByb2Nlc3MuZW52LlNPVVJDRVMpIGFzIFJlY29yZDxzdHJpbmcsIFNlcmlhbGl6ZWREZXNjcmlwdG9yPjtcbiAgcmV0dXJuIGluc3RhbnRpYXRlRGVzY3JpcHRvcihzb3VyY2VzW2tdKTtcbn1cblxuY29uc3QgQ09OU1RSVUNUT1JTOiBDb25zdHJ1Y3Rvcjxhbnk+W10gPSBbXG4gIFRlc3RDbGlSZXBvU291cmNlLFxuICBUZXN0Q2xpTnBtU291cmNlLFxuICBUZXN0TGlicmFyeU5wbVNvdXJjZSxcbl07XG5cbmZ1bmN0aW9uIGluc3RhbnRpYXRlRGVzY3JpcHRvcihbY29uc3RydWN0b3JOYW1lLCBhcmdzXTogU2VyaWFsaXplZERlc2NyaXB0b3IpOiBhbnkge1xuICBmb3IgKGNvbnN0IGN0ciBvZiBDT05TVFJVQ1RPUlMpIHtcbiAgICBpZiAoY3RyLm5hbWUgPT09IGNvbnN0cnVjdG9yTmFtZSkge1xuICAgICAgcmV0dXJuIG5ldyBjdHIoLi4uYXJncyk7XG4gICAgfVxuICB9XG4gIHRocm93IG5ldyBFcnJvcihgVW5yZWNvZ25pemVkIGNvbnN0cnVjdG9yOiAke2NvbnN0cnVjdG9yTmFtZX1gKTtcbn1cblxudHlwZSBTZXJpYWxpemVkRGVzY3JpcHRvciA9IFtzdHJpbmcsIGFyZ3M6IGFueVtdXTtcbiJdfQ==