From 25a384c59936c667a0d6847fffc8ce9e376f821b Mon Sep 17 00:00:00 2001 From: jackkav Date: Thu, 3 Oct 2024 11:32:59 +0200 Subject: [PATCH 1/2] overlay global env on give env id if passed --- packages/insomnia-inso/src/cli.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/insomnia-inso/src/cli.ts b/packages/insomnia-inso/src/cli.ts index 640347f7e0a..498d9183ea3 100644 --- a/packages/insomnia-inso/src/cli.ts +++ b/packages/insomnia-inso/src/cli.ts @@ -431,6 +431,7 @@ export const go = (args?: string[]) => { .option('-t, --requestNamePattern ', 'run requests that match the regex', '') .option('-i, --item ', 'request or folder id to run', collect, []) .option('-e, --env ', 'environment to use', '') + .option('-g, --globals ', 'global environment to use', '') .option('--delay-request ', 'milliseconds to delay between requests', '0') .option('--env-var ', 'override environment variables', collect, []) .option('-n, --iteration-count ', 'number of times to repeat', '1') @@ -438,7 +439,7 @@ export const go = (args?: string[]) => { .option('-r, --reporter ', `reporter to use, options are [${reporterTypes.join(', ')}]`, defaultReporter) .option('-b, --bail', 'abort ("bail") after first non-200 response', false) .option('--disableCertValidation', 'disable certificate validation for requests with SSL', false) - .action(async (identifier, cmd: { env: string; disableCertValidation: boolean; requestNamePattern: string; bail: boolean; item: string[]; delayRequest: string; iterationCount: string; iterationData: string; envVar: string[] }) => { + .action(async (identifier, cmd: { env: string; globals: string; disableCertValidation: boolean; requestNamePattern: string; bail: boolean; item: string[]; delayRequest: string; iterationCount: string; iterationData: string; envVar: string[] }) => { const globals: { config: string; workingDir: string; exportFile: string; ci: boolean; printOptions: boolean; verbose: boolean } = program.optsWithGlobals(); const commandOptions = { ...globals, ...cmd }; @@ -485,8 +486,11 @@ export const go = (args?: string[]) => { // Find environment const workspaceId = workspace._id; - const environment = options.env ? loadEnvironment(db, workspaceId, options.env) : await promptEnvironment(db, !!options.ci, workspaceId); - + const globalEnvironment = options.globals ? loadEnvironment(db, workspaceId, options.globals) : null; + let environment = options.env ? loadEnvironment(db, workspaceId, options.env) : await promptEnvironment(db, !!options.ci, workspaceId); + if (globalEnvironment) { + environment = { ...globalEnvironment, ...environment }; + } if (!environment) { logger.fatal('No environment identified; cannot run requests without a valid environment.'); return process.exit(1); From 4116b32a93f045339f81580762a505864020c701 Mon Sep 17 00:00:00 2001 From: jackkav Date: Thu, 3 Oct 2024 13:11:47 +0200 Subject: [PATCH 2/2] clistuff --- packages/insomnia-inso/src/cli.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/insomnia-inso/src/cli.ts b/packages/insomnia-inso/src/cli.ts index 498d9183ea3..1ce0a684de0 100644 --- a/packages/insomnia-inso/src/cli.ts +++ b/packages/insomnia-inso/src/cli.ts @@ -321,6 +321,7 @@ export const go = (args?: string[]) => { You can also point it at a git repository folder, or an Insomnia export file. Examples: + $ inso run collection $ inso run test $ inso lint spec $ inso export spec @@ -329,13 +330,10 @@ export const go = (args?: string[]) => { Inso also supports configuration files, by default it will look for .insorc in the current/provided working directory. $ inso export spec --config /some/path/.insorc `) - // TODO: make fallback dir clearer - .option('-w, --workingDir ', 'set working directory, to look for files: .insorc, .insomnia folder, *.db.json', '') - // TODO: figure out how to remove this option - .option('--exportFile ', 'set the Insomna export file read from', '') + .option('-w, --workingDir ', 'set working directory/file: .insomnia folder, *.db.json, export.yaml', '') .option('--verbose', 'show additional logs while running the command', false) .option('--ci', 'run in CI, disables all prompts, defaults to false', false) - .option('--config ', 'path to configuration file containing above options', '') + .option('--config ', 'path to configuration file containing above options (.insorc)', '') .option('--printOptions', 'print the loaded options', false); const run = program.command('run')