UNPKG

@aws-cdk-testing/cli-integ

Version:

Integration tests for the AWS CDK CLI

36 lines 5.12 kB
"use strict"; 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VicHJvY2Vzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInN1YnByb2Nlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFhQSw0Q0FPQztBQUVELGdDQU1DO0FBNUJELHFEQUFvRDtBQUNwRCx1REFBc0Q7QUFDdEQsNkRBQTREO0FBVzVELFNBQWdCLGdCQUFnQixDQUFDLE9BQXdCO0lBQ3ZELE1BQU0sR0FBRyxHQUF5QyxFQUFFLENBQUM7SUFDckQsS0FBSyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUM3QyxNQUFNLFVBQVUsR0FBRyxDQUFnQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hFLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUVELFNBQWdCLFVBQVUsQ0FBa0MsQ0FBSTtJQUM5RCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQXlDLENBQUM7SUFDeEYsT0FBTyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxZQUFZLEdBQXVCO0lBQ3ZDLG1DQUFpQjtJQUNqQixpQ0FBZ0I7SUFDaEIseUNBQW9CO0NBQ3JCLENBQUM7QUFFRixTQUFTLHFCQUFxQixDQUFDLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBdUI7SUFDMUUsS0FBSyxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMvQixJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssZUFBZSxFQUFFLENBQUM7WUFDakMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsZUFBZSxFQUFFLENBQUMsQ0FBQztBQUNsRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVzdENsaU5wbVNvdXJjZSB9IGZyb20gJy4vY2xpLW5wbS1zb3VyY2UnO1xuaW1wb3J0IHsgVGVzdENsaVJlcG9Tb3VyY2UgfSBmcm9tICcuL2NsaS1yZXBvLXNvdXJjZSc7XG5pbXBvcnQgeyBUZXN0TGlicmFyeU5wbVNvdXJjZSB9IGZyb20gJy4vbGlicmFyeS1ucG0tc291cmNlJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0b3IsIElQcmVwYXJlZFJ1bm5lclNvdXJjZSwgSVRlc3RDbGlTb3VyY2UsIElUZXN0TGlicmFyeVNvdXJjZSB9IGZyb20gJy4vc291cmNlJztcblxuZXhwb3J0IGludGVyZmFjZSBQcmVwYXJlZFNvdXJjZXMge1xuICByZWFkb25seSBjbGk6IElQcmVwYXJlZFJ1bm5lclNvdXJjZTxJVGVzdENsaVNvdXJjZT47XG4gIHJlYWRvbmx5IGxpYnJhcnk6IElQcmVwYXJlZFJ1bm5lclNvdXJjZTxJVGVzdExpYnJhcnlTb3VyY2U+O1xuICByZWFkb25seSB0b29sa2l0TGliOiBJUHJlcGFyZWRSdW5uZXJTb3VyY2U8SVRlc3RMaWJyYXJ5U291cmNlPjtcbn1cblxudHlwZSBTb3VyY2VUeXBlPEE+ID0gQSBleHRlbmRzIElQcmVwYXJlZFJ1bm5lclNvdXJjZTxpbmZlciBUPiA/IFQgOiB1bmtub3duO1xuXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplU291cmNlcyhzb3VyY2VzOiBQcmVwYXJlZFNvdXJjZXMpIHtcbiAgY29uc3QgcmV0OiBSZWNvcmQ8c3RyaW5nLCBTZXJpYWxpemVkRGVzY3JpcHRvcj4gPSB7fTtcbiAgZm9yIChjb25zdCBbaywgdl0gb2YgT2JqZWN0LmVudHJpZXMoc291cmNlcykpIHtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0odiBhcyBJUHJlcGFyZWRSdW5uZXJTb3VyY2U8YW55Pikuc2VyaWFsaXplKCk7XG4gICAgcmV0W2tdID0gW2Rlc2NyaXB0b3JbMF0ubmFtZSwgZGVzY3JpcHRvclsxXV07XG4gIH1cbiAgcHJvY2Vzcy5lbnYuU09VUkNFUyA9IEpTT04uc3RyaW5naWZ5KHJldCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXN0U291cmNlPEsgZXh0ZW5kcyBrZXlvZiBQcmVwYXJlZFNvdXJjZXM+KGs6IEspOiBTb3VyY2VUeXBlPFByZXBhcmVkU291cmNlc1tLXT4ge1xuICBpZiAoIXByb2Nlc3MuZW52LlNPVVJDRVMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJyRTT1VSQ0VTIG5vdCBzZXQnKTtcbiAgfVxuICBjb25zdCBzb3VyY2VzID0gSlNPTi5wYXJzZShwcm9jZXNzLmVudi5TT1VSQ0VTKSBhcyBSZWNvcmQ8c3RyaW5nLCBTZXJpYWxpemVkRGVzY3JpcHRvcj47XG4gIHJldHVybiBpbnN0YW50aWF0ZURlc2NyaXB0b3Ioc291cmNlc1trXSk7XG59XG5cbmNvbnN0IENPTlNUUlVDVE9SUzogQ29uc3RydWN0b3I8YW55PltdID0gW1xuICBUZXN0Q2xpUmVwb1NvdXJjZSxcbiAgVGVzdENsaU5wbVNvdXJjZSxcbiAgVGVzdExpYnJhcnlOcG1Tb3VyY2UsXG5dO1xuXG5mdW5jdGlvbiBpbnN0YW50aWF0ZURlc2NyaXB0b3IoW2NvbnN0cnVjdG9yTmFtZSwgYXJnc106IFNlcmlhbGl6ZWREZXNjcmlwdG9yKTogYW55IHtcbiAgZm9yIChjb25zdCBjdHIgb2YgQ09OU1RSVUNUT1JTKSB7XG4gICAgaWYgKGN0ci5uYW1lID09PSBjb25zdHJ1Y3Rvck5hbWUpIHtcbiAgICAgIHJldHVybiBuZXcgY3RyKC4uLmFyZ3MpO1xuICAgIH1cbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoYFVucmVjb2duaXplZCBjb25zdHJ1Y3RvcjogJHtjb25zdHJ1Y3Rvck5hbWV9YCk7XG59XG5cbnR5cGUgU2VyaWFsaXplZERlc2NyaXB0b3IgPSBbc3RyaW5nLCBhcmdzOiBhbnlbXV07XG4iXX0=