From 78eec9ea5cc52ca4c594019dcfc0115be7e6bdcd Mon Sep 17 00:00:00 2001 From: rayoz12 Date: Sat, 14 Oct 2023 21:05:44 +1100 Subject: [PATCH] Fixes: #552 Runs Post response vars and scripts on error. This normalises behaviour between: - Assertions - Scripts - Tests --- .../bruno-electron/src/ipc/network/index.js | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/packages/bruno-electron/src/ipc/network/index.js b/packages/bruno-electron/src/ipc/network/index.js index 8e8cb6247..9a5251825 100644 --- a/packages/bruno-electron/src/ipc/network/index.js +++ b/packages/bruno-electron/src/ipc/network/index.js @@ -435,6 +435,56 @@ const registerNetworkIpc = (mainWindow) => { }); } + // run post-response vars + const postResponseVars = get(request, 'vars.res', []); + if (postResponseVars && postResponseVars.length) { + const varsRuntime = new VarsRuntime(); + const result = varsRuntime.runPostResponseVars( + postResponseVars, + request, + error.response, + envVars, + collectionVariables, + collectionPath, + processEnvVars + ); + + if (result) { + mainWindow.webContents.send('main:script-environment-update', { + envVariables: result.envVariables, + collectionVariables: result.collectionVariables, + requestUid, + collectionUid + }); + } + } + + // run post-response script + const responseScript = compact([get(collectionRoot, 'request.script.res'), get(request, 'script.res')]).join( + os.EOL + ); + if (responseScript && responseScript.length) { + const scriptRuntime = new ScriptRuntime(); + const result = await scriptRuntime.runResponseScript( + decomment(responseScript), + request, + error.response, + envVars, + collectionVariables, + collectionPath, + onConsoleLog, + processEnvVars, + scriptingConfig + ); + + mainWindow.webContents.send('main:script-environment-update', { + envVariables: result.envVariables, + collectionVariables: result.collectionVariables, + requestUid, + collectionUid + }); + } + // run tests const testFile = compact([ get(collectionRoot, 'request.tests'),