feat/rename collectionVariables variable name to runtimeVariables (#2638)

* pr review changes

* collection root object in export json

* import environment updates

* tests run execution order fix for collection runs

* updated validations

* collectionVariables -> runtimeVariables

* removed husky, adjusted indentation

---------

Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
This commit is contained in:
lohit
2024-07-17 17:21:03 +05:30
committed by GitHub
parent e60aaf2ea9
commit ab9bcbe5ed
24 changed files with 128 additions and 132 deletions

View File

@ -4,9 +4,9 @@ const { interpolate } = require('@usebruno/common');
const variableNameRegex = /^[\w-.]*$/;
class Bru {
constructor(envVariables, collectionVariables, processEnvVars, collectionPath, requestVariables) {
constructor(envVariables, runtimeVariables, processEnvVars, collectionPath, requestVariables) {
this.envVariables = envVariables || {};
this.collectionVariables = collectionVariables || {};
this.runtimeVariables = runtimeVariables || {};
this.processEnvVars = cloneDeep(processEnvVars || {});
this.requestVariables = requestVariables || {};
this.collectionPath = collectionPath;
@ -20,7 +20,7 @@ class Bru {
const combinedVars = {
...this.envVariables,
...this.requestVariables,
...this.collectionVariables,
...this.runtimeVariables,
process: {
env: {
...this.processEnvVars
@ -60,7 +60,7 @@ class Bru {
}
hasVar(key) {
return Object.hasOwn(this.collectionVariables, key);
return Object.hasOwn(this.runtimeVariables, key);
}
setVar(key, value) {
@ -75,7 +75,7 @@ class Bru {
);
}
this.collectionVariables[key] = value;
this.runtimeVariables[key] = value;
}
getVar(key) {
@ -86,11 +86,11 @@ class Bru {
);
}
return this._interpolate(this.collectionVariables[key]);
return this._interpolate(this.runtimeVariables[key]);
}
deleteVar(key) {
delete this.collectionVariables[key];
delete this.runtimeVariables[key];
}
getRequestVar(key) {

View File

@ -2,7 +2,7 @@ const { interpolate } = require('@usebruno/common');
const interpolateString = (
str,
{ envVariables = {}, collectionVariables = {}, processEnvVars = {}, requestVariables = {} }
{ envVariables = {}, runtimeVariables = {}, processEnvVars = {}, requestVariables = {} }
) => {
if (!str || !str.length || typeof str !== 'string') {
return str;
@ -11,7 +11,7 @@ const interpolateString = (
const combinedVars = {
...envVariables,
...requestVariables,
...collectionVariables,
...runtimeVariables,
process: {
env: {
...processEnvVars

View File

@ -168,7 +168,7 @@ const evaluateRhsOperand = (rhsOperand, operator, context) => {
const interpolationContext = {
requestVariables: context.bru.requestVariables,
collectionVariables: context.bru.collectionVariables,
runtimeVariables: context.bru.runtimeVariables,
envVariables: context.bru.envVariables,
processEnvVars: context.bru.processEnvVars
};
@ -204,14 +204,14 @@ const evaluateRhsOperand = (rhsOperand, operator, context) => {
};
class AssertRuntime {
runAssertions(assertions, request, response, envVariables, collectionVariables, processEnvVars) {
runAssertions(assertions, request, response, envVariables, runtimeVariables, processEnvVars) {
const requestVariables = request?.requestVariables || {};
const enabledAssertions = _.filter(assertions, (a) => a.enabled);
if (!enabledAssertions.length) {
return [];
}
const bru = new Bru(envVariables, collectionVariables, processEnvVars, undefined, requestVariables);
const bru = new Bru(envVariables, runtimeVariables, processEnvVars, undefined, requestVariables);
const req = new BrunoRequest(request);
const res = createResponseParser(response);
@ -224,7 +224,7 @@ class AssertRuntime {
const context = {
...envVariables,
...requestVariables,
...collectionVariables,
...runtimeVariables,
...processEnvVars,
...bruContext
};

View File

@ -38,14 +38,14 @@ class ScriptRuntime {
script,
request,
envVariables,
collectionVariables,
runtimeVariables,
collectionPath,
onConsoleLog,
processEnvVars,
scriptingConfig
) {
const requestVariables = request?.requestVariables || {};
const bru = new Bru(envVariables, collectionVariables, processEnvVars, collectionPath, requestVariables);
const bru = new Bru(envVariables, runtimeVariables, processEnvVars, collectionPath, requestVariables);
const req = new BrunoRequest(request);
const allowScriptFilesystemAccess = get(scriptingConfig, 'filesystemAccess.allow', false);
const moduleWhitelist = get(scriptingConfig, 'moduleWhitelist', []);
@ -126,7 +126,7 @@ class ScriptRuntime {
return {
request,
envVariables: cleanJson(envVariables),
collectionVariables: cleanJson(collectionVariables),
runtimeVariables: cleanJson(runtimeVariables),
nextRequestName: bru.nextRequest
};
}
@ -136,14 +136,14 @@ class ScriptRuntime {
request,
response,
envVariables,
collectionVariables,
runtimeVariables,
collectionPath,
onConsoleLog,
processEnvVars,
scriptingConfig
) {
const requestVariables = request?.requestVariables || {};
const bru = new Bru(envVariables, collectionVariables, processEnvVars, collectionPath, requestVariables);
const bru = new Bru(envVariables, runtimeVariables, processEnvVars, collectionPath, requestVariables);
const req = new BrunoRequest(request);
const res = new BrunoResponse(response);
const allowScriptFilesystemAccess = get(scriptingConfig, 'filesystemAccess.allow', false);
@ -221,7 +221,7 @@ class ScriptRuntime {
return {
response,
envVariables: cleanJson(envVariables),
collectionVariables: cleanJson(collectionVariables),
runtimeVariables: cleanJson(runtimeVariables),
nextRequestName: bru.nextRequest
};
}

View File

@ -39,14 +39,14 @@ class TestRuntime {
request,
response,
envVariables,
collectionVariables,
runtimeVariables,
collectionPath,
onConsoleLog,
processEnvVars,
scriptingConfig
) {
const requestVariables = request?.requestVariables || {};
const bru = new Bru(envVariables, collectionVariables, processEnvVars, collectionPath, requestVariables);
const bru = new Bru(envVariables, runtimeVariables, processEnvVars, collectionPath, requestVariables);
const req = new BrunoRequest(request);
const res = new BrunoResponse(response);
const allowScriptFilesystemAccess = get(scriptingConfig, 'filesystemAccess.allow', false);
@ -75,7 +75,7 @@ class TestRuntime {
return {
request,
envVariables,
collectionVariables,
runtimeVariables,
results: __brunoTestResults.getResults()
};
}
@ -146,7 +146,7 @@ class TestRuntime {
return {
request,
envVariables: cleanJson(envVariables),
collectionVariables: cleanJson(collectionVariables),
runtimeVariables: cleanJson(runtimeVariables),
results: cleanJson(__brunoTestResults.getResults())
};
}

View File

@ -4,7 +4,7 @@ const BrunoRequest = require('../bruno-request');
const { evaluateJsTemplateLiteral, evaluateJsExpression, createResponseParser } = require('../utils');
class VarsRuntime {
runPreRequestVars(vars, request, envVariables, collectionVariables, collectionPath, processEnvVars) {
runPreRequestVars(vars, request, envVariables, runtimeVariables, collectionPath, processEnvVars) {
if (!request?.requestVariables) {
request.requestVariables = {};
}
@ -13,7 +13,7 @@ class VarsRuntime {
return;
}
const bru = new Bru(envVariables, collectionVariables, processEnvVars);
const bru = new Bru(envVariables, runtimeVariables, processEnvVars);
const req = new BrunoRequest(request);
const bruContext = {
@ -23,7 +23,7 @@ class VarsRuntime {
const context = {
...envVariables,
...collectionVariables,
...runtimeVariables,
...bruContext
};
@ -33,14 +33,14 @@ class VarsRuntime {
});
}
runPostResponseVars(vars, request, response, envVariables, collectionVariables, collectionPath, processEnvVars) {
runPostResponseVars(vars, request, response, envVariables, runtimeVariables, collectionPath, processEnvVars) {
const requestVariables = request?.requestVariables || {};
const enabledVars = _.filter(vars, (v) => v.enabled);
if (!enabledVars.length) {
return;
}
const bru = new Bru(envVariables, collectionVariables, processEnvVars, undefined, requestVariables);
const bru = new Bru(envVariables, runtimeVariables, processEnvVars, undefined, requestVariables);
const req = new BrunoRequest(request);
const res = createResponseParser(response);
@ -52,7 +52,7 @@ class VarsRuntime {
const context = {
...envVariables,
...collectionVariables,
...runtimeVariables,
...bruContext
};
@ -75,7 +75,7 @@ class VarsRuntime {
return {
envVariables,
collectionVariables,
runtimeVariables,
error
};
}

View File

@ -116,7 +116,7 @@ describe('runtime', () => {
const runtime = new ScriptRuntime();
const result = await runtime.runRequestScript(script, { ...baseRequest }, {}, {}, '.', null, process.env);
expect(result.collectionVariables.validation).toBeTruthy();
expect(result.runtimeVariables.validation).toBeTruthy();
});
});
@ -171,7 +171,7 @@ describe('runtime', () => {
null,
process.env
);
expect(result.collectionVariables.validation).toBeTruthy();
expect(result.runtimeVariables.validation).toBeTruthy();
});
});
});