@aws-cdk/integ-tests-alpha
Version:
CDK Integration Testing Constructs
35 lines • 3.78 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.IntegManifestSynthesizer = void 0;
const cloud_assembly_schema_1 = require("aws-cdk-lib/cloud-assembly-schema");
const manifest_writer_1 = require("./manifest-writer");
const emptyManifest = {
version: '',
testCases: {},
};
class IntegManifestSynthesizer {
testCases;
enableLookups;
constructor(testCases, enableLookups) {
this.testCases = testCases;
this.enableLookups = enableLookups;
}
synthesize(session) {
const manifest = {
enableLookups: this.enableLookups,
...this.testCases
.map(tc => tc.manifest)
.reduce(mergeManifests, emptyManifest),
};
const snapshotDir = session.assembly.outdir;
manifest_writer_1.IntegManifestWriter.write(manifest, snapshotDir);
}
}
exports.IntegManifestSynthesizer = IntegManifestSynthesizer;
function mergeManifests(m1, m2) {
return {
version: cloud_assembly_schema_1.Manifest.version(),
testCases: { ...m1.testCases, ...m2.testCases },
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3Qtc3ludGhlc2l6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJtYW5pZmVzdC1zeW50aGVzaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw2RUFBNkQ7QUFFN0QsdURBQXdEO0FBR3hELE1BQU0sYUFBYSxHQUFrQjtJQUNuQyxPQUFPLEVBQUUsRUFBRTtJQUNYLFNBQVMsRUFBRSxFQUFHO0NBQ2YsQ0FBQztBQUVGLE1BQWEsd0JBQXdCO0lBQ047SUFBNkM7SUFBMUUsWUFBNkIsU0FBMEIsRUFBbUIsYUFBdUI7UUFBcEUsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFBbUIsa0JBQWEsR0FBYixhQUFhLENBQVU7S0FBSTtJQUVyRyxVQUFVLENBQUMsT0FBMEI7UUFDbkMsTUFBTSxRQUFRLEdBQWtCO1lBQzlCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxHQUFHLElBQUksQ0FBQyxTQUFTO2lCQUNkLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7aUJBQ3RCLE1BQU0sQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDO1NBQ3pDLENBQUM7UUFFRixNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUU1QyxxQ0FBbUIsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0tBQ2xEO0NBQ0Y7QUFmRCw0REFlQztBQUVELFNBQVMsY0FBYyxDQUFDLEVBQWlCLEVBQUUsRUFBaUI7SUFDMUQsT0FBTztRQUNMLE9BQU8sRUFBRSxnQ0FBUSxDQUFDLE9BQU8sRUFBRTtRQUMzQixTQUFTLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsU0FBUyxFQUFFO0tBQ2hELENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJbnRlZ01hbmlmZXN0IH0gZnJvbSAnYXdzLWNkay1saWIvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbmltcG9ydCB7IE1hbmlmZXN0IH0gZnJvbSAnYXdzLWNkay1saWIvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbmltcG9ydCB0eXBlIHsgSVN5bnRoZXNpc1Nlc3Npb24gfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IEludGVnTWFuaWZlc3RXcml0ZXIgfSBmcm9tICcuL21hbmlmZXN0LXdyaXRlcic7XG5pbXBvcnQgdHlwZSB7IEludGVnVGVzdENhc2UgfSBmcm9tICcuL3Rlc3QtY2FzZSc7XG5cbmNvbnN0IGVtcHR5TWFuaWZlc3Q6IEludGVnTWFuaWZlc3QgPSB7XG4gIHZlcnNpb246ICcnLFxuICB0ZXN0Q2FzZXM6IHsgfSxcbn07XG5cbmV4cG9ydCBjbGFzcyBJbnRlZ01hbmlmZXN0U3ludGhlc2l6ZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRlc3RDYXNlczogSW50ZWdUZXN0Q2FzZVtdLCBwcml2YXRlIHJlYWRvbmx5IGVuYWJsZUxvb2t1cHM/OiBib29sZWFuKSB7fVxuXG4gIHN5bnRoZXNpemUoc2Vzc2lvbjogSVN5bnRoZXNpc1Nlc3Npb24pIHtcbiAgICBjb25zdCBtYW5pZmVzdDogSW50ZWdNYW5pZmVzdCA9IHtcbiAgICAgIGVuYWJsZUxvb2t1cHM6IHRoaXMuZW5hYmxlTG9va3VwcyxcbiAgICAgIC4uLnRoaXMudGVzdENhc2VzXG4gICAgICAgIC5tYXAodGMgPT4gdGMubWFuaWZlc3QpXG4gICAgICAgIC5yZWR1Y2UobWVyZ2VNYW5pZmVzdHMsIGVtcHR5TWFuaWZlc3QpLFxuICAgIH07XG5cbiAgICBjb25zdCBzbmFwc2hvdERpciA9IHNlc3Npb24uYXNzZW1ibHkub3V0ZGlyO1xuXG4gICAgSW50ZWdNYW5pZmVzdFdyaXRlci53cml0ZShtYW5pZmVzdCwgc25hcHNob3REaXIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1lcmdlTWFuaWZlc3RzKG0xOiBJbnRlZ01hbmlmZXN0LCBtMjogSW50ZWdNYW5pZmVzdCk6IEludGVnTWFuaWZlc3Qge1xuICByZXR1cm4ge1xuICAgIHZlcnNpb246IE1hbmlmZXN0LnZlcnNpb24oKSxcbiAgICB0ZXN0Q2FzZXM6IHsgLi4ubTEudGVzdENhc2VzLCAuLi5tMi50ZXN0Q2FzZXMgfSxcbiAgfTtcbn1cbiJdfQ==