UNPKG

@aws-cdk-testing/cli-integ

Version:

Integration tests for the AWS CDK CLI

70 lines 6.77 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); const fs_1 = require("fs"); const path = __importStar(require("path")); const lib_1 = require("../../../lib"); const proxy_1 = require("../../../lib/proxy"); (0, lib_1.integTest)('requests go through a proxy when configured', (0, lib_1.withDefaultFixture)(async (fixture) => { const proxyServer = await (0, proxy_1.startProxyServer)(); try { // Matches CDK_HOME below. const cdkCacheDir = path.join(fixture.integTestDir, 'cache'); // Delete notices cache if it exists await fs_1.promises.rm(path.join(cdkCacheDir, 'notices.json'), { force: true }); // Delete connection cache if it exists await fs_1.promises.rm(path.join(cdkCacheDir, 'connection.json'), { force: true }); await fixture.cdkDeploy('test-2', { captureStderr: true, options: [ '--proxy', proxyServer.url, '--ca-bundle-path', proxyServer.certPath, ], modEnv: { CDK_HOME: fixture.integTestDir, }, }); const requests = await proxyServer.getSeenRequests(); expect(requests.map(req => req.url)) .toContain('https://cli.cdk.dev-tools.aws.dev/notices.json'); const actionsUsed = (0, proxy_1.awsActionsFromRequests)(requests); expect(actionsUsed).toContain('AssumeRole'); expect(actionsUsed).toContain('CreateChangeSet'); } finally { await proxyServer.stop(); } })); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXJlcXVlc3RzLWdvLXRocm91Z2gtYS1wcm94eS13aGVuLWNvbmZpZ3VyZWQuaW50ZWd0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXJlcXVlc3RzLWdvLXRocm91Z2gtYS1wcm94eS13aGVuLWNvbmZpZ3VyZWQuaW50ZWd0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkJBQW9DO0FBQ3BDLDJDQUE2QjtBQUM3QixzQ0FBNkQ7QUFDN0QsOENBQThFO0FBRTlFLElBQUEsZUFBUyxFQUFDLDZDQUE2QyxFQUNyRCxJQUFBLHdCQUFrQixFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUNuQyxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUEsd0JBQWdCLEdBQUUsQ0FBQztJQUM3QyxJQUFJLENBQUM7UUFDSCwwQkFBMEI7UUFDMUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdELG9DQUFvQztRQUNwQyxNQUFNLGFBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsY0FBYyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVyRSx1Q0FBdUM7UUFDdkMsTUFBTSxhQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUV4RSxNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO1lBQ2hDLGFBQWEsRUFBRSxJQUFJO1lBQ25CLE9BQU8sRUFBRTtnQkFDUCxTQUFTLEVBQUUsV0FBVyxDQUFDLEdBQUc7Z0JBQzFCLGtCQUFrQixFQUFFLFdBQVcsQ0FBQyxRQUFRO2FBQ3pDO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLFFBQVEsRUFBRSxPQUFPLENBQUMsWUFBWTthQUMvQjtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxHQUFHLE1BQU0sV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JELE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2pDLFNBQVMsQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO1FBRS9ELE1BQU0sV0FBVyxHQUFHLElBQUEsOEJBQXNCLEVBQUMsUUFBUSxDQUFDLENBQUM7UUFDckQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM1QyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbkQsQ0FBQztZQUFTLENBQUM7UUFDVCxNQUFNLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb21pc2VzIGFzIGZzIH0gZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IGludGVnVGVzdCwgd2l0aERlZmF1bHRGaXh0dXJlIH0gZnJvbSAnLi4vLi4vLi4vbGliJztcbmltcG9ydCB7IGF3c0FjdGlvbnNGcm9tUmVxdWVzdHMsIHN0YXJ0UHJveHlTZXJ2ZXIgfSBmcm9tICcuLi8uLi8uLi9saWIvcHJveHknO1xuXG5pbnRlZ1Rlc3QoJ3JlcXVlc3RzIGdvIHRocm91Z2ggYSBwcm94eSB3aGVuIGNvbmZpZ3VyZWQnLFxuICB3aXRoRGVmYXVsdEZpeHR1cmUoYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICBjb25zdCBwcm94eVNlcnZlciA9IGF3YWl0IHN0YXJ0UHJveHlTZXJ2ZXIoKTtcbiAgICB0cnkge1xuICAgICAgLy8gTWF0Y2hlcyBDREtfSE9NRSBiZWxvdy5cbiAgICAgIGNvbnN0IGNka0NhY2hlRGlyID0gcGF0aC5qb2luKGZpeHR1cmUuaW50ZWdUZXN0RGlyLCAnY2FjaGUnKTtcbiAgICAgIC8vIERlbGV0ZSBub3RpY2VzIGNhY2hlIGlmIGl0IGV4aXN0c1xuICAgICAgYXdhaXQgZnMucm0ocGF0aC5qb2luKGNka0NhY2hlRGlyLCAnbm90aWNlcy5qc29uJyksIHsgZm9yY2U6IHRydWUgfSk7XG5cbiAgICAgIC8vIERlbGV0ZSBjb25uZWN0aW9uIGNhY2hlIGlmIGl0IGV4aXN0c1xuICAgICAgYXdhaXQgZnMucm0ocGF0aC5qb2luKGNka0NhY2hlRGlyLCAnY29ubmVjdGlvbi5qc29uJyksIHsgZm9yY2U6IHRydWUgfSk7XG5cbiAgICAgIGF3YWl0IGZpeHR1cmUuY2RrRGVwbG95KCd0ZXN0LTInLCB7XG4gICAgICAgIGNhcHR1cmVTdGRlcnI6IHRydWUsXG4gICAgICAgIG9wdGlvbnM6IFtcbiAgICAgICAgICAnLS1wcm94eScsIHByb3h5U2VydmVyLnVybCxcbiAgICAgICAgICAnLS1jYS1idW5kbGUtcGF0aCcsIHByb3h5U2VydmVyLmNlcnRQYXRoLFxuICAgICAgICBdLFxuICAgICAgICBtb2RFbnY6IHtcbiAgICAgICAgICBDREtfSE9NRTogZml4dHVyZS5pbnRlZ1Rlc3REaXIsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgcmVxdWVzdHMgPSBhd2FpdCBwcm94eVNlcnZlci5nZXRTZWVuUmVxdWVzdHMoKTtcbiAgICAgIGV4cGVjdChyZXF1ZXN0cy5tYXAocmVxID0+IHJlcS51cmwpKVxuICAgICAgICAudG9Db250YWluKCdodHRwczovL2NsaS5jZGsuZGV2LXRvb2xzLmF3cy5kZXYvbm90aWNlcy5qc29uJyk7XG5cbiAgICAgIGNvbnN0IGFjdGlvbnNVc2VkID0gYXdzQWN0aW9uc0Zyb21SZXF1ZXN0cyhyZXF1ZXN0cyk7XG4gICAgICBleHBlY3QoYWN0aW9uc1VzZWQpLnRvQ29udGFpbignQXNzdW1lUm9sZScpO1xuICAgICAgZXhwZWN0KGFjdGlvbnNVc2VkKS50b0NvbnRhaW4oJ0NyZWF0ZUNoYW5nZVNldCcpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBwcm94eVNlcnZlci5zdG9wKCk7XG4gICAgfVxuICB9KSxcbik7XG4iXX0=