UNPKG

@n8n/n8n-benchmark

Version:

Cli for running benchmark tests for n8n

47 lines 2.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const core_1 = require("@oclif/core"); const config_1 = require("../config/config"); const scenarioLoader_1 = require("../scenario/scenarioLoader"); const scenarioRunner_1 = require("../testExecution/scenarioRunner"); const n8nApiClient_1 = require("../n8nApiClient/n8nApiClient"); const scenarioDataLoader_1 = require("../scenario/scenarioDataLoader"); const k6Executor_1 = require("../testExecution/k6Executor"); class RunCommand extends core_1.Command { async run() { const config = await this.loadConfigAndMergeWithFlags(); const scenarioLoader = new scenarioLoader_1.ScenarioLoader(); const scenarioRunner = new scenarioRunner_1.ScenarioRunner(new n8nApiClient_1.N8nApiClient(config.get('n8n.baseUrl')), new scenarioDataLoader_1.ScenarioDataFileLoader(), new k6Executor_1.K6Executor({ k6ExecutablePath: config.get('k6.executablePath'), k6ApiToken: config.get('k6.apiToken'), n8nApiBaseUrl: config.get('n8n.baseUrl'), }), { email: config.get('n8n.user.email'), password: config.get('n8n.user.password'), }, config.get('scenarioNamePrefix')); const allScenarios = scenarioLoader.loadAll(config.get('testScenariosPath')); await scenarioRunner.runManyScenarios(allScenarios); } async loadConfigAndMergeWithFlags() { const config = (0, config_1.loadConfig)(); const { flags } = await this.parse(RunCommand); if (flags.scenarioNamePrefix) { config.set('scenarioNamePrefix', flags.scenarioNamePrefix); } return config; } } RunCommand.description = 'Run all (default) or specified test scenarios'; RunCommand.flags = { scenarios: core_1.Flags.string({ char: 't', description: 'Comma-separated list of test scenarios to run', required: false, }), scenarioNamePrefix: core_1.Flags.string({ description: 'Prefix for the scenario name. Defaults to Unnamed', required: false, }), }; exports.default = RunCommand; //# sourceMappingURL=run.js.map