diff --git a/functions/postwomanTesting.js b/functions/postwomanTesting.js new file mode 100644 index 000000000..096ee9d32 --- /dev/null +++ b/functions/postwomanTesting.js @@ -0,0 +1,31 @@ +export default function runTestScriptWitVariables(script, variables) { + + let pw = { + assert + // globals that the script is allowed to have access to. + }; + Object.assign(pw, variables); + + // run pre-request script within this function so that it has access to the pw object. + let errors = null; + try { + new Function("pw", script)(pw); + } + catch (e) { + errors = e; + } + return errors; + +} + +function assert(expression) { + if (!expression) { + throw {name: "PostWomanTestError", message: "expression evaluated to false"} + } +} + +class PostwomanTestFailure { + constructor(message) { + return {message} + } +}