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

@@ -87,7 +87,7 @@ const configureRequest = async (
collectionUid,
request,
envVars,
collectionVariables,
runtimeVariables,
processEnvVars,
collectionPath
) => {
@@ -118,7 +118,7 @@ const configureRequest = async (
const brunoConfig = getBrunoConfig(collectionUid);
const interpolationOptions = {
envVars,
collectionVariables,
runtimeVariables,
processEnvVars
};
@@ -211,7 +211,7 @@ const configureRequest = async (
let requestCopy = cloneDeep(request);
switch (request?.oauth2?.grantType) {
case 'authorization_code':
interpolateVars(requestCopy, envVars, collectionVariables, processEnvVars);
interpolateVars(requestCopy, envVars, runtimeVariables, processEnvVars);
const { data: authorizationCodeData, url: authorizationCodeAccessTokenUrl } =
await resolveOAuth2AuthorizationCodeAccessToken(requestCopy, collectionUid);
request.method = 'POST';
@@ -220,7 +220,7 @@ const configureRequest = async (
request.url = authorizationCodeAccessTokenUrl;
break;
case 'client_credentials':
interpolateVars(requestCopy, envVars, collectionVariables, processEnvVars);
interpolateVars(requestCopy, envVars, runtimeVariables, processEnvVars);
const { data: clientCredentialsData, url: clientCredentialsAccessTokenUrl } =
await transformClientCredentialsRequest(requestCopy);
request.method = 'POST';
@@ -229,7 +229,7 @@ const configureRequest = async (
request.url = clientCredentialsAccessTokenUrl;
break;
case 'password':
interpolateVars(requestCopy, envVars, collectionVariables, processEnvVars);
interpolateVars(requestCopy, envVars, runtimeVariables, processEnvVars);
const { data: passwordData, url: passwordAccessTokenUrl } = await transformPasswordCredentialsRequest(
requestCopy
);
@@ -308,7 +308,7 @@ const registerNetworkIpc = (mainWindow) => {
collectionPath,
collectionRoot,
collectionUid,
collectionVariables,
runtimeVariables,
processEnvVars,
scriptingConfig
) => {
@@ -320,7 +320,7 @@ const registerNetworkIpc = (mainWindow) => {
preRequestVars,
request,
envVars,
collectionVariables,
runtimeVariables,
collectionPath,
processEnvVars
);
@@ -335,7 +335,7 @@ const registerNetworkIpc = (mainWindow) => {
decomment(requestScript),
request,
envVars,
collectionVariables,
runtimeVariables,
collectionPath,
onConsoleLog,
processEnvVars,
@@ -344,14 +344,14 @@ const registerNetworkIpc = (mainWindow) => {
mainWindow.webContents.send('main:script-environment-update', {
envVariables: scriptResult.envVariables,
collectionVariables: scriptResult.collectionVariables,
runtimeVariables: scriptResult.runtimeVariables,
requestUid,
collectionUid
});
}
// interpolate variables inside request
interpolateVars(request, envVars, collectionVariables, processEnvVars);
interpolateVars(request, envVars, runtimeVariables, processEnvVars);
// if this is a graphql request, parse the variables, only after interpolation
// https://github.com/usebruno/bruno/issues/884
@@ -375,7 +375,7 @@ const registerNetworkIpc = (mainWindow) => {
collectionPath,
collectionRoot,
collectionUid,
collectionVariables,
runtimeVariables,
processEnvVars,
scriptingConfig
) => {
@@ -388,7 +388,7 @@ const registerNetworkIpc = (mainWindow) => {
request,
response,
envVars,
collectionVariables,
runtimeVariables,
collectionPath,
processEnvVars
);
@@ -396,7 +396,7 @@ const registerNetworkIpc = (mainWindow) => {
if (result) {
mainWindow.webContents.send('main:script-environment-update', {
envVariables: result.envVariables,
collectionVariables: result.collectionVariables,
runtimeVariables: result.runtimeVariables,
requestUid,
collectionUid
});
@@ -419,7 +419,7 @@ const registerNetworkIpc = (mainWindow) => {
request,
response,
envVars,
collectionVariables,
runtimeVariables,
collectionPath,
onConsoleLog,
processEnvVars,
@@ -428,7 +428,7 @@ const registerNetworkIpc = (mainWindow) => {
mainWindow.webContents.send('main:script-environment-update', {
envVariables: scriptResult.envVariables,
collectionVariables: scriptResult.collectionVariables,
runtimeVariables: scriptResult.runtimeVariables,
requestUid,
collectionUid
});
@@ -437,7 +437,7 @@ const registerNetworkIpc = (mainWindow) => {
};
// handler for sending http request
ipcMain.handle('send-http-request', async (event, item, collection, environment, collectionVariables) => {
ipcMain.handle('send-http-request', async (event, item, collection, environment, runtimeVariables) => {
const collectionUid = collection.uid;
const collectionPath = collection.pathname;
const cancelTokenUid = uuid();
@@ -470,7 +470,7 @@ const registerNetworkIpc = (mainWindow) => {
collectionPath,
collectionRoot,
collectionUid,
collectionVariables,
runtimeVariables,
processEnvVars,
scriptingConfig
);
@@ -479,7 +479,7 @@ const registerNetworkIpc = (mainWindow) => {
collectionUid,
request,
envVars,
collectionVariables,
runtimeVariables,
processEnvVars,
collectionPath
);
@@ -564,7 +564,7 @@ const registerNetworkIpc = (mainWindow) => {
collectionPath,
collectionRoot,
collectionUid,
collectionVariables,
runtimeVariables,
processEnvVars,
scriptingConfig
);
@@ -578,7 +578,7 @@ const registerNetworkIpc = (mainWindow) => {
request,
response,
envVars,
collectionVariables,
runtimeVariables,
processEnvVars
);
@@ -603,7 +603,7 @@ const registerNetworkIpc = (mainWindow) => {
request,
response,
envVars,
collectionVariables,
runtimeVariables,
collectionPath,
onConsoleLog,
processEnvVars,
@@ -620,7 +620,7 @@ const registerNetworkIpc = (mainWindow) => {
mainWindow.webContents.send('main:script-environment-update', {
envVariables: testResults.envVariables,
collectionVariables: testResults.collectionVariables,
runtimeVariables: testResults.runtimeVariables,
requestUid,
collectionUid
});
@@ -642,7 +642,7 @@ const registerNetworkIpc = (mainWindow) => {
}
});
ipcMain.handle('send-collection-oauth2-request', async (event, collection, environment, collectionVariables) => {
ipcMain.handle('send-collection-oauth2-request', async (event, collection, environment, runtimeVariables) => {
try {
const collectionUid = collection.uid;
const collectionPath = collection.pathname;
@@ -663,17 +663,17 @@ const registerNetworkIpc = (mainWindow) => {
collectionPath,
collectionRoot,
collectionUid,
collectionVariables,
runtimeVariables,
processEnvVars,
scriptingConfig
);
interpolateVars(request, envVars, collection.collectionVariables, processEnvVars);
interpolateVars(request, envVars, collection.runtimeVariables, processEnvVars);
const axiosInstance = await configureRequest(
collection.uid,
request,
envVars,
collection.collectionVariables,
collection.runtimeVariables,
processEnvVars,
collectionPath
);
@@ -699,7 +699,7 @@ const registerNetworkIpc = (mainWindow) => {
collectionPath,
collectionRoot,
collectionUid,
collectionVariables,
runtimeVariables,
processEnvVars,
scriptingConfig
);
@@ -756,7 +756,7 @@ const registerNetworkIpc = (mainWindow) => {
const requestUid = uuid();
const collectionPath = collection.pathname;
const collectionUid = collection.uid;
const collectionVariables = collection.collectionVariables;
const runtimeVariables = collection.runtimeVariables;
const processEnvVars = getProcessEnvVars(collectionUid);
const brunoConfig = getBrunoConfig(collection.uid);
const scriptingConfig = get(brunoConfig, 'scripts', {});
@@ -768,17 +768,17 @@ const registerNetworkIpc = (mainWindow) => {
collectionPath,
collectionRoot,
collectionUid,
collectionVariables,
runtimeVariables,
processEnvVars,
scriptingConfig
);
interpolateVars(request, envVars, collection.collectionVariables, processEnvVars);
interpolateVars(request, envVars, collection.runtimeVariables, processEnvVars);
const axiosInstance = await configureRequest(
collection.uid,
request,
envVars,
collection.collectionVariables,
collection.runtimeVariables,
processEnvVars,
collectionPath
);
@@ -792,7 +792,7 @@ const registerNetworkIpc = (mainWindow) => {
collectionPath,
collectionRoot,
collectionUid,
collectionVariables,
runtimeVariables,
processEnvVars,
scriptingConfig
);
@@ -819,7 +819,7 @@ const registerNetworkIpc = (mainWindow) => {
ipcMain.handle(
'renderer:run-collection-folder',
async (event, folder, collection, environment, collectionVariables, recursive) => {
async (event, folder, collection, environment, runtimeVariables, recursive) => {
const collectionUid = collection.uid;
const collectionPath = collection.pathname;
const folderUid = folder ? folder.uid : null;
@@ -902,7 +902,7 @@ const registerNetworkIpc = (mainWindow) => {
collectionPath,
collectionRoot,
collectionUid,
collectionVariables,
runtimeVariables,
processEnvVars,
scriptingConfig
);
@@ -930,7 +930,7 @@ const registerNetworkIpc = (mainWindow) => {
collectionUid,
request,
envVars,
collectionVariables,
runtimeVariables,
processEnvVars,
collectionPath
);
@@ -998,7 +998,7 @@ const registerNetworkIpc = (mainWindow) => {
collectionPath,
collectionRoot,
collectionUid,
collectionVariables,
runtimeVariables,
processEnvVars,
scriptingConfig
);
@@ -1016,7 +1016,7 @@ const registerNetworkIpc = (mainWindow) => {
request,
response,
envVars,
collectionVariables,
runtimeVariables,
processEnvVars
);
@@ -1040,7 +1040,7 @@ const registerNetworkIpc = (mainWindow) => {
request,
response,
envVars,
collectionVariables,
runtimeVariables,
collectionPath,
onConsoleLog,
processEnvVars,
@@ -1055,7 +1055,7 @@ const registerNetworkIpc = (mainWindow) => {
mainWindow.webContents.send('main:script-environment-update', {
envVariables: testResults.envVariables,
collectionVariables: testResults.collectionVariables,
runtimeVariables: testResults.runtimeVariables,
collectionUid
});
}

View File

@@ -1,13 +1,13 @@
const { forOwn, cloneDeep } = require('lodash');
const { interpolate } = require('@usebruno/common');
const interpolateString = (str, { envVars, collectionVariables, processEnvVars }) => {
const interpolateString = (str, { envVars, runtimeVariables, processEnvVars }) => {
if (!str || !str.length || typeof str !== 'string') {
return str;
}
processEnvVars = processEnvVars || {};
collectionVariables = collectionVariables || {};
runtimeVariables = runtimeVariables || {};
// we clone envVars because we don't want to modify the original object
envVars = envVars ? cloneDeep(envVars) : {};
@@ -24,10 +24,10 @@ const interpolateString = (str, { envVars, collectionVariables, processEnvVars }
});
});
// collectionVariables take precedence over envVars
// runtimeVariables take precedence over envVars
const combinedVars = {
...envVars,
...collectionVariables,
...runtimeVariables,
process: {
env: {
...processEnvVars

View File

@@ -12,7 +12,7 @@ const getContentType = (headers = {}) => {
return contentType;
};
const interpolateVars = (request, envVars = {}, collectionVariables = {}, processEnvVars = {}) => {
const interpolateVars = (request, envVars = {}, runtimeVariables = {}, processEnvVars = {}) => {
const requestVariables = request?.requestVariables || {};
// we clone envVars because we don't want to modify the original object
envVars = cloneDeep(envVars);
@@ -34,11 +34,11 @@ const interpolateVars = (request, envVars = {}, collectionVariables = {}, proces
return str;
}
// collectionVariables take precedence over envVars
// runtimeVariables take precedence over envVars
const combinedVars = {
...envVars,
...requestVariables,
...collectionVariables,
...runtimeVariables,
process: {
env: {
...processEnvVars