UNPKG

aws-cdk

Version:

CDK Toolkit, the command line tool for CDK apps

84 lines 12.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const cli_1 = require("../../lib/cli/cli"); const cli_io_host_1 = require("../../lib/toolkit/cli-io-host"); // Store original version module exports so we don't conflict with other tests const originalVersion = jest.requireActual('../../lib/cli/version'); // Mock the dependencies jest.mock('../../lib/logging', () => ({ debug: jest.fn(), error: jest.fn(), print: jest.fn(), data: jest.fn(), })); jest.mock('@aws-cdk/cx-api'); jest.mock('@jsii/check-node/run'); jest.mock('../../lib/cli/platform-warnings', () => ({ checkForPlatformWarnings: jest.fn().mockResolvedValue(undefined), })); jest.mock('../../lib/cli/user-configuration', () => ({ Configuration: jest.fn().mockImplementation(() => ({ load: jest.fn().mockResolvedValue(undefined), settings: { get: jest.fn().mockReturnValue(undefined), }, context: { get: jest.fn().mockReturnValue([]), }, })), })); jest.mock('../../lib/notices', () => ({ Notices: { create: jest.fn().mockReturnValue({ refresh: jest.fn().mockResolvedValue(undefined), display: jest.fn(), }), }, })); jest.mock('../../lib/cli/parse-command-line-arguments', () => ({ parseCommandLineArguments: jest.fn().mockImplementation((args) => Promise.resolve({ _: ['version'], verbose: args.includes('-v') ? (args.filter((arg) => arg === '-v').length) : args.includes('--verbose') ? (parseInt(args[args.indexOf('--verbose') + 1]) || true) : undefined, })), })); describe('exec verbose flag tests', () => { beforeEach(() => { jest.clearAllMocks(); // Set up version module for our tests jest.mock('../../lib/cli/version', () => ({ ...originalVersion, DISPLAY_VERSION: 'test-version', displayVersionMessage: jest.fn().mockResolvedValue(undefined), })); }); afterEach(() => { // Restore the version module to its original state jest.resetModules(); jest.setMock('../../lib/cli/version', originalVersion); }); test('should not set log level when no verbose flag is present', async () => { await (0, cli_1.exec)(['version']); expect(cli_io_host_1.CliIoHost.instance().logLevel).toBe('info'); }); test('should set DEBUG level with single -v flag', async () => { await (0, cli_1.exec)(['-v', 'version']); expect(cli_io_host_1.CliIoHost.instance().logLevel).toBe('debug'); }); test('should set TRACE level with double -v flag', async () => { await (0, cli_1.exec)(['-v', '-v', 'version']); expect(cli_io_host_1.CliIoHost.instance().logLevel).toBe('trace'); }); test('should set DEBUG level with --verbose=1', async () => { await (0, cli_1.exec)(['--verbose', '1', 'version']); expect(cli_io_host_1.CliIoHost.instance().logLevel).toBe('debug'); }); test('should set TRACE level with --verbose=2', async () => { await (0, cli_1.exec)(['--verbose', '2', 'version']); expect(cli_io_host_1.CliIoHost.instance().logLevel).toBe('trace'); }); test('should set TRACE level with verbose level > 2', async () => { await (0, cli_1.exec)(['--verbose', '3', 'version']); expect(cli_io_host_1.CliIoHost.instance().logLevel).toBe('trace'); }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjbGkudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDJDQUF5QztBQUN6QywrREFBMEQ7QUFFMUQsOEVBQThFO0FBQzlFLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQUVwRSx3QkFBd0I7QUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO0lBQ2hCLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO0lBQ2hCLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO0lBQ2hCLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO0NBQ2hCLENBQUMsQ0FBQyxDQUFDO0FBRUosSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlDQUFpQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbEQsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQztDQUNqRSxDQUFDLENBQUMsQ0FBQztBQUVKLElBQUksQ0FBQyxJQUFJLENBQUMsa0NBQWtDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNuRCxhQUFhLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDakQsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUM7UUFDNUMsUUFBUSxFQUFFO1lBQ1IsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDO1NBQzFDO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1NBQ25DO0tBQ0YsQ0FBQyxDQUFDO0NBQ0osQ0FBQyxDQUFDLENBQUM7QUFFSixJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDcEMsT0FBTyxFQUFFO1FBQ1AsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUM7WUFDaEMsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUM7WUFDL0MsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7U0FDbkIsQ0FBQztLQUNIO0NBQ0YsQ0FBQyxDQUFDLENBQUM7QUFFSixJQUFJLENBQUMsSUFBSSxDQUFDLDRDQUE0QyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDN0QseUJBQXlCLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ2hGLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQztRQUNkLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUMsTUFBTSxDQUNsRCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMvQixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQ3RELENBQUMsQ0FBQyxDQUFDLFNBQVM7S0FDZCxDQUFDLENBQUM7Q0FDSixDQUFDLENBQUMsQ0FBQztBQUVKLFFBQVEsQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUU7SUFDdkMsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3hDLEdBQUcsZUFBZTtZQUNsQixlQUFlLEVBQUUsY0FBYztZQUMvQixxQkFBcUIsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDO1NBQzlELENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQyxDQUFDLENBQUM7SUFFSCxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsbURBQW1EO1FBQ25ELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3pELENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLDBEQUEwRCxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQzFFLE1BQU0sSUFBQSxVQUFJLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyx1QkFBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyw0Q0FBNEMsRUFBRSxLQUFLLElBQUksRUFBRTtRQUM1RCxNQUFNLElBQUEsVUFBSSxFQUFDLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsTUFBTSxDQUFDLHVCQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLDRDQUE0QyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQzVELE1BQU0sSUFBQSxVQUFJLEVBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsTUFBTSxDQUFDLHVCQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLHlDQUF5QyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3pELE1BQU0sSUFBQSxVQUFJLEVBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsTUFBTSxDQUFDLHVCQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLHlDQUF5QyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3pELE1BQU0sSUFBQSxVQUFJLEVBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsTUFBTSxDQUFDLHVCQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLCtDQUErQyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQy9ELE1BQU0sSUFBQSxVQUFJLEVBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsTUFBTSxDQUFDLHVCQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGVjIH0gZnJvbSAnLi4vLi4vbGliL2NsaS9jbGknO1xuaW1wb3J0IHsgQ2xpSW9Ib3N0IH0gZnJvbSAnLi4vLi4vbGliL3Rvb2xraXQvY2xpLWlvLWhvc3QnO1xuXG4vLyBTdG9yZSBvcmlnaW5hbCB2ZXJzaW9uIG1vZHVsZSBleHBvcnRzIHNvIHdlIGRvbid0IGNvbmZsaWN0IHdpdGggb3RoZXIgdGVzdHNcbmNvbnN0IG9yaWdpbmFsVmVyc2lvbiA9IGplc3QucmVxdWlyZUFjdHVhbCgnLi4vLi4vbGliL2NsaS92ZXJzaW9uJyk7XG5cbi8vIE1vY2sgdGhlIGRlcGVuZGVuY2llc1xuamVzdC5tb2NrKCcuLi8uLi9saWIvbG9nZ2luZycsICgpID0+ICh7XG4gIGRlYnVnOiBqZXN0LmZuKCksXG4gIGVycm9yOiBqZXN0LmZuKCksXG4gIHByaW50OiBqZXN0LmZuKCksXG4gIGRhdGE6IGplc3QuZm4oKSxcbn0pKTtcblxuamVzdC5tb2NrKCdAYXdzLWNkay9jeC1hcGknKTtcbmplc3QubW9jaygnQGpzaWkvY2hlY2stbm9kZS9ydW4nKTtcbmplc3QubW9jaygnLi4vLi4vbGliL2NsaS9wbGF0Zm9ybS13YXJuaW5ncycsICgpID0+ICh7XG4gIGNoZWNrRm9yUGxhdGZvcm1XYXJuaW5nczogamVzdC5mbigpLm1vY2tSZXNvbHZlZFZhbHVlKHVuZGVmaW5lZCksXG59KSk7XG5cbmplc3QubW9jaygnLi4vLi4vbGliL2NsaS91c2VyLWNvbmZpZ3VyYXRpb24nLCAoKSA9PiAoe1xuICBDb25maWd1cmF0aW9uOiBqZXN0LmZuKCkubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+ICh7XG4gICAgbG9hZDogamVzdC5mbigpLm1vY2tSZXNvbHZlZFZhbHVlKHVuZGVmaW5lZCksXG4gICAgc2V0dGluZ3M6IHtcbiAgICAgIGdldDogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh1bmRlZmluZWQpLFxuICAgIH0sXG4gICAgY29udGV4dDoge1xuICAgICAgZ2V0OiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKFtdKSxcbiAgICB9LFxuICB9KSksXG59KSk7XG5cbmplc3QubW9jaygnLi4vLi4vbGliL25vdGljZXMnLCAoKSA9PiAoe1xuICBOb3RpY2VzOiB7XG4gICAgY3JlYXRlOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHtcbiAgICAgIHJlZnJlc2g6IGplc3QuZm4oKS5tb2NrUmVzb2x2ZWRWYWx1ZSh1bmRlZmluZWQpLFxuICAgICAgZGlzcGxheTogamVzdC5mbigpLFxuICAgIH0pLFxuICB9LFxufSkpO1xuXG5qZXN0Lm1vY2soJy4uLy4uL2xpYi9jbGkvcGFyc2UtY29tbWFuZC1saW5lLWFyZ3VtZW50cycsICgpID0+ICh7XG4gIHBhcnNlQ29tbWFuZExpbmVBcmd1bWVudHM6IGplc3QuZm4oKS5tb2NrSW1wbGVtZW50YXRpb24oKGFyZ3MpID0+IFByb21pc2UucmVzb2x2ZSh7XG4gICAgXzogWyd2ZXJzaW9uJ10sXG4gICAgdmVyYm9zZTogYXJncy5pbmNsdWRlcygnLXYnKSA/IChcbiAgICAgIGFyZ3MuZmlsdGVyKChhcmc6IHN0cmluZykgPT4gYXJnID09PSAnLXYnKS5sZW5ndGhcbiAgICApIDogYXJncy5pbmNsdWRlcygnLS12ZXJib3NlJykgPyAoXG4gICAgICBwYXJzZUludChhcmdzW2FyZ3MuaW5kZXhPZignLS12ZXJib3NlJykgKyAxXSkgfHwgdHJ1ZVxuICAgICkgOiB1bmRlZmluZWQsXG4gIH0pKSxcbn0pKTtcblxuZGVzY3JpYmUoJ2V4ZWMgdmVyYm9zZSBmbGFnIHRlc3RzJywgKCkgPT4ge1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBqZXN0LmNsZWFyQWxsTW9ja3MoKTtcbiAgICAvLyBTZXQgdXAgdmVyc2lvbiBtb2R1bGUgZm9yIG91ciB0ZXN0c1xuICAgIGplc3QubW9jaygnLi4vLi4vbGliL2NsaS92ZXJzaW9uJywgKCkgPT4gKHtcbiAgICAgIC4uLm9yaWdpbmFsVmVyc2lvbixcbiAgICAgIERJU1BMQVlfVkVSU0lPTjogJ3Rlc3QtdmVyc2lvbicsXG4gICAgICBkaXNwbGF5VmVyc2lvbk1lc3NhZ2U6IGplc3QuZm4oKS5tb2NrUmVzb2x2ZWRWYWx1ZSh1bmRlZmluZWQpLFxuICAgIH0pKTtcbiAgfSk7XG5cbiAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICAvLyBSZXN0b3JlIHRoZSB2ZXJzaW9uIG1vZHVsZSB0byBpdHMgb3JpZ2luYWwgc3RhdGVcbiAgICBqZXN0LnJlc2V0TW9kdWxlcygpO1xuICAgIGplc3Quc2V0TW9jaygnLi4vLi4vbGliL2NsaS92ZXJzaW9uJywgb3JpZ2luYWxWZXJzaW9uKTtcbiAgfSk7XG5cbiAgdGVzdCgnc2hvdWxkIG5vdCBzZXQgbG9nIGxldmVsIHdoZW4gbm8gdmVyYm9zZSBmbGFnIGlzIHByZXNlbnQnLCBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgZXhlYyhbJ3ZlcnNpb24nXSk7XG4gICAgZXhwZWN0KENsaUlvSG9zdC5pbnN0YW5jZSgpLmxvZ0xldmVsKS50b0JlKCdpbmZvJyk7XG4gIH0pO1xuXG4gIHRlc3QoJ3Nob3VsZCBzZXQgREVCVUcgbGV2ZWwgd2l0aCBzaW5nbGUgLXYgZmxhZycsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBleGVjKFsnLXYnLCAndmVyc2lvbiddKTtcbiAgICBleHBlY3QoQ2xpSW9Ib3N0Lmluc3RhbmNlKCkubG9nTGV2ZWwpLnRvQmUoJ2RlYnVnJyk7XG4gIH0pO1xuXG4gIHRlc3QoJ3Nob3VsZCBzZXQgVFJBQ0UgbGV2ZWwgd2l0aCBkb3VibGUgLXYgZmxhZycsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBleGVjKFsnLXYnLCAnLXYnLCAndmVyc2lvbiddKTtcbiAgICBleHBlY3QoQ2xpSW9Ib3N0Lmluc3RhbmNlKCkubG9nTGV2ZWwpLnRvQmUoJ3RyYWNlJyk7XG4gIH0pO1xuXG4gIHRlc3QoJ3Nob3VsZCBzZXQgREVCVUcgbGV2ZWwgd2l0aCAtLXZlcmJvc2U9MScsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBleGVjKFsnLS12ZXJib3NlJywgJzEnLCAndmVyc2lvbiddKTtcbiAgICBleHBlY3QoQ2xpSW9Ib3N0Lmluc3RhbmNlKCkubG9nTGV2ZWwpLnRvQmUoJ2RlYnVnJyk7XG4gIH0pO1xuXG4gIHRlc3QoJ3Nob3VsZCBzZXQgVFJBQ0UgbGV2ZWwgd2l0aCAtLXZlcmJvc2U9MicsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBleGVjKFsnLS12ZXJib3NlJywgJzInLCAndmVyc2lvbiddKTtcbiAgICBleHBlY3QoQ2xpSW9Ib3N0Lmluc3RhbmNlKCkubG9nTGV2ZWwpLnRvQmUoJ3RyYWNlJyk7XG4gIH0pO1xuXG4gIHRlc3QoJ3Nob3VsZCBzZXQgVFJBQ0UgbGV2ZWwgd2l0aCB2ZXJib3NlIGxldmVsID4gMicsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBleGVjKFsnLS12ZXJib3NlJywgJzMnLCAndmVyc2lvbiddKTtcbiAgICBleHBlY3QoQ2xpSW9Ib3N0Lmluc3RhbmNlKCkubG9nTGV2ZWwpLnRvQmUoJ3RyYWNlJyk7XG4gIH0pO1xufSk7XG4iXX0=