@loadmill/executer 0.1.49 → 0.1.52

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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wEASmD;AAGnD,qEAA+C;AAC/C,gDAA8B;AAG9B;IAOE,4BAAoB,iBAA6B,EAAU,GAAQ,EAAU,gBAAkC;;;;;mBAA3F;;;;;;mBAAuC;;;;;;mBAAkB;;QAN7E;;;;;WAAiC;QACjC;;;;;WAAmC;QACnC;;;;;WAAqC;QACrC;;;;;WAAoC;QACpC;;;;;WAAyC;QAGvC,IAAI,CAAC,eAAe,GAAG,IAAI,4BAAe,CAAC,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACxE,IAAI,CAAC,mBAAmB,GAAG,IAAI,gCAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC7E,CAAC;;;;;eAED,UAAc,UAAsB;;;;;oBAGlC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;wBAClC,KAAK,GAAG,UAAU,CAAC;wBACnB,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC;qBACtC;yBAAM;wBACG,MAAM,GAAuC,UAAU,OAAjD,EAAE,WAAqC,UAAU,OAAzC,EAAE,QAAQ,GAAqB,UAAU,SAA/B,EAAE,GAAG,GAAgB,UAAU,IAA1B,EAAE,KAAK,GAAS,UAAU,MAAnB,EAAE,EAAE,GAAK,UAAU,GAAf,CAAgB;wBAEhE,IAAI,MAAM,IAAI,IAAI,EAAE;4BAClB,KAAK,GAAG,MAAM,CAAC;4BACf,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;yBAClC;6BAAM,IAAI,QAAM,IAAI,IAAI,EAAE;4BACzB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gCAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,6BAAgB,CAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,EACb,IAAI,CAAC,iBAAiB,CACvB,CAAC;6BACH;4BAED,KAAK;gCACH,OAAO,QAAM,KAAK,QAAQ;oCACxB,CAAC,CAAC,QAAM;oCACR,CAAC,CAAC,CAAC,QAAM,CAAC,KAAK,EAAE,GAAG,EAAE,QAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;4BAE7C,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC;yBACnC;6BAAM,IAAI,QAAQ,IAAI,IAAI,EAAE;4BAC3B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;gCAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,8BAAiB,CAC5C,IAAI,CAAC,GAAG,CAAC,IAAI,EACb,IAAI,CAAC,iBAAiB,CACvB,CAAC;6BACH;4BAED,KAAK,GAAG,QAAQ,CAAC;4BACjB,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC;yBACpC;6BAAM,IAAI,GAAG,IAAI,IAAI,EAAE;4BACtB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gCACtB,SAAS,GAAW,EAAE,CAAC;gCAC3B,IAAI;oCACF,SAAS,GAAG,IAAI,CAAC,SAAS,CACxB,eAAS,CAAC,IAAI,CAAC,eAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAC/C,CAAC;iCACH;gCAAC,OAAO,CAAC,EAAE;oCACV,aAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,+EAA+E;iCAC9F;gCACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,8BAAiB,CAC3C,SAAS,EACT,IAAI,CAAC,iBAAiB,CACvB,CAAC;6BACH;4BAED,KAAK,GAAG,GAAG,CAAC;4BACZ,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC;yBACnC;wBAED,IAAI,KAAK,IAAI,IAAI,EAAE;4BACjB,SAAS,GAAG,IAAI,2BAAc,CAC5B,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAM,CAAC,CAAC,CAAC,CAAC,cAAM,OAAA,KAAI,CAAC,GAAG,CAAC,IAAI,EAAb,CAAa,EACzD,IAAI,CAAC,iBAAiB,CACvB,CAAC;4BAEF,KAAK,GAAG,KAAK,CAAC;yBACf;wBAED,IAAI,EAAE,IAAI,IAAI,EAAE;4BACd,SAAS,GAAG,IAAI,wBAAW,CACzB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,iBAAiB,CACvB,CAAC;4BAEF,KAAK,GAAG,EAAE,CAAC;yBACZ;qBACF;oBAED,sBAAO,cAAM,OAAA,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAxB,CAAwB,EAAC;;;SACvC;;IACH,yBAAC;AAAD,CAAC,AAzFD,IAyFC;AAzFY,gDAAkB;AA2F/B,SAAS,IAAI,CAAC,SAAoB,EAAE,KAAK;IACvC,OAAO,cAAM,OAAA,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAxB,CAAwB,CAAC;AACxC,CAAC"}
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: 53,
6
+ minor: 56,
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"}
@@ -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,15 +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
46
  _this.removeAssertModule(modifiedDynamicContext);
44
- return modifiedDynamicContext;
47
+ return { result: modifiedDynamicContext, stdout: console_log_1.myConsole.stdout };
45
48
  }
46
49
  });
47
50
  Object.defineProperty(this, "wrapUserCode", {
@@ -52,8 +55,8 @@ var PostScriptRunner = /** @class */ (function () {
52
55
  if (dynamicContext === void 0) { dynamicContext = {}; }
53
56
  if (userCode === void 0) { userCode = ''; }
54
57
  if (newVariables === void 0) { newVariables = []; }
55
- var prefix = "\n Buffer = {};\n global = { assert: global.assert };\n const $ = staticContext.$;\n const __ = staticContext.__;\n ";
56
- 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 ";
57
60
  return prefix + userCode + suffix;
58
61
  }
59
62
  });
@@ -1 +1 @@
1
- {"version":3,"file":"post-script-executor.js","sourceRoot":"","sources":["../../src/post-script/post-script-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post-script-executor.js","sourceRoot":"","sources":["../../src/post-script/post-script-executor.ts"],"names":[],"mappings":"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"}
@@ -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;
@@ -5,7 +5,7 @@ import { Parameters } from '@loadmill/core/dist/parameters';
5
5
  import { LoadmillRequest } from '@loadmill/core/dist/request';
6
6
  export declare const reqIdParamName = "loadmill-request-id";
7
7
  export declare const sequence: {
8
- execute(httpAgent: any, requests: LoadmillRequest[], parameters: Parameters[], domainsWhiteList: string[]): Promise<{
8
+ execute(httpAgent: any, requests: LoadmillRequest[], parameters: Parameters[], domainsWhiteList: string[], increaseResSize?: boolean | undefined): Promise<{
9
9
  failures: Failures;
10
10
  avgResTime: number;
11
11
  requestStats: PerRequestStats;
package/dist/sequence.js CHANGED
@@ -101,7 +101,7 @@ var errors_1 = require("@loadmill/universal/dist/errors");
101
101
  var parameters_1 = require("@loadmill/core/dist/parameters");
102
102
  var conf_1 = require("@loadmill/core/dist/conf");
103
103
  var DEFAULT_CACHE_CONTROL = conf_1.confDefaults.DEFAULT_CACHE_CONTROL, DEFAULT_REQUEST_DELAY = conf_1.confDefaults.DEFAULT_REQUEST_DELAY;
104
- var MAX_RESPONSE_BYTES = conf_1.confExtrema.MAX_RESPONSE_BYTES, MAX_RESPONSE_COLLECT = conf_1.confExtrema.MAX_RESPONSE_COLLECT, MIN_REQUEST_DELAY = conf_1.confExtrema.MIN_REQUEST_DELAY, MAX_REQUEST_LOOPS_ITERATIONS = conf_1.confExtrema.MAX_REQUEST_LOOPS_ITERATIONS;
104
+ var MAX_RESPONSE_BYTES = conf_1.confExtrema.MAX_RESPONSE_BYTES, MAX_RESPONSE_COLLECT = conf_1.confExtrema.MAX_RESPONSE_COLLECT, DOUBLE_MAX_RESPONSE_COLLECT = conf_1.confExtrema.DOUBLE_MAX_RESPONSE_COLLECT, MIN_REQUEST_DELAY = conf_1.confExtrema.MIN_REQUEST_DELAY, MAX_REQUEST_LOOPS_ITERATIONS = conf_1.confExtrema.MAX_REQUEST_LOOPS_ITERATIONS;
105
105
  var request_1 = require("@loadmill/core/dist/request");
106
106
  var test_run_event_emitter_1 = require("./test-run-event-emitter");
107
107
  var ws_1 = require("./ws");
@@ -112,13 +112,13 @@ var SOCKET_TIMEOUT = request_1.DEFAULT_REQUEST_TIMEOUT + 5000; // deafult + some
112
112
  var isPerformance = typeof performance !== 'undefined';
113
113
  log_1.default.debug('isPerformance =', isPerformance);
114
114
  exports.sequence = {
115
- execute: function (httpAgent, requests, parameters, domainsWhiteList) {
116
- var sequenceExecutor = new SequenceExecutor(httpAgent, parameters, domainsWhiteList);
115
+ execute: function (httpAgent, requests, parameters, domainsWhiteList, increaseResSize) {
116
+ var sequenceExecutor = new SequenceExecutor(httpAgent, parameters, domainsWhiteList, increaseResSize);
117
117
  return sequenceExecutor.startAndPass(requests);
118
118
  },
119
119
  };
120
120
  var SequenceExecutor = /** @class */ (function () {
121
- function SequenceExecutor(httpAgent, parameters, domainsWhiteList) {
121
+ function SequenceExecutor(httpAgent, parameters, domainsWhiteList, increaseResSize) {
122
122
  var _this = this;
123
123
  Object.defineProperty(this, "httpAgent", {
124
124
  enumerable: true,
@@ -198,6 +198,12 @@ var SequenceExecutor = /** @class */ (function () {
198
198
  writable: true,
199
199
  value: void 0
200
200
  });
201
+ Object.defineProperty(this, "MAX_RES_SIZE", {
202
+ enumerable: true,
203
+ configurable: true,
204
+ writable: true,
205
+ value: MAX_RESPONSE_COLLECT
206
+ });
201
207
  Object.defineProperty(this, "passStats", {
202
208
  enumerable: true,
203
209
  configurable: true,
@@ -317,6 +323,7 @@ var SequenceExecutor = /** @class */ (function () {
317
323
  });
318
324
  this.postScriptRunner = new post_script_executor_1.PostScriptRunner();
319
325
  this.wsHandler = new ws_1.WSSequenceHandler();
326
+ increaseResSize && (this.MAX_RES_SIZE = DOUBLE_MAX_RESPONSE_COLLECT);
320
327
  }
321
328
  Object.defineProperty(SequenceExecutor.prototype, "startAndPass", {
322
329
  enumerable: false,
@@ -637,7 +644,7 @@ var SequenceExecutor = /** @class */ (function () {
637
644
  statusText = statusText || '';
638
645
  _this.parameters.__status = '' + status;
639
646
  _this.parameters.__statusText = statusText;
640
- if (text.length > MAX_RESPONSE_COLLECT) {
647
+ if (text.length > _this.MAX_RES_SIZE) {
641
648
  text = text.slice(0, MAX_RESPONSE_COLLECT - 1) + '\n...';
642
649
  }
643
650
  _this.resolvedRequests[reqIndex].response = {
@@ -1000,7 +1007,7 @@ var SequenceExecutor = /** @class */ (function () {
1000
1007
  // modifies parameters:
1001
1008
  _a.sent();
1002
1009
  if (!envUtils.isBrowser()) {
1003
- this.handlePostScript(requestConf, res);
1010
+ this.handlePostScript(requestConf, res, reqIndex);
1004
1011
  }
1005
1012
  this.setPostParameters(reqIndex);
1006
1013
  assertionResults = this.handleAssertions(requestConf) || [];
@@ -1142,14 +1149,17 @@ var SequenceExecutor = /** @class */ (function () {
1142
1149
  enumerable: false,
1143
1150
  configurable: true,
1144
1151
  writable: true,
1145
- value: function (_a, _b) {
1152
+ value: function (_a, _b, reqIndex) {
1146
1153
  var postScript = _a.postScript;
1147
1154
  var _c = _b.text, text = _c === void 0 ? '' : _c;
1148
1155
  if (postScript) {
1149
1156
  test_run_event_emitter_1.testRunEventsEmitter.postScript.started();
1150
1157
  try {
1151
- var result = this.runPostScript(postScript, text);
1158
+ var _d = this.runPostScript(postScript, text), result = _d.result, stdout = _d.stdout;
1152
1159
  Object.assign(this.parameters, result);
1160
+ if (!isEmpty_1.default(stdout)) {
1161
+ this.resolvedRequests[reqIndex].stdout = stdout;
1162
+ }
1153
1163
  }
1154
1164
  catch (e) {
1155
1165
  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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"}
@@ -12,4 +12,5 @@ export interface ExecutableConf {
12
12
  useCookies?: boolean;
13
13
  useProxy?: boolean;
14
14
  useStaticIp?: boolean;
15
+ increaseResSize?: boolean;
15
16
  }
@@ -102,7 +102,7 @@ function runSingleIteration(conf) {
102
102
  else {
103
103
  httpAgent = superagent_1.default;
104
104
  }
105
- return [2 /*return*/, sequence_1.sequence.execute(httpAgent, extendRequests(conf), conf.parameters, conf.domainsWhiteList)];
105
+ return [2 /*return*/, sequence_1.sequence.execute(httpAgent, extendRequests(conf), conf.parameters, conf.domainsWhiteList, conf.increaseResSize)];
106
106
  });
107
107
  });
108
108
  }
@@ -1 +1 @@
1
- {"version":3,"file":"single-runner.js","sourceRoot":"","sources":["../src/single-runner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAoC;AACpC,uCAAsC;AACtC,2EAA+D;AAC/D,qEAA+C;AAG/C,qEAImC;AAEnC,SAAsB,kCAAkC,CACtD,IAAoB;;;;;wBAEL,qBAAM,kBAAkB,CAAC,IAAI,CAAC,EAAA;;oBAAvC,MAAM,GAAG,SAA8B;oBAC7C,sBAAO,8CAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAC;;;;CACpD;AALD,gFAKC;AAED,SAAsB,kBAAkB,CACtC,IAAoB;;;;YAGpB,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE;gBAC5C,aAAG,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBAE/C,+CAA+C;gBAC/C,0EAA0E;gBAC1E,SAAS,GAAG,oBAAU,CAAC,KAAK,EAAE,CAAC;aAChC;iBAAM;gBACL,SAAS,GAAG,oBAAU,CAAC;aACxB;YAED,sBAAO,mBAAQ,CAAC,OAAO,CACrB,SAAS,EACT,cAAc,CAAC,IAAI,CAAC,EACpB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,gBAAgB,CACtB,EAAC;;;CACH;AApBD,gDAoBC;AAED,SAAS,cAAc,CAAC,EAKP;QAJf,QAAQ,cAAA,EACR,IAAI,UAAA,EACJ,UAAU,gBAAA,EACV,gBAAgB,sBAAA;IAEhB,OAAO,QAAQ,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,uBACxB,GAAG,KACN,IAAI,MAAA;QACJ,UAAU,YAAA;QACV,gBAAgB,kBAAA,IAChB,EAL2B,CAK3B,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"single-runner.js","sourceRoot":"","sources":["../src/single-runner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAoC;AACpC,uCAAsC;AACtC,2EAA+D;AAC/D,qEAA+C;AAG/C,qEAImC;AAEnC,SAAsB,kCAAkC,CACtD,IAAoB;;;;;wBAEL,qBAAM,kBAAkB,CAAC,IAAI,CAAC,EAAA;;oBAAvC,MAAM,GAAG,SAA8B;oBAC7C,sBAAO,8CAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAC;;;;CACpD;AALD,gFAKC;AAED,SAAsB,kBAAkB,CACtC,IAAoB;;;;YAGpB,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE;gBAC5C,aAAG,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBAE/C,+CAA+C;gBAC/C,0EAA0E;gBAC1E,SAAS,GAAG,oBAAU,CAAC,KAAK,EAAE,CAAC;aAChC;iBAAM;gBACL,SAAS,GAAG,oBAAU,CAAC;aACxB;YAED,sBAAO,mBAAQ,CAAC,OAAO,CACrB,SAAS,EACT,cAAc,CAAC,IAAI,CAAC,EACpB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,eAAe,CACrB,EAAC;;;CACH;AArBD,gDAqBC;AAED,SAAS,cAAc,CAAC,EAKP;QAJf,QAAQ,cAAA,EACR,IAAI,UAAA,EACJ,UAAU,gBAAA,EACV,gBAAgB,sBAAA;IAEhB,OAAO,QAAQ,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,uBACxB,GAAG,KACN,IAAI,MAAA;QACJ,UAAU,YAAA;QACV,gBAAgB,kBAAA,IAChB,EAL2B,CAK3B,CAAC,CAAC;AACN,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loadmill/executer",
3
- "version": "0.1.49",
3
+ "version": "0.1.52",
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.48",
18
- "@loadmill/universal": "0.3.43",
17
+ "@loadmill/core": "0.3.51",
18
+ "@loadmill/universal": "0.3.46",
19
19
  "@types/estree": "^0.0.50",
20
20
  "acorn": "^8.4.1",
21
21
  "agentkeepalive": "^4.1.3",
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: 53,
3
+ minor: 56,
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,16 +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
27
  this.removeAssertModule(modifiedDynamicContext);
24
- return modifiedDynamicContext;
28
+ return { result: modifiedDynamicContext, stdout: myConsole.stdout };
25
29
  };
26
30
 
27
31
  private wrapUserCode = (
@@ -32,7 +36,7 @@ export class PostScriptRunner {
32
36
  const prefix =
33
37
  `
34
38
  Buffer = {};
35
- global = { assert: global.assert };
39
+ global = { assert: global.assert, console: global.console };
36
40
  const $ = staticContext.$;
37
41
  const __ = staticContext.__;
38
42
  `;
@@ -40,7 +44,7 @@ export class PostScriptRunner {
40
44
  const suffix =
41
45
  `
42
46
  exports = {
43
- ${[...Object.keys(dynamicContext), ...newVariables].join()}
47
+ ${[...Object.keys(dynamicContext), ...newVariables].join()}
44
48
  };
45
49
  `;
46
50
 
@@ -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
@@ -54,6 +54,7 @@ const {
54
54
  const {
55
55
  MAX_RESPONSE_BYTES,
56
56
  MAX_RESPONSE_COLLECT,
57
+ DOUBLE_MAX_RESPONSE_COLLECT,
57
58
  MIN_REQUEST_DELAY,
58
59
  MAX_REQUEST_LOOPS_ITERATIONS,
59
60
  } = confExtrema;
@@ -109,11 +110,13 @@ export const sequence = {
109
110
  requests: LoadmillRequest[],
110
111
  parameters: Parameters[],
111
112
  domainsWhiteList: string[],
113
+ increaseResSize?: boolean,
112
114
  ) {
113
115
  const sequenceExecutor = new SequenceExecutor(
114
116
  httpAgent,
115
117
  parameters,
116
118
  domainsWhiteList,
119
+ increaseResSize,
117
120
  );
118
121
  return sequenceExecutor.startAndPass(requests);
119
122
  },
@@ -122,7 +125,6 @@ export const sequence = {
122
125
  class SequenceExecutor {
123
126
  parameters: SequenceExecutorParameters;
124
127
  postScriptRunner: PostScriptRunner;
125
-
126
128
  avgResTime = 0;
127
129
  successfulHits = 0;
128
130
  lastStartedIndex = 0;
@@ -132,11 +134,13 @@ class SequenceExecutor {
132
134
  keepaliveHTTPSAgent;
133
135
  keepaliveHTTPAgent;
134
136
  wsHandler: WSSequenceHandler;
137
+ MAX_RES_SIZE = MAX_RESPONSE_COLLECT;
135
138
 
136
139
  constructor(
137
140
  private httpAgent,
138
141
  parameters: Parameters[],
139
142
  private domainsWhiteList: string[],
143
+ increaseResSize?: boolean
140
144
  ) {
141
145
  this.parameters = parameterUtils.resolveAllExpressions(parameters);
142
146
  this.keepaliveHTTPSAgent = new HTTPSAgent({
@@ -149,6 +153,7 @@ class SequenceExecutor {
149
153
  });
150
154
  this.postScriptRunner = new PostScriptRunner();
151
155
  this.wsHandler = new WSSequenceHandler();
156
+ increaseResSize && (this.MAX_RES_SIZE = DOUBLE_MAX_RESPONSE_COLLECT);
152
157
  }
153
158
 
154
159
  startAndPass(requests: LoadmillRequest[]) {
@@ -438,7 +443,7 @@ class SequenceExecutor {
438
443
  this.parameters.__status = '' + status;
439
444
  this.parameters.__statusText = statusText;
440
445
 
441
- if (text.length > MAX_RESPONSE_COLLECT) {
446
+ if (text.length > this.MAX_RES_SIZE) {
442
447
  text = text.slice(0, MAX_RESPONSE_COLLECT - 1) + '\n...';
443
448
  }
444
449
 
@@ -879,7 +884,7 @@ class SequenceExecutor {
879
884
  await this.handleExtractions(requestConf, res);
880
885
 
881
886
  if (!envUtils.isBrowser()) {
882
- this.handlePostScript(requestConf, res);
887
+ this.handlePostScript(requestConf, res, reqIndex);
883
888
  }
884
889
 
885
890
  this.setPostParameters(reqIndex);
@@ -963,13 +968,16 @@ class SequenceExecutor {
963
968
  );
964
969
  }
965
970
 
966
- handlePostScript({ postScript }: LoadmillRequest, { text = '' }) {
971
+ handlePostScript({ postScript }: LoadmillRequest, { text = '' }, reqIndex) {
967
972
  if (postScript) {
968
973
  testRunEventsEmitter.postScript.started();
969
974
 
970
975
  try {
971
- const result = this.runPostScript(postScript, text);
976
+ const { result, stdout } = this.runPostScript(postScript, text);
972
977
  Object.assign(this.parameters, result);
978
+ if (!isEmpty(stdout)) {
979
+ this.resolvedRequests[reqIndex].stdout = stdout;
980
+ }
973
981
  } catch (e) {
974
982
  const message = ['Post Script', e.name + ':', e.message].join(' ');
975
983
  throw new RequestFailuresError(message);
@@ -36,6 +36,7 @@ export async function runSingleIteration(
36
36
  extendRequests(conf),
37
37
  conf.parameters,
38
38
  conf.domainsWhiteList,
39
+ conf.increaseResSize
39
40
  );
40
41
  }
41
42
 
@@ -63,4 +64,5 @@ export interface ExecutableConf {
63
64
  useCookies?: boolean;
64
65
  useProxy?: boolean;
65
66
  useStaticIp?: boolean;
67
+ increaseResSize?: boolean;
66
68
  }
@@ -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
 
@@ -305,15 +305,13 @@ suite('Post Script Executor', () => {
305
305
  const containsObj = { obj: obj };
306
306
  const $ = { containsObj, obj };
307
307
  assert.doesNotThrow(() => JSON.stringify($));
308
- assert.doesNotThrow(() => runPostScript({ staticContext: { $: $, __: {} } }, {}, `
309
- res = $;
310
- `));
308
+ assert.doesNotThrow(() => runPostScript({ staticContext: { $: $, __: {} } }, {}, 'res = $;'));
311
309
  });
312
310
  });
313
311
 
314
312
  describe('global object', () => {
315
313
  it('should return an empty object for a variable referencing the global object', () => {
316
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, 'c=global');
314
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, 'c=global');
317
315
  assert.deepEqual(
318
316
  result.c,
319
317
  {}
@@ -324,83 +322,83 @@ suite('Post Script Executor', () => {
324
322
  describe('destructuring', () => {
325
323
  describe('object', () => {
326
324
  it('should detect declaration of root property', () => {
327
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, 'const { x } = { x: 1 };');
325
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, 'const { x } = { x: 1 };');
328
326
  assert.equal(result.x, 1);
329
327
  });
330
328
 
331
329
  it('should detect declaration of 2-level nested property', () => {
332
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
333
- let { x: { y } } = { x: { y: 1 } };
334
- `);
330
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
331
+ let { x: { y } } = { x: { y: 1 } };
332
+ `);
335
333
  assert.equal(result.y, 1);
336
334
  });
337
335
 
338
336
  it('should detect declaration of 3-level nested property', () => {
339
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
340
- let { x: { y: { z } } } = { x: { y: { z: 1 } } };
341
- `);
337
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
338
+ let { x: { y: { z } } } = { x: { y: { z: 1 } } };
339
+ `);
342
340
  assert.equal(result.z, 1);
343
341
  });
344
342
 
345
343
  it('should detect declaration of 4-level nested property', () => {
346
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
347
- let { x: { y: { z: { w } } } } = { x: { y: { z: { w: 1 } } } };
348
- `);
344
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
345
+ let { x: { y: { z: { w } } } } = { x: { y: { z: { w: 1 } } } };
346
+ `);
349
347
  assert.equal(result.w, 1);
350
348
  });
351
349
 
352
350
  it('should detect declaration of two (2) root properties', () => {
353
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
354
- let { x, y } = { x: 1, y: 2 };
355
- `);
351
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
352
+ let { x, y } = { x: 1, y: 2 };
353
+ `);
356
354
  assert.equal(result.x, 1);
357
355
  assert.equal(result.y, 2);
358
356
  });
359
357
 
360
358
  it('should detect declaration of a root property and a nested property', () => {
361
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
362
- let { x, y: { z } } = { x: 1, y: { z: 2 } };
363
- `);
359
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
360
+ let { x, y: { z } } = { x: 1, y: { z: 2 } };
361
+ `);
364
362
  assert.equal(result.x, 1);
365
363
  assert.equal(result.z, 2);
366
364
  });
367
365
 
368
366
  it('should detect rest element object declaration', () => {
369
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
370
- const {x, ...theRest } = { x: 1, y: 2, z: 3 };
371
- `);
367
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
368
+ const {x, ...theRest } = { x: 1, y: 2, z: 3 };
369
+ `);
372
370
  assert.equal(result.x, 1);
373
371
  assert.equal(result.theRest.y, 2);
374
372
  assert.equal(result.theRest.z, 3);
375
373
  });
376
374
 
377
375
  it('should detect implicit declaration of root property ', () => {
378
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '({ x } = { x: 1 });');
376
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '({ x } = { x: 1 });');
379
377
  assert.equal(result.x, 1);
380
378
  });
381
379
 
382
380
  it('should detect implicit declaration of 2-level nested property ', () => {
383
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '({ x: { y } } = { x: { y: 1 } });');
381
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '({ x: { y } } = { x: { y: 1 } });');
384
382
  assert.equal(result.y, 1);
385
383
  });
386
384
 
387
385
  it('should detect implicit declaration of 3-level nested property ', () => {
388
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '({ x: { y: { z } } } = { x: { y: { z: 1 } } });');
386
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '({ x: { y: { z } } } = { x: { y: { z: 1 } } });');
389
387
  assert.equal(result.z, 1);
390
388
  });
391
389
 
392
390
  it('should detect implicit declaration of two (2) root properties', () => {
393
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
394
- ({ x, y } = { x: 1, y: 2 });
395
- `);
391
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
392
+ ({ x, y } = { x: 1, y: 2 });
393
+ `);
396
394
  assert.equal(result.x, 1);
397
395
  assert.equal(result.y, 2);
398
396
  });
399
397
 
400
398
  it('should detect implicit declaration of a root property and a nested property', () => {
401
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
402
- ({ x, y: { z } } = { x: 1, y: { z: 2 } });
403
- `);
399
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
400
+ ({ x, y: { z } } = { x: 1, y: { z: 2 } });
401
+ `);
404
402
  assert.equal(result.x, 1);
405
403
  assert.equal(result.z, 2);
406
404
  });
@@ -408,50 +406,50 @@ suite('Post Script Executor', () => {
408
406
 
409
407
  describe('array', () => {
410
408
  it('should detect destructured array value', () => {
411
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
412
- const [ x ] = [ 1 ];
413
- `);
409
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
410
+ const [ x ] = [ 1 ];
411
+ `);
414
412
  assert.equal(result.x, 1);
415
413
  });
416
414
 
417
415
  it('should detect 2 destructured array values', () => {
418
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
419
- const [ x, y ] = [ 1, 2 ];
420
- `);
416
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
417
+ const [ x, y ] = [ 1, 2 ];
418
+ `);
421
419
  assert.equal(result.x, 1);
422
420
  assert.equal(result.y, 2);
423
421
  });
424
422
 
425
423
  it('should detect spread array values', () => {
426
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, 'let [...elements] = [1, 2];');
424
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, 'let [...elements] = [1, 2];');
427
425
  assert.equal(result.elements.length, 2);
428
426
  });
429
427
 
430
428
  it('should detect "regular" & spread array values', () => {
431
- 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];');
432
430
  assert.equal(result.a,10);
433
431
  assert.equal(result.b,20);
434
432
  assert.equal(result.rest.length,3);
435
433
  });
436
434
 
437
435
  it('should detect implicit declaration of array destructuring ', () => {
438
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '([ x ] = [ 1 ]);');
436
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '([ x ] = [ 1 ]);');
439
437
  assert.equal(result.x, 1);
440
438
  });
441
439
 
442
440
  it('should detect 2 implicit declarations of array destructuring ', () => {
443
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '([ x, y ] = [ 1, 2 ]);');
441
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '([ x, y ] = [ 1, 2 ]);');
444
442
  assert.equal(result.x, 1);
445
443
  assert.equal(result.y, 2);
446
444
  });
447
445
 
448
446
  it('should detect implicit spread array values', () => {
449
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '[...elements] = [1, 2];');
447
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, '[...elements] = [1, 2];');
450
448
  assert.equal(result.elements.length, 2);
451
449
  });
452
450
 
453
451
  it('should detect implicit "regular" & spread array values', () => {
454
- 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];');
455
453
  assert.equal(result.a,10);
456
454
  assert.equal(result.b,20);
457
455
  assert.equal(result.rest.length,3);
@@ -460,41 +458,41 @@ suite('Post Script Executor', () => {
460
458
 
461
459
  describe('array of objects', () => {
462
460
  it('should detect destructured object from array', () => {
463
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
464
- const [ { x } ] = [ { x: 1 } ];
465
- `);
461
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
462
+ const [ { x } ] = [ { x: 1 } ];
463
+ `);
466
464
  assert.equal(result.x, 1);
467
465
  });
468
466
  it('should detect nested destructured object from array', () => {
469
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
470
- const [ { x: { y } } ] = [ { x: { y: 1 } } ];
471
- `);
467
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
468
+ const [ { x: { y } } ] = [ { x: { y: 1 } } ];
469
+ `);
472
470
  assert.equal(result.y, 1);
473
471
  });
474
472
  it('should detect destructuring of 3-level nested property from array', () => {
475
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
476
- let [{ x: { y: { z } } }] = [{ x: { y: { z: 1 } } }];
477
- `);
473
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
474
+ let [{ x: { y: { z } } }] = [{ x: { y: { z: 1 } } }];
475
+ `);
478
476
  assert.equal(result.z, 1);
479
477
  });
480
478
  it('should detect destructuring of two (2) root properties from array', () => {
481
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
482
- let [{ x, y }] = [{ x: 1, y: 2 }];
483
- `);
479
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
480
+ let [{ x, y }] = [{ x: 1, y: 2 }];
481
+ `);
484
482
  assert.equal(result.x, 1);
485
483
  assert.equal(result.y, 2);
486
484
  });
487
485
  it('should detect destructuring of a root property and a nested property from array', () => {
488
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
489
- let [{ x, y: { z } }] = [{ x: 1, y: { z: 2 } }];
490
- `);
486
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
487
+ let [{ x, y: { z } }] = [{ x: 1, y: { z: 2 } }];
488
+ `);
491
489
  assert.equal(result.x, 1);
492
490
  assert.equal(result.z, 2);
493
491
  });
494
492
  it('should detect destructuring of mixed type elements of array', () => {
495
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
496
- let [{ x }, y, z, w, q, t] = [{ x: 1 }, 2, 'a', false, undefined, null];
497
- `);
493
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
494
+ let [{ x }, y, z, w, q, t] = [{ x: 1 }, 2, 'a', false, undefined, null];
495
+ `);
498
496
  assert.equal(result.x, 1);
499
497
  assert.equal(result.y, 2);
500
498
  assert.equal(result.z, 'a');
@@ -506,23 +504,23 @@ suite('Post Script Executor', () => {
506
504
 
507
505
  describe('object with array value', () => {
508
506
  it('should detect an array value destructured from object', () => {
509
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
510
- const { x } = { x: [1,2] };
511
- `);
507
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
508
+ const { x } = { x: [1,2] };
509
+ `);
512
510
  assert.ok(Array.isArray(result.x));
513
511
  assert.equal(result.x[0], 1);
514
512
  assert.equal(result.x[1], 2);
515
513
  });
516
514
  it('should detect an object destructured from array destructured from object', () => {
517
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
518
- const { x: [ { y } ] } = { x: [ { y: 1 } ] };
519
- `);
515
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
516
+ const { x: [ { y } ] } = { x: [ { y: 1 } ] };
517
+ `);
520
518
  assert.equal(result.y, 1);
521
519
  });
522
520
  it('should detect a deep nested destructuring mix of obj and arr', () => {
523
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
524
- const { a: [ { b: [ { c } ], } ], } = { a: [ { b: [ { c: ['unacceptable'] } ] } ] }
525
- `);
521
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
522
+ const { a: [ { b: [ { c } ], } ], } = { a: [ { b: [ { c: ['unacceptable'] } ] } ] }
523
+ `);
526
524
  assert.ok(Array.isArray(result.c));
527
525
  assert.equal(result.c[0], 'unacceptable');
528
526
  assert.equal(result.c.length, 1);
@@ -531,45 +529,55 @@ suite('Post Script Executor', () => {
531
529
 
532
530
  describe('implicit object with array value', () => {
533
531
  it('should detect an implicit array value destructured from object', () => {
534
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
535
- ({ x } = { x: [1,2] });
536
- `);
532
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
533
+ ({ x } = { x: [1,2] });
534
+ `);
537
535
  assert.ok(Array.isArray(result.x));
538
536
  assert.equal(result.x[0], 1);
539
537
  assert.equal(result.x[1], 2);
540
538
  });
541
539
  it('should detect an object destructured from array destructured from object', () => {
542
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
543
- ({ x: [ { y } ] } = { x: [ { y: 1 } ] });
544
- `);
540
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
541
+ ({ x: [ { y } ] } = { x: [ { y: 1 } ] });
542
+ `);
545
543
  assert.equal(result.y, 1);
546
544
  });
547
545
  it('should detect a deep nested destructuring mix of obj and arr', () => {
548
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
549
- ({ a: [ { b: [ { c } ], } ], } = { a: [ { b: [ { c: ['unacceptable'] } ] } ] });
550
- `);
546
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
547
+ ({ a: [ { b: [ { c } ], } ], } = { a: [ { b: [ { c: ['unacceptable'] } ] } ] });
548
+ `);
551
549
  assert.ok(Array.isArray(result.c));
552
550
  assert.equal(result.c[0], 'unacceptable');
553
551
  assert.equal(result.c.length, 1);
554
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
+ });
555
563
  });
556
564
 
557
565
  describe('array of arrays', () => {
558
566
  it('should find destructured array element of array', () => {
559
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
567
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
560
568
  const [ [ x ] ] = [ [ 1 ] ];
561
569
  `);
562
570
  assert.equal(result.x, 1);
563
571
  });
564
572
  it('should find destructured array elements of array', () => {
565
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
573
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
566
574
  const [ [ x, y ] ] = [ [ 1, 2 ] ];
567
575
  `);
568
576
  assert.equal(result.x, 1);
569
577
  assert.equal(result.y, 2);
570
578
  });
571
579
  it('should find destructured array element of array inside an object', () => {
572
- const result = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
580
+ const { result } = runPostScript({ staticContext: { $: {}, __: {} } }, {}, `
573
581
  const { x: [ [ y ] ] } = { x: [ [ 1 ] ] };
574
582
  `);
575
583
  assert.equal(result.y, 1);
@@ -590,7 +598,7 @@ suite('Post Script Executor', () => {
590
598
 
591
599
  const staticContext = { $, __: parameterFunctionOperations };
592
600
  it('should have access to both built-in function and response body', () => {
593
- const result = runPostScript( { staticContext }, {}, `
601
+ const { result } = runPostScript( { staticContext }, {}, `
594
602
  const x = __.usd();
595
603
  const res = $;
596
604
  `);