@loadmill/executer 0.1.48 → 0.1.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -102,7 +102,7 @@ var ExtractionCombiner = /** @class */ (function () {
102
102
  writable: true,
103
103
  value: function (extraction) {
104
104
  return __awaiter(this, void 0, void 0, function () {
105
- var query, extractor, header, jQuery_1, jsonPath, edn, regex, ws, converted;
105
+ var query, extractor, header, jQuery, jsonPath, edn, regex, ws, converted;
106
106
  var _this = this;
107
107
  return __generator(this, function (_a) {
108
108
  if (typeof extraction === 'string') {
@@ -110,19 +110,19 @@ var ExtractionCombiner = /** @class */ (function () {
110
110
  extractor = this.expressionExtractor;
111
111
  }
112
112
  else {
113
- header = extraction.header, jQuery_1 = extraction.jQuery, jsonPath = extraction.jsonPath, edn = extraction.edn, regex = extraction.regex, ws = extraction.ws;
113
+ header = extraction.header, jQuery = extraction.jQuery, jsonPath = extraction.jsonPath, edn = extraction.edn, regex = extraction.regex, ws = extraction.ws;
114
114
  if (header != null) {
115
115
  query = header;
116
116
  extractor = this.headerExtractor;
117
117
  }
118
- else if (jQuery_1 != null) {
118
+ else if (jQuery != null) {
119
119
  if (!this.cheerioExtractor) {
120
120
  this.cheerioExtractor = new extractors_1.CheerioExtractor(this.res.text, this.contextParameters);
121
121
  }
122
122
  query =
123
- typeof jQuery_1 === 'string'
124
- ? jQuery_1
125
- : [jQuery_1.query, '0', jQuery_1.attr || ''];
123
+ typeof jQuery === 'string'
124
+ ? jQuery
125
+ : [jQuery.query, '0', jQuery.attr || ''];
126
126
  extractor = this.cheerioExtractor;
127
127
  }
128
128
  else if (jsonPath != null) {
@@ -1 +1 @@
1
- {"version":3,"file":"extraction-combiner.js","sourceRoot":"","sources":["../src/extraction-combiner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extraction-combiner.js","sourceRoot":"","sources":["../src/extraction-combiner.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,10 @@ export interface MillInfo {
51
51
  * The owner of the agent.
52
52
  */
53
53
  userId?: string;
54
+ /**
55
+ * The agent's owner's team.
56
+ */
57
+ teamId?: string;
54
58
  /**
55
59
  * Agent pool(if the user supplied)
56
60
  */
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.millVersionString = exports.millVersion = void 0;
4
4
  exports.millVersion = {
5
5
  major: 9,
6
- minor: 52,
6
+ minor: 55,
7
7
  patch: 0,
8
8
  };
9
9
  exports.millVersionString = exports.millVersion.major + "." + exports.millVersion.minor + "." + exports.millVersion.patch;
@@ -0,0 +1,7 @@
1
+ export declare const LINE_LIMIT = 1000;
2
+ export declare const CONSOLE_LOG_LIMIT = 100;
3
+ export declare const myConsole: {
4
+ stdout: string[];
5
+ log: (...args: any[]) => void;
6
+ setStdout: (newStdout: any) => any;
7
+ };
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.myConsole = exports.CONSOLE_LOG_LIMIT = exports.LINE_LIMIT = void 0;
4
+ exports.LINE_LIMIT = 1000;
5
+ exports.CONSOLE_LOG_LIMIT = 100;
6
+ var isPassedTheLimit = function (line) { return line.length > exports.LINE_LIMIT; };
7
+ exports.myConsole = {
8
+ stdout: [],
9
+ log: function () {
10
+ var args = [];
11
+ for (var _i = 0; _i < arguments.length; _i++) {
12
+ args[_i] = arguments[_i];
13
+ }
14
+ if (exports.myConsole.stdout.length >= exports.CONSOLE_LOG_LIMIT) {
15
+ return;
16
+ }
17
+ var line = '';
18
+ for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {
19
+ var item = args_1[_a];
20
+ line += typeof item === 'object' ? JSON.stringify(item, undefined, 2) : item;
21
+ if (isPassedTheLimit(line)) {
22
+ line = line.substring(0, exports.LINE_LIMIT) + '\n...';
23
+ break;
24
+ }
25
+ line += ' ';
26
+ }
27
+ !!line && exports.myConsole.stdout.push(line);
28
+ },
29
+ setStdout: function (newStdout) { return exports.myConsole.stdout = newStdout; },
30
+ };
31
+ //# sourceMappingURL=console-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-log.js","sourceRoot":"","sources":["../../src/post-script/console-log.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG,IAAI,CAAC;AAClB,QAAA,iBAAiB,GAAG,GAAG,CAAC;AAErC,IAAM,gBAAgB,GAAG,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,GAAG,kBAAU,EAAxB,CAAwB,CAAC;AAE/C,QAAA,SAAS,GAAG;IACvB,MAAM,EAAE,EAAc;IACtB,GAAG,EAAE;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;QACX,IAAI,iBAAS,CAAC,MAAM,CAAC,MAAM,IAAI,yBAAiB,EAAE;YAChD,OAAO;SACR;QACD,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAmB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE;YAApB,IAAM,IAAI,aAAA;YACb,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7E,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE;gBAC1B,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,kBAAU,CAAC,GAAG,OAAO,CAAC;gBAC/C,MAAM;aACP;YACD,IAAI,IAAI,GAAG,CAAC;SACb;QACD,CAAC,CAAC,IAAI,IAAI,iBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,SAAS,EAAE,UAAC,SAAS,IAAK,OAAA,iBAAS,CAAC,MAAM,GAAG,SAAS,EAA5B,CAA4B;CACvD,CAAC"}
@@ -3,7 +3,8 @@ import { ParameterFunctionOperations } from '@loadmill/core/dist/parameters/para
3
3
  export declare class PostScriptRunner {
4
4
  run: (staticContext?: OuterStaticContext, dynamicContext?: SequenceExecutorParameters, userCode?: string) => SequenceExecutorParameters;
5
5
  private wrapUserCode;
6
- validateCircularDependency: (obj: SequenceExecutorParameters[]) => void;
6
+ validateCircularDependency: (obj: SequenceExecutorParameters) => void;
7
+ private removeAssertModule;
7
8
  }
8
9
  declare type OuterStaticContext = {
9
10
  staticContext: StaticContext;
@@ -20,6 +20,7 @@ exports.PostScriptRunner = void 0;
20
20
  var assert_1 = require("assert");
21
21
  var ast_walker_1 = require("./ast-walker");
22
22
  var vm2_virtual_machine_1 = require("./virtual-machine/vm2-virtual-machine");
23
+ var console_log_1 = require("./console-log");
23
24
  var PostScriptRunner = /** @class */ (function () {
24
25
  function PostScriptRunner() {
25
26
  var _this = this;
@@ -33,14 +34,17 @@ var PostScriptRunner = /** @class */ (function () {
33
34
  if (userCode === void 0) { userCode = ''; }
34
35
  var newVariables = new ast_walker_1.ASTWalker(userCode).detectDeclarations(Object.keys(staticContext));
35
36
  var wrappedUserCode = _this.wrapUserCode(dynamicContext, userCode, newVariables);
37
+ var stdout = [];
38
+ console_log_1.myConsole.setStdout(stdout);
36
39
  var vm = new vm2_virtual_machine_1.VM2VirtualMachine();
37
40
  vm.create({
38
- globalObject: __assign({ assert: assert_1.strict }, dynamicContext),
41
+ globalObject: __assign(__assign({ assert: assert_1.strict }, dynamicContext), { console: console_log_1.myConsole }),
39
42
  staticObject: staticContext,
40
43
  });
41
44
  var modifiedDynamicContext = vm.run(wrappedUserCode);
42
45
  _this.validateCircularDependency(modifiedDynamicContext);
43
- return modifiedDynamicContext;
46
+ _this.removeAssertModule(modifiedDynamicContext);
47
+ return { result: modifiedDynamicContext, stdout: console_log_1.myConsole.stdout };
44
48
  }
45
49
  });
46
50
  Object.defineProperty(this, "wrapUserCode", {
@@ -51,8 +55,8 @@ var PostScriptRunner = /** @class */ (function () {
51
55
  if (dynamicContext === void 0) { dynamicContext = {}; }
52
56
  if (userCode === void 0) { userCode = ''; }
53
57
  if (newVariables === void 0) { newVariables = []; }
54
- var prefix = "\n Buffer = {};\n global = { assert: global.assert };\n const $ = staticContext.$;\n const __ = staticContext.__;\n ";
55
- var suffix = "\n exports = {\n " + __spreadArray(__spreadArray([], Object.keys(dynamicContext)), newVariables).join() + "\n };\n ";
58
+ var prefix = "\n Buffer = {};\n global = { assert: global.assert, console: global.console };\n const $ = staticContext.$;\n const __ = staticContext.__;\n ";
59
+ var suffix = "\n exports = {\n " + __spreadArray(__spreadArray([], Object.keys(dynamicContext)), newVariables).join() + "\n };\n ";
56
60
  return prefix + userCode + suffix;
57
61
  }
58
62
  });
@@ -81,6 +85,19 @@ var PostScriptRunner = /** @class */ (function () {
81
85
  }
82
86
  });
83
87
  }
88
+ Object.defineProperty(PostScriptRunner.prototype, "removeAssertModule", {
89
+ enumerable: false,
90
+ configurable: true,
91
+ writable: true,
92
+ value: function (context) {
93
+ Object.keys(context).forEach(function (key) {
94
+ var _a, _b;
95
+ if (((_b = (_a = context[key]) === null || _a === void 0 ? void 0 : _a.assert) === null || _b === void 0 ? void 0 : _b.name) === 'strict') {
96
+ context[key] = {};
97
+ }
98
+ });
99
+ }
100
+ });
84
101
  return PostScriptRunner;
85
102
  }());
86
103
  exports.PostScriptRunner = PostScriptRunner;
@@ -1 +1 @@
1
- {"version":3,"file":"post-script-executor.js","sourceRoot":"","sources":["../../src/post-script/post-script-executor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,iCAA0C;AAG1C,2CAAyC;AACzC,6EAA0E;AAE1E;IAAA;QAAA,iBAiEC;QAhEC;;;;mBAAa,UACX,aAAwE,EACxE,cAA+C,EAC/C,QAAqB;gBAFrB,8BAAA,EAAA,kBAAsC,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;gBACxE,+BAAA,EAAA,mBAA+C;gBAC/C,yBAAA,EAAA,aAAqB;gBAErB,IAAM,YAAY,GAAG,IAAI,sBAAS,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC5F,IAAM,eAAe,GAAG,KAAI,CAAC,YAAY,CAAC,cAAc,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;gBAClF,IAAM,EAAE,GAAG,IAAI,uCAAiB,EAAE,CAAC;gBACnC,EAAE,CAAC,MAAM,CAAC;oBACR,YAAY,aAAI,MAAM,iBAAA,IAAK,cAAc,CAAE;oBAC3C,YAAY,EAAE,aAAa;iBAC5B,CAAC,CAAC;gBAEH,IAAM,sBAAsB,GAAG,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBACvD,KAAI,CAAC,0BAA0B,CAAC,sBAAsB,CAAC,CAAC;gBACxD,OAAO,sBAAsB,CAAC;YAChC,CAAC;WAAC;QAEF;;;;mBAAuB,UACrB,cAA+C,EAC/C,QAAqB,EACrB,YAA2B;gBAF3B,+BAAA,EAAA,mBAA+C;gBAC/C,yBAAA,EAAA,aAAqB;gBACrB,6BAAA,EAAA,iBAA2B;gBAE3B,IAAM,MAAM,GACZ,6IAKC,CAAC;gBAEF,IAAM,MAAM,GACZ,gCAEI,gCAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAK,YAAY,EAAE,IAAI,EAAE,qBAE3D,CAAC;gBAEF,OAAO,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;YACpC,CAAC;WAAA;QAED;;;;mBAA6B,UAAC,GAAiC;gBAC7D,SAAS,aAAa,CAAE,QAAgB;oBACtC,OAAO,IAAI,SAAS,CAAC,yDAAuD,QAAU,CAAC,CAAC;gBAC1F,CAAC;gBAED,YAAY,CAAC,GAAG,CAAC,CAAC;gBAElB,SAAS,YAAY,CACnB,GAA+B,EAC/B,KAA0D;oBAA1D,sBAAA,EAAA,YAAiD,OAAO,EAAE;oBAE1D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE;wBAC3C,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBACf,KAAK,IAAM,GAAG,IAAI,GAAG,EAAE;4BACrB,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;gCACvB,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;6BAC1B;4BACD,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;yBAC/B;wBACD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;qBACnB;gBACH,CAAC;YACH,CAAC;WAAC;IACJ,CAAC;IAAD,uBAAC;AAAD,CAAC,AAjED,IAiEC;AAjEY,4CAAgB"}
1
+ {"version":3,"file":"post-script-executor.js","sourceRoot":"","sources":["../../src/post-script/post-script-executor.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,5 @@ export declare class VM2VirtualMachine implements VirtualMachine {
8
8
  makeStatic(obj?: object): void;
9
9
  deepFreeze: (obj: object) => any;
10
10
  setGlobals: (globalObject?: SequenceExecutorParameters) => void;
11
- run(code: string): SequenceExecutorParameters[];
11
+ run(code: string): SequenceExecutorParameters;
12
12
  }
@@ -29,6 +29,7 @@ export interface ResolvedRequest {
29
29
  headers: LoadmillHeaders[];
30
30
  };
31
31
  postParameters?: Parameters[];
32
+ stdout?: string[];
32
33
  unexpectedError?: {
33
34
  stack: string;
34
35
  message: string;
package/dist/sequence.js CHANGED
@@ -766,6 +766,7 @@ var SequenceExecutor = /** @class */ (function () {
766
766
  setTCPReuse(request, this.keepaliveHTTPAgent, this.keepaliveHTTPSAgent);
767
767
  }
768
768
  request.timeout(requestConf.timeout);
769
+ requestConf.noRedirects && request.redirects(0);
769
770
  var auth = requestConf.auth;
770
771
  if (auth != null && request._header['authorization'] == null) {
771
772
  request.auth(auth.user || '', auth.password || '');
@@ -999,7 +1000,7 @@ var SequenceExecutor = /** @class */ (function () {
999
1000
  // modifies parameters:
1000
1001
  _a.sent();
1001
1002
  if (!envUtils.isBrowser()) {
1002
- this.handlePostScript(requestConf, res);
1003
+ this.handlePostScript(requestConf, res, reqIndex);
1003
1004
  }
1004
1005
  this.setPostParameters(reqIndex);
1005
1006
  assertionResults = this.handleAssertions(requestConf) || [];
@@ -1141,14 +1142,17 @@ var SequenceExecutor = /** @class */ (function () {
1141
1142
  enumerable: false,
1142
1143
  configurable: true,
1143
1144
  writable: true,
1144
- value: function (_a, _b) {
1145
+ value: function (_a, _b, reqIndex) {
1145
1146
  var postScript = _a.postScript;
1146
1147
  var _c = _b.text, text = _c === void 0 ? '' : _c;
1147
1148
  if (postScript) {
1148
1149
  test_run_event_emitter_1.testRunEventsEmitter.postScript.started();
1149
1150
  try {
1150
- var result = this.runPostScript(postScript, text);
1151
+ var _d = this.runPostScript(postScript, text), result = _d.result, stdout = _d.stdout;
1151
1152
  Object.assign(this.parameters, result);
1153
+ if (!isEmpty_1.default(stdout)) {
1154
+ this.resolvedRequests[reqIndex].stdout = stdout;
1155
+ }
1152
1156
  }
1153
1157
  catch (e) {
1154
1158
  var message = ['Post Script', e.name + ':', e.message].join(' ');
@@ -1 +1 @@
1
- {"version":3,"file":"sequence.js","sourceRoot":"","sources":["../src/sequence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sequence.js","sourceRoot":"","sources":["../src/sequence.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loadmill/executer",
3
- "version": "0.1.48",
3
+ "version": "0.1.51",
4
4
  "description": "Loadmill executer library",
5
5
  "scripts": {
6
6
  "ts-watch": "rimraf dist && tsc -w -p tsconfig.json",
@@ -14,8 +14,8 @@
14
14
  },
15
15
  "license": "Apache-2.0",
16
16
  "dependencies": {
17
- "@loadmill/core": "0.3.47",
18
- "@loadmill/universal": "0.3.42",
17
+ "@loadmill/core": "0.3.50",
18
+ "@loadmill/universal": "0.3.45",
19
19
  "@types/estree": "^0.0.50",
20
20
  "acorn": "^8.4.1",
21
21
  "agentkeepalive": "^4.1.3",
@@ -25,6 +25,6 @@
25
25
  "randomstring": "^1.1.5",
26
26
  "superagent": "^6.1.0",
27
27
  "urijs": "^1.18.1",
28
- "vm2": "^3.9.4"
28
+ "vm2": "^3.9.6"
29
29
  }
30
30
  }
package/src/mill-info.ts CHANGED
@@ -64,6 +64,11 @@ export interface MillInfo {
64
64
  */
65
65
  userId?: string;
66
66
 
67
+ /**
68
+ * The agent's owner's team.
69
+ */
70
+ teamId?: string;
71
+
67
72
  /**
68
73
  * Agent pool(if the user supplied)
69
74
  */
@@ -1,6 +1,6 @@
1
1
  export const millVersion = {
2
2
  major: 9,
3
- minor: 52,
3
+ minor: 55,
4
4
  patch: 0,
5
5
  };
6
6
 
@@ -0,0 +1,24 @@
1
+ export const LINE_LIMIT = 1000;
2
+ export const CONSOLE_LOG_LIMIT = 100;
3
+
4
+ const isPassedTheLimit = (line) => line.length > LINE_LIMIT;
5
+
6
+ export const myConsole = {
7
+ stdout: [] as string[],
8
+ log: (...args) => {
9
+ if (myConsole.stdout.length >= CONSOLE_LOG_LIMIT) {
10
+ return;
11
+ }
12
+ let line = '';
13
+ for (const item of args) {
14
+ line += typeof item === 'object' ? JSON.stringify(item, undefined, 2) : item;
15
+ if (isPassedTheLimit(line)) {
16
+ line = line.substring(0, LINE_LIMIT) + '\n...';
17
+ break;
18
+ }
19
+ line += ' ';
20
+ }
21
+ !!line && myConsole.stdout.push(line);
22
+ },
23
+ setStdout: (newStdout) => myConsole.stdout = newStdout,
24
+ };
@@ -3,6 +3,7 @@ import { SequenceExecutorParameters } from '@loadmill/core/dist/parameters';
3
3
  import { ParameterFunctionOperations } from '@loadmill/core/dist/parameters/parameter-functions/parameter-functions';
4
4
  import { ASTWalker } from './ast-walker';
5
5
  import { VM2VirtualMachine } from './virtual-machine/vm2-virtual-machine';
6
+ import { myConsole } from './console-log';
6
7
 
7
8
  export class PostScriptRunner {
8
9
  public run = (
@@ -12,15 +13,19 @@ export class PostScriptRunner {
12
13
  ): SequenceExecutorParameters => {
13
14
  const newVariables = new ASTWalker(userCode).detectDeclarations(Object.keys(staticContext));
14
15
  const wrappedUserCode = this.wrapUserCode(dynamicContext, userCode, newVariables);
16
+ const stdout = [];
17
+ myConsole.setStdout(stdout);
18
+
15
19
  const vm = new VM2VirtualMachine();
16
20
  vm.create({
17
- globalObject: { assert, ...dynamicContext },
21
+ globalObject: { assert, ...dynamicContext, console: myConsole },
18
22
  staticObject: staticContext,
19
23
  });
20
24
 
21
25
  const modifiedDynamicContext = vm.run(wrappedUserCode);
22
26
  this.validateCircularDependency(modifiedDynamicContext);
23
- return modifiedDynamicContext;
27
+ this.removeAssertModule(modifiedDynamicContext);
28
+ return { result: modifiedDynamicContext, stdout: myConsole.stdout };
24
29
  };
25
30
 
26
31
  private wrapUserCode = (
@@ -31,7 +36,7 @@ export class PostScriptRunner {
31
36
  const prefix =
32
37
  `
33
38
  Buffer = {};
34
- global = { assert: global.assert };
39
+ global = { assert: global.assert, console: global.console };
35
40
  const $ = staticContext.$;
36
41
  const __ = staticContext.__;
37
42
  `;
@@ -39,14 +44,14 @@ export class PostScriptRunner {
39
44
  const suffix =
40
45
  `
41
46
  exports = {
42
- ${[...Object.keys(dynamicContext), ...newVariables].join()}
47
+ ${[...Object.keys(dynamicContext), ...newVariables].join()}
43
48
  };
44
49
  `;
45
50
 
46
51
  return prefix + userCode + suffix;
47
52
  }
48
53
 
49
- validateCircularDependency = (obj: SequenceExecutorParameters[]) => {
54
+ validateCircularDependency = (obj: SequenceExecutorParameters) => {
50
55
  function circularError (propName: string) {
51
56
  return new TypeError(`Cyclic object value. Circular reference in property ${propName}`);
52
57
  }
@@ -69,6 +74,14 @@ export class PostScriptRunner {
69
74
  }
70
75
  }
71
76
  };
77
+
78
+ private removeAssertModule(context: SequenceExecutorParameters) {
79
+ Object.keys(context).forEach(key => {
80
+ if (context[key]?.assert?.name === 'strict') {
81
+ context[key] = {};
82
+ }
83
+ });
84
+ }
72
85
  }
73
86
  type OuterStaticContext = {
74
87
  staticContext: StaticContext;
@@ -39,7 +39,7 @@ export class VM2VirtualMachine implements VirtualMachine {
39
39
  this.engine.setGlobals(globalObject);
40
40
  }
41
41
 
42
- run(code: string): SequenceExecutorParameters[] {
42
+ run(code: string): SequenceExecutorParameters {
43
43
  return this.engine.run(code);
44
44
  }
45
45
  }
@@ -52,7 +52,7 @@ export interface ResolvedRequest {
52
52
  };
53
53
 
54
54
  postParameters?: Parameters[];
55
-
55
+ stdout?: string[];
56
56
  unexpectedError?: {
57
57
  stack: string;
58
58
  message: string;
package/src/sequence.ts CHANGED
@@ -122,7 +122,6 @@ export const sequence = {
122
122
  class SequenceExecutor {
123
123
  parameters: SequenceExecutorParameters;
124
124
  postScriptRunner: PostScriptRunner;
125
-
126
125
  avgResTime = 0;
127
126
  successfulHits = 0;
128
127
  lastStartedIndex = 0;
@@ -572,6 +571,7 @@ class SequenceExecutor {
572
571
  }
573
572
 
574
573
  request.timeout(requestConf.timeout);
574
+ requestConf.noRedirects && request.redirects(0);
575
575
 
576
576
  const auth = requestConf.auth;
577
577
 
@@ -878,7 +878,7 @@ class SequenceExecutor {
878
878
  await this.handleExtractions(requestConf, res);
879
879
 
880
880
  if (!envUtils.isBrowser()) {
881
- this.handlePostScript(requestConf, res);
881
+ this.handlePostScript(requestConf, res, reqIndex);
882
882
  }
883
883
 
884
884
  this.setPostParameters(reqIndex);
@@ -962,13 +962,16 @@ class SequenceExecutor {
962
962
  );
963
963
  }
964
964
 
965
- handlePostScript({ postScript }: LoadmillRequest, { text = '' }) {
965
+ handlePostScript({ postScript }: LoadmillRequest, { text = '' }, reqIndex) {
966
966
  if (postScript) {
967
967
  testRunEventsEmitter.postScript.started();
968
968
 
969
969
  try {
970
- const result = this.runPostScript(postScript, text);
970
+ const { result, stdout } = this.runPostScript(postScript, text);
971
971
  Object.assign(this.parameters, result);
972
+ if (!isEmpty(stdout)) {
973
+ this.resolvedRequests[reqIndex].stdout = stdout;
974
+ }
972
975
  } catch (e) {
973
976
  const message = ['Post Script', e.name + ':', e.message].join(' ');
974
977
  throw new RequestFailuresError(message);
@@ -0,0 +1,73 @@
1
+ import { strict as assert } from 'assert';
2
+ import { describe, it } from 'mocha';
3
+
4
+ import { myConsole, LINE_LIMIT, CONSOLE_LOG_LIMIT } from '../src/post-script/console-log';
5
+
6
+ describe('override console.log', () => {
7
+
8
+ it('Simple console.log', () => {
9
+ myConsole.setStdout([]);
10
+ myConsole.log(1);
11
+ assert.deepEqual(myConsole.stdout, ['1 ']);
12
+ myConsole.setStdout([]);
13
+ myConsole.log('a');
14
+ assert.deepEqual(myConsole.stdout, ['a ']);
15
+ });
16
+ it('Empty console.log', () => {
17
+ myConsole.setStdout([]);
18
+ myConsole.log();
19
+ assert.deepEqual(myConsole.stdout, []);
20
+ });
21
+ it('console.log with empty string', () => {
22
+ myConsole.setStdout([]);
23
+ myConsole.log('');
24
+ assert.deepEqual(myConsole.stdout, [' ']);
25
+ });
26
+ it('console.log of more than one element in one line', () => {
27
+ myConsole.setStdout([]);
28
+ myConsole.log(1,2,3,'a','b','c');
29
+ assert.deepEqual(myConsole.stdout, ['1 2 3 a b c ']);
30
+ });
31
+ it('console.log of an object', () => {
32
+ myConsole.setStdout([]);
33
+ const a = { 'A':1,'B':2 };
34
+ myConsole.log(a);
35
+ assert.deepEqual(myConsole.stdout, ['{\n "A": 1,\n "B": 2\n} ']);
36
+ });
37
+ it('console.log of a function', () => {
38
+ myConsole.setStdout([]);
39
+ const func = () => { };
40
+ myConsole.log(func);
41
+ assert.deepEqual(myConsole.stdout, ['function () { } ']);
42
+ });
43
+ it('console.log of an array', () => {
44
+ myConsole.setStdout([]);
45
+ const a = [1,2,3];
46
+ myConsole.log(a);
47
+ assert.deepEqual(myConsole.stdout, ['[\n 1,\n 2,\n 3\n] ']);
48
+ });
49
+ it('console.log of an array that contains objects', () => {
50
+ myConsole.setStdout([]);
51
+ const a = [1,2,3,{ 'A':1,'B':2 },{ 'C':3,'D':4 }];
52
+ myConsole.log(a);
53
+ assert.deepEqual(myConsole.stdout, ['[\n 1,\n 2,\n 3,\n {\n "A": 1,\n "B": 2\n },\n {\n "C": 3,\n "D": 4\n }\n] ']);
54
+ });
55
+ it('check the line limit', () => {
56
+ myConsole.setStdout([]);
57
+ const a = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
58
+ let b = '';
59
+ for (let i = 0; i<11; i++) {
60
+ b += a;
61
+ }
62
+ myConsole.log(b);
63
+ assert.deepEqual(myConsole.stdout, [b.substring(0, LINE_LIMIT) + '\n...']);
64
+ });
65
+ it('check the console.log limit', () => {
66
+ myConsole.setStdout([]);
67
+ const a = 123;
68
+ for (let i = 0; i<110; i++) {
69
+ myConsole.log(a);
70
+ }
71
+ assert.equal(myConsole.stdout.length, CONSOLE_LOG_LIMIT);
72
+ });
73
+ });
@@ -9,30 +9,30 @@ const runPostScript = new PostScriptRunner().run;
9
9
  suite('Post Script Executor', () => {
10
10
  describe('Empty user code', () => {
11
11
  it('should return empty object', () => {
12
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, { }, '');
12
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, { }, '');
13
13
  assert.deepStrictEqual(result, { });
14
14
  });
15
15
 
16
16
  it('should return empty object when static not empty', () => {
17
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, { }, '');
17
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, { }, '');
18
18
  assert.deepStrictEqual(result, { });
19
19
  });
20
20
 
21
21
  it('should return identical dynamic object', () => {
22
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, { key: 'value' }, '');
22
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, { key: 'value' }, '');
23
23
  assert.deepStrictEqual(result, { key: 'value' });
24
24
  });
25
25
 
26
26
  it('should return identical dynamic function', () => {
27
27
  const func = (a, b) => a + b;
28
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, { func }, '');
28
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, { func }, '');
29
29
  assert.deepStrictEqual(result, { func });
30
30
  assert.equal(result.func(1, 2), 3);
31
31
  });
32
32
 
33
33
  it('should return identical dynamic array', () => {
34
34
  const arr = [1, '2', null, {}, [], undefined];
35
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, { arr }, '');
35
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, { arr }, '');
36
36
  assert.deepStrictEqual(result, { arr });
37
37
  assert.equal(result.arr, arr);
38
38
  assert.deepStrictEqual(result.arr, [1, '2', null, {}, [], undefined]);
@@ -42,7 +42,7 @@ suite('Post Script Executor', () => {
42
42
  describe('Override dynamic data', () => {
43
43
  it('should override dynamic var with user code', () => {
44
44
  const dynamicVar = 'arnon';
45
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, { dynamicVar }, `
45
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, { dynamicVar }, `
46
46
  dynamicVar = 'yochai';
47
47
  `);
48
48
  assert.notDeepStrictEqual(result, { dynamicVar });
@@ -51,7 +51,7 @@ suite('Post Script Executor', () => {
51
51
 
52
52
  it('should override dynamic function with user code', () => {
53
53
  const dynamicFunc = (a, b) => a + b;
54
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, { dynamicFunc }, `
54
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, { dynamicFunc }, `
55
55
  dynamicFunc = (a, b) => a - b;
56
56
  `);
57
57
  assert.notDeepStrictEqual(result, { dynamicFunc });
@@ -61,24 +61,24 @@ suite('Post Script Executor', () => {
61
61
 
62
62
  describe('simple variable declaration', () => {
63
63
  it('should detect var declaration', () => {
64
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, 'var myVar = 123;');
64
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, 'var myVar = 123;');
65
65
  assert.equal(result.myVar, 123);
66
66
  });
67
67
 
68
68
  it('should detect let declaration', () => {
69
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, 'let myVar = 123;');
69
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, 'let myVar = 123;');
70
70
  assert.equal(result.myVar, 123);
71
71
  });
72
72
 
73
73
  it('should detect const declaration', () => {
74
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, 'const myVar = 123;');
74
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, 'const myVar = 123;');
75
75
  assert.equal(result.myVar, 123);
76
76
  });
77
77
  });
78
78
 
79
79
  describe('multiple declarations in one line', () => {
80
80
  it('should detect 2 declarations in one line', () => {
81
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {},
81
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {},
82
82
  'let username = \'ido\', password = \'solarwinds123\';'
83
83
  );
84
84
 
@@ -88,7 +88,7 @@ suite('Post Script Executor', () => {
88
88
  });
89
89
 
90
90
  describe('implicit declaration', () => {
91
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {},
91
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {},
92
92
  'implicitDeclaration = \'with not let, const or var\';'
93
93
  );
94
94
 
@@ -98,7 +98,7 @@ suite('Post Script Executor', () => {
98
98
  });
99
99
 
100
100
  describe('implicit & multiple declarations in one line', () => {
101
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {},
101
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {},
102
102
  'p1 = 1, p2 = 2;'
103
103
  );
104
104
 
@@ -110,7 +110,7 @@ suite('Post Script Executor', () => {
110
110
 
111
111
  describe('simple function declarations', () => {
112
112
  it('should detect function declaration', () => {
113
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {},
113
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {},
114
114
  `function add(x,y) {
115
115
  return x + y;
116
116
  }`
@@ -119,7 +119,7 @@ suite('Post Script Executor', () => {
119
119
  });
120
120
 
121
121
  it('should detect pointer to function', () => {
122
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {},
122
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {},
123
123
  `const add = function(x,y) {
124
124
  return x + y;
125
125
  }`
@@ -129,7 +129,7 @@ suite('Post Script Executor', () => {
129
129
  });
130
130
 
131
131
  describe('arrow function declarations', () => {
132
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {},
132
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {},
133
133
  `const add = (x,y) => {
134
134
  return x + y;
135
135
  }`
@@ -202,15 +202,15 @@ suite('Post Script Executor', () => {
202
202
  };
203
203
 
204
204
  it('should read values from static data', () => {
205
- const res = runPostScript({ staticContext: { $, __: {} } }, {},
205
+ const { result } = runPostScript({ staticContext: { $, __: {} } }, {},
206
206
  `
207
207
  resBodyCopy = $;
208
208
  a = $.a;
209
209
  b = $.b;
210
210
  `);
211
- assert.deepStrictEqual(res.a, 1);
212
- assert.deepStrictEqual(res.b, 2);
213
- assert.deepStrictEqual(res.resBodyCopy, { a: 1, b: 2 });
211
+ assert.deepStrictEqual(result.a, 1);
212
+ assert.deepStrictEqual(result.b, 2);
213
+ assert.deepStrictEqual(result.resBodyCopy, { a: 1, b: 2 });
214
214
  });
215
215
  });
216
216
 
@@ -300,104 +300,105 @@ suite('Post Script Executor', () => {
300
300
  });
301
301
  });
302
302
 
303
- it('should throw if referencing vm global object', () => {
304
- assert.throws(() => runPostScript({ staticContext: { $: {}, __: {} } }, {}, 'c=global'), {
305
- name: 'TypeError',
306
- message: 'Cyclic object value. Circular reference in property c'
307
- });
308
- });
309
-
310
303
  it('should not throw if nested object exists more than once but not cyclic ', () => {
311
304
  const obj = { };
312
305
  const containsObj = { obj: obj };
313
306
  const $ = { containsObj, obj };
314
307
  assert.doesNotThrow(() => JSON.stringify($));
315
- assert.doesNotThrow(() => runPostScript({ staticContext: { $: $, __: {} } }, {}, `
316
- res = $;
317
- `));
308
+ assert.doesNotThrow(() => runPostScript({ staticContext: { $: $, __: {} } }, {}, 'res = $;'));
309
+ });
310
+ });
311
+
312
+ describe('global object', () => {
313
+ it('should return an empty object for a variable referencing the global object', () => {
314
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, 'c=global');
315
+ assert.deepEqual(
316
+ result.c,
317
+ {}
318
+ );
318
319
  });
319
320
  });
320
321
 
321
322
  describe('destructuring', () => {
322
323
  describe('object', () => {
323
324
  it('should detect declaration of root property', () => {
324
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, 'const { x } = { x: 1 };');
325
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, 'const { x } = { x: 1 };');
325
326
  assert.equal(result.x, 1);
326
327
  });
327
328
 
328
329
  it('should detect declaration of 2-level nested property', () => {
329
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
330
- let { x: { y } } = { x: { y: 1 } };
331
- `);
330
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
331
+ let { x: { y } } = { x: { y: 1 } };
332
+ `);
332
333
  assert.equal(result.y, 1);
333
334
  });
334
335
 
335
336
  it('should detect declaration of 3-level nested property', () => {
336
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
337
- let { x: { y: { z } } } = { x: { y: { z: 1 } } };
338
- `);
337
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
338
+ let { x: { y: { z } } } = { x: { y: { z: 1 } } };
339
+ `);
339
340
  assert.equal(result.z, 1);
340
341
  });
341
342
 
342
343
  it('should detect declaration of 4-level nested property', () => {
343
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
344
- let { x: { y: { z: { w } } } } = { x: { y: { z: { w: 1 } } } };
345
- `);
344
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
345
+ let { x: { y: { z: { w } } } } = { x: { y: { z: { w: 1 } } } };
346
+ `);
346
347
  assert.equal(result.w, 1);
347
348
  });
348
349
 
349
350
  it('should detect declaration of two (2) root properties', () => {
350
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
351
- let { x, y } = { x: 1, y: 2 };
352
- `);
351
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
352
+ let { x, y } = { x: 1, y: 2 };
353
+ `);
353
354
  assert.equal(result.x, 1);
354
355
  assert.equal(result.y, 2);
355
356
  });
356
357
 
357
358
  it('should detect declaration of a root property and a nested property', () => {
358
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
359
- let { x, y: { z } } = { x: 1, y: { z: 2 } };
360
- `);
359
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
360
+ let { x, y: { z } } = { x: 1, y: { z: 2 } };
361
+ `);
361
362
  assert.equal(result.x, 1);
362
363
  assert.equal(result.z, 2);
363
364
  });
364
365
 
365
366
  it('should detect rest element object declaration', () => {
366
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
367
- const {x, ...theRest } = { x: 1, y: 2, z: 3 };
368
- `);
367
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
368
+ const {x, ...theRest } = { x: 1, y: 2, z: 3 };
369
+ `);
369
370
  assert.equal(result.x, 1);
370
371
  assert.equal(result.theRest.y, 2);
371
372
  assert.equal(result.theRest.z, 3);
372
373
  });
373
374
 
374
375
  it('should detect implicit declaration of root property ', () => {
375
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '({ x } = { x: 1 });');
376
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '({ x } = { x: 1 });');
376
377
  assert.equal(result.x, 1);
377
378
  });
378
379
 
379
380
  it('should detect implicit declaration of 2-level nested property ', () => {
380
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '({ x: { y } } = { x: { y: 1 } });');
381
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '({ x: { y } } = { x: { y: 1 } });');
381
382
  assert.equal(result.y, 1);
382
383
  });
383
384
 
384
385
  it('should detect implicit declaration of 3-level nested property ', () => {
385
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '({ x: { y: { z } } } = { x: { y: { z: 1 } } });');
386
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '({ x: { y: { z } } } = { x: { y: { z: 1 } } });');
386
387
  assert.equal(result.z, 1);
387
388
  });
388
389
 
389
390
  it('should detect implicit declaration of two (2) root properties', () => {
390
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
391
- ({ x, y } = { x: 1, y: 2 });
392
- `);
391
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
392
+ ({ x, y } = { x: 1, y: 2 });
393
+ `);
393
394
  assert.equal(result.x, 1);
394
395
  assert.equal(result.y, 2);
395
396
  });
396
397
 
397
398
  it('should detect implicit declaration of a root property and a nested property', () => {
398
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
399
- ({ x, y: { z } } = { x: 1, y: { z: 2 } });
400
- `);
399
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
400
+ ({ x, y: { z } } = { x: 1, y: { z: 2 } });
401
+ `);
401
402
  assert.equal(result.x, 1);
402
403
  assert.equal(result.z, 2);
403
404
  });
@@ -405,50 +406,50 @@ suite('Post Script Executor', () => {
405
406
 
406
407
  describe('array', () => {
407
408
  it('should detect destructured array value', () => {
408
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
409
- const [ x ] = [ 1 ];
410
- `);
409
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
410
+ const [ x ] = [ 1 ];
411
+ `);
411
412
  assert.equal(result.x, 1);
412
413
  });
413
414
 
414
415
  it('should detect 2 destructured array values', () => {
415
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
416
- const [ x, y ] = [ 1, 2 ];
417
- `);
416
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
417
+ const [ x, y ] = [ 1, 2 ];
418
+ `);
418
419
  assert.equal(result.x, 1);
419
420
  assert.equal(result.y, 2);
420
421
  });
421
422
 
422
423
  it('should detect spread array values', () => {
423
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, 'let [...elements] = [1, 2];');
424
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, 'let [...elements] = [1, 2];');
424
425
  assert.equal(result.elements.length, 2);
425
426
  });
426
427
 
427
428
  it('should detect "regular" & spread array values', () => {
428
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, 'let [a, b, ...rest] = [10, 20, 30, 40, 50];');
429
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, 'let [a, b, ...rest] = [10, 20, 30, 40, 50];');
429
430
  assert.equal(result.a,10);
430
431
  assert.equal(result.b,20);
431
432
  assert.equal(result.rest.length,3);
432
433
  });
433
434
 
434
435
  it('should detect implicit declaration of array destructuring ', () => {
435
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '([ x ] = [ 1 ]);');
436
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '([ x ] = [ 1 ]);');
436
437
  assert.equal(result.x, 1);
437
438
  });
438
439
 
439
440
  it('should detect 2 implicit declarations of array destructuring ', () => {
440
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '([ x, y ] = [ 1, 2 ]);');
441
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '([ x, y ] = [ 1, 2 ]);');
441
442
  assert.equal(result.x, 1);
442
443
  assert.equal(result.y, 2);
443
444
  });
444
445
 
445
446
  it('should detect implicit spread array values', () => {
446
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '[...elements] = [1, 2];');
447
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '[...elements] = [1, 2];');
447
448
  assert.equal(result.elements.length, 2);
448
449
  });
449
450
 
450
451
  it('should detect implicit "regular" & spread array values', () => {
451
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, 'let [a, b, ...rest] = [10, 20, 30, 40, 50];');
452
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, 'let [a, b, ...rest] = [10, 20, 30, 40, 50];');
452
453
  assert.equal(result.a,10);
453
454
  assert.equal(result.b,20);
454
455
  assert.equal(result.rest.length,3);
@@ -457,41 +458,41 @@ suite('Post Script Executor', () => {
457
458
 
458
459
  describe('array of objects', () => {
459
460
  it('should detect destructured object from array', () => {
460
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
461
- const [ { x } ] = [ { x: 1 } ];
462
- `);
461
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
462
+ const [ { x } ] = [ { x: 1 } ];
463
+ `);
463
464
  assert.equal(result.x, 1);
464
465
  });
465
466
  it('should detect nested destructured object from array', () => {
466
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
467
- const [ { x: { y } } ] = [ { x: { y: 1 } } ];
468
- `);
467
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
468
+ const [ { x: { y } } ] = [ { x: { y: 1 } } ];
469
+ `);
469
470
  assert.equal(result.y, 1);
470
471
  });
471
472
  it('should detect destructuring of 3-level nested property from array', () => {
472
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
473
- let [{ x: { y: { z } } }] = [{ x: { y: { z: 1 } } }];
474
- `);
473
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
474
+ let [{ x: { y: { z } } }] = [{ x: { y: { z: 1 } } }];
475
+ `);
475
476
  assert.equal(result.z, 1);
476
477
  });
477
478
  it('should detect destructuring of two (2) root properties from array', () => {
478
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
479
- let [{ x, y }] = [{ x: 1, y: 2 }];
480
- `);
479
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
480
+ let [{ x, y }] = [{ x: 1, y: 2 }];
481
+ `);
481
482
  assert.equal(result.x, 1);
482
483
  assert.equal(result.y, 2);
483
484
  });
484
485
  it('should detect destructuring of a root property and a nested property from array', () => {
485
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
486
- let [{ x, y: { z } }] = [{ x: 1, y: { z: 2 } }];
487
- `);
486
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
487
+ let [{ x, y: { z } }] = [{ x: 1, y: { z: 2 } }];
488
+ `);
488
489
  assert.equal(result.x, 1);
489
490
  assert.equal(result.z, 2);
490
491
  });
491
492
  it('should detect destructuring of mixed type elements of array', () => {
492
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
493
- let [{ x }, y, z, w, q, t] = [{ x: 1 }, 2, 'a', false, undefined, null];
494
- `);
493
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
494
+ let [{ x }, y, z, w, q, t] = [{ x: 1 }, 2, 'a', false, undefined, null];
495
+ `);
495
496
  assert.equal(result.x, 1);
496
497
  assert.equal(result.y, 2);
497
498
  assert.equal(result.z, 'a');
@@ -503,23 +504,23 @@ suite('Post Script Executor', () => {
503
504
 
504
505
  describe('object with array value', () => {
505
506
  it('should detect an array value destructured from object', () => {
506
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
507
- const { x } = { x: [1,2] };
508
- `);
507
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
508
+ const { x } = { x: [1,2] };
509
+ `);
509
510
  assert.ok(Array.isArray(result.x));
510
511
  assert.equal(result.x[0], 1);
511
512
  assert.equal(result.x[1], 2);
512
513
  });
513
514
  it('should detect an object destructured from array destructured from object', () => {
514
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
515
- const { x: [ { y } ] } = { x: [ { y: 1 } ] };
516
- `);
515
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
516
+ const { x: [ { y } ] } = { x: [ { y: 1 } ] };
517
+ `);
517
518
  assert.equal(result.y, 1);
518
519
  });
519
520
  it('should detect a deep nested destructuring mix of obj and arr', () => {
520
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
521
- const { a: [ { b: [ { c } ], } ], } = { a: [ { b: [ { c: ['unacceptable'] } ] } ] }
522
- `);
521
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
522
+ const { a: [ { b: [ { c } ], } ], } = { a: [ { b: [ { c: ['unacceptable'] } ] } ] }
523
+ `);
523
524
  assert.ok(Array.isArray(result.c));
524
525
  assert.equal(result.c[0], 'unacceptable');
525
526
  assert.equal(result.c.length, 1);
@@ -528,45 +529,55 @@ suite('Post Script Executor', () => {
528
529
 
529
530
  describe('implicit object with array value', () => {
530
531
  it('should detect an implicit array value destructured from object', () => {
531
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
532
- ({ x } = { x: [1,2] });
533
- `);
532
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
533
+ ({ x } = { x: [1,2] });
534
+ `);
534
535
  assert.ok(Array.isArray(result.x));
535
536
  assert.equal(result.x[0], 1);
536
537
  assert.equal(result.x[1], 2);
537
538
  });
538
539
  it('should detect an object destructured from array destructured from object', () => {
539
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
540
- ({ x: [ { y } ] } = { x: [ { y: 1 } ] });
541
- `);
540
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
541
+ ({ x: [ { y } ] } = { x: [ { y: 1 } ] });
542
+ `);
542
543
  assert.equal(result.y, 1);
543
544
  });
544
545
  it('should detect a deep nested destructuring mix of obj and arr', () => {
545
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
546
- ({ a: [ { b: [ { c } ], } ], } = { a: [ { b: [ { c: ['unacceptable'] } ] } ] });
547
- `);
546
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
547
+ ({ a: [ { b: [ { c } ], } ], } = { a: [ { b: [ { c: ['unacceptable'] } ] } ] });
548
+ `);
548
549
  assert.ok(Array.isArray(result.c));
549
550
  assert.equal(result.c[0], 'unacceptable');
550
551
  assert.equal(result.c.length, 1);
551
552
  });
553
+ it('console.log in post script', () => {
554
+ const { stdout } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
555
+ const a = { "A":1,"B":2,"C":3 };
556
+ const b = 'print me';
557
+ const c = [ 1,2,3 ];
558
+ console.log(a);
559
+ console.log(b,c);
560
+ `);
561
+ assert.deepEqual(stdout , ['{\n "A": 1,\n "B": 2,\n "C": 3\n} ','print me [\n 1,\n 2,\n 3\n] ']);
562
+ });
552
563
  });
553
564
 
554
565
  describe('array of arrays', () => {
555
566
  it('should find destructured array element of array', () => {
556
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
567
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
557
568
  const [ [ x ] ] = [ [ 1 ] ];
558
569
  `);
559
570
  assert.equal(result.x, 1);
560
571
  });
561
572
  it('should find destructured array elements of array', () => {
562
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
573
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
563
574
  const [ [ x, y ] ] = [ [ 1, 2 ] ];
564
575
  `);
565
576
  assert.equal(result.x, 1);
566
577
  assert.equal(result.y, 2);
567
578
  });
568
579
  it('should find destructured array element of array inside an object', () => {
569
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
580
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
570
581
  const { x: [ [ y ] ] } = { x: [ [ 1 ] ] };
571
582
  `);
572
583
  assert.equal(result.y, 1);
@@ -587,7 +598,7 @@ suite('Post Script Executor', () => {
587
598
 
588
599
  const staticContext = { $, __: parameterFunctionOperations };
589
600
  it('should have access to both built-in function and response body', () => {
590
- const result = runPostScript( { staticContext }, {}, `
601
+ const { result } = runPostScript( { staticContext }, {}, `
591
602
  const x = __.usd();
592
603
  const res = $;
593
604
  `);