UNPKG

aws-cdk

Version:

CDK Toolkit, the command line tool for CDK apps

31 lines 4.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const build_1 = require("../lib/build"); describe('buildAllStackAssets', () => { const A = { id: 'A' }; const B = { id: 'B' }; const C = { id: 'C' }; const toPublish = [A, B, C]; const sleep = async (duration) => new Promise((resolve) => setTimeout(() => resolve(), duration)); test('build', async () => { // GIVEN const buildStackAssets = jest.fn(() => sleep(1)); // WHEN/THEN await expect((0, build_1.buildAllStackAssets)(toPublish, { buildStackAssets })) .resolves .toBeUndefined(); expect(buildStackAssets).toBeCalledTimes(3); expect(buildStackAssets).toBeCalledWith(A); expect(buildStackAssets).toBeCalledWith(B); expect(buildStackAssets).toBeCalledWith(C); }); test('errors', async () => { // GIVEN const buildStackAssets = async () => { throw new Error('Message'); }; // WHEN/THEN await expect((0, build_1.buildAllStackAssets)(toPublish, { buildStackAssets })) .rejects .toThrow('Building Assets Failed: Error: Message, Error: Message, Error: Message'); }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJ1aWxkLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSx3Q0FBbUQ7QUFJbkQsUUFBUSxDQUFDLHFCQUFxQixFQUFFLEdBQUcsRUFBRTtJQUNuQyxNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUN0QixNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUN0QixNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUN0QixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUF1QixDQUFDO0lBRWxELE1BQU0sS0FBSyxHQUFHLEtBQUssRUFBRSxRQUFnQixFQUFFLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFFaEgsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLElBQUksRUFBRTtRQUN2QixRQUFRO1FBQ1IsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWpELFlBQVk7UUFDWixNQUFNLE1BQU0sQ0FBQyxJQUFBLDJCQUFtQixFQUFDLFNBQVMsRUFBRSxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQzthQUMvRCxRQUFRO2FBQ1IsYUFBYSxFQUFFLENBQUM7UUFFbkIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0MsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN4QixRQUFRO1FBQ1IsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLElBQUksRUFBRSxHQUFHLE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFckUsWUFBWTtRQUNaLE1BQU0sTUFBTSxDQUFDLElBQUEsMkJBQW1CLEVBQUMsU0FBUyxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO2FBQy9ELE9BQU87YUFDUCxPQUFPLENBQUMsd0VBQXdFLENBQUMsQ0FBQztJQUN2RixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L29yZGVyICovXG5pbXBvcnQgKiBhcyBjeGFwaSBmcm9tICdAYXdzLWNkay9jeC1hcGknO1xuaW1wb3J0IHsgYnVpbGRBbGxTdGFja0Fzc2V0cyB9IGZyb20gJy4uL2xpYi9idWlsZCc7XG5cbnR5cGUgU3RhY2sgPSBjeGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3Q7XG5cbmRlc2NyaWJlKCdidWlsZEFsbFN0YWNrQXNzZXRzJywgKCkgPT4ge1xuICBjb25zdCBBID0geyBpZDogJ0EnIH07XG4gIGNvbnN0IEIgPSB7IGlkOiAnQicgfTtcbiAgY29uc3QgQyA9IHsgaWQ6ICdDJyB9O1xuICBjb25zdCB0b1B1Ymxpc2ggPSBbQSwgQiwgQ10gYXMgdW5rbm93biBhcyBTdGFja1tdO1xuXG4gIGNvbnN0IHNsZWVwID0gYXN5bmMgKGR1cmF0aW9uOiBudW1iZXIpID0+IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KCgpID0+IHJlc29sdmUoKSwgZHVyYXRpb24pKTtcblxuICB0ZXN0KCdidWlsZCcsIGFzeW5jICgpID0+IHtcbiAgICAvLyBHSVZFTlxuICAgIGNvbnN0IGJ1aWxkU3RhY2tBc3NldHMgPSBqZXN0LmZuKCgpID0+IHNsZWVwKDEpKTtcblxuICAgIC8vIFdIRU4vVEhFTlxuICAgIGF3YWl0IGV4cGVjdChidWlsZEFsbFN0YWNrQXNzZXRzKHRvUHVibGlzaCwgeyBidWlsZFN0YWNrQXNzZXRzIH0pKVxuICAgICAgLnJlc29sdmVzXG4gICAgICAudG9CZVVuZGVmaW5lZCgpO1xuXG4gICAgZXhwZWN0KGJ1aWxkU3RhY2tBc3NldHMpLnRvQmVDYWxsZWRUaW1lcygzKTtcbiAgICBleHBlY3QoYnVpbGRTdGFja0Fzc2V0cykudG9CZUNhbGxlZFdpdGgoQSk7XG4gICAgZXhwZWN0KGJ1aWxkU3RhY2tBc3NldHMpLnRvQmVDYWxsZWRXaXRoKEIpO1xuICAgIGV4cGVjdChidWlsZFN0YWNrQXNzZXRzKS50b0JlQ2FsbGVkV2l0aChDKTtcbiAgfSk7XG5cbiAgdGVzdCgnZXJyb3JzJywgYXN5bmMgKCkgPT4ge1xuICAgIC8vIEdJVkVOXG4gICAgY29uc3QgYnVpbGRTdGFja0Fzc2V0cyA9IGFzeW5jICgpID0+IHsgdGhyb3cgbmV3IEVycm9yKCdNZXNzYWdlJyk7IH07XG5cbiAgICAvLyBXSEVOL1RIRU5cbiAgICBhd2FpdCBleHBlY3QoYnVpbGRBbGxTdGFja0Fzc2V0cyh0b1B1Ymxpc2gsIHsgYnVpbGRTdGFja0Fzc2V0cyB9KSlcbiAgICAgIC5yZWplY3RzXG4gICAgICAudG9UaHJvdygnQnVpbGRpbmcgQXNzZXRzIEZhaWxlZDogRXJyb3I6IE1lc3NhZ2UsIEVycm9yOiBNZXNzYWdlLCBFcnJvcjogTWVzc2FnZScpO1xuICB9KTtcbn0pO1xuIl19