aws-cdk
Version:
CDK Toolkit, the command line tool for CDK apps
31 lines • 4.76 kB
JavaScript
;
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