@loadmill/executer 0.1.163 → 0.1.164
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.
- package/dist/ai-assertion/index.js +53 -15
- package/dist/ai-assertion/index.js.map +1 -1
- package/dist/ai-assertion/prompts.js +2 -2
- package/dist/ai-assertion/prompts.js.map +1 -1
- package/dist/asserter.js +47 -9
- package/dist/asserter.js.map +1 -1
- package/dist/block-request.d.ts +1 -1
- package/dist/block-request.js +22 -12
- package/dist/block-request.js.map +1 -1
- package/dist/cookies.d.ts +1 -1
- package/dist/cookies.js +8 -6
- package/dist/cookies.js.map +1 -1
- package/dist/errors.js +16 -2
- package/dist/errors.js.map +1 -1
- package/dist/extraction-combiner.js +43 -5
- package/dist/extraction-combiner.js.map +1 -1
- package/dist/failures.js +13 -3
- package/dist/failures.js.map +1 -1
- package/dist/grpc.js +72 -15
- package/dist/grpc.js.map +1 -1
- package/dist/iteration-stats.js +7 -5
- package/dist/iteration-stats.js.map +1 -1
- package/dist/mill-version.js +1 -1
- package/dist/mill-version.js.map +1 -1
- package/dist/parameter-pools.js +44 -6
- package/dist/parameter-pools.js.map +1 -1
- package/dist/performance.js +4 -2
- package/dist/performance.js.map +1 -1
- package/dist/post-script/post-script-executor.js +25 -7
- package/dist/post-script/post-script-executor.js.map +1 -1
- package/dist/post-sequence.js +55 -17
- package/dist/post-sequence.js.map +1 -1
- package/dist/redact-data.js +11 -9
- package/dist/redact-data.js.map +1 -1
- package/dist/request-sequence-result.js +12 -2
- package/dist/request-sequence-result.js.map +1 -1
- package/dist/res-keeper.d.ts +1 -1
- package/dist/res-keeper.js +21 -3
- package/dist/res-keeper.js.map +1 -1
- package/dist/sampler.js +75 -13
- package/dist/sampler.js.map +1 -1
- package/dist/sequence.d.ts +1 -1
- package/dist/sequence.js +203 -130
- package/dist/sequence.js.map +1 -1
- package/dist/single-runner.js +81 -11
- package/dist/single-runner.js.map +1 -1
- package/dist/step-handlers/code-step-handler.js +41 -6
- package/dist/step-handlers/code-step-handler.js.map +1 -1
- package/dist/step-handlers/extract-step-handler.js +41 -6
- package/dist/step-handlers/extract-step-handler.js.map +1 -1
- package/dist/step-handlers/playwright/constants.js +5 -3
- package/dist/step-handlers/playwright/constants.js.map +1 -1
- package/dist/step-handlers/playwright/files-manager.js +34 -13
- package/dist/step-handlers/playwright/files-manager.js.map +1 -1
- package/dist/step-handlers/playwright/index.js +44 -9
- package/dist/step-handlers/playwright/index.js.map +1 -1
- package/dist/step-handlers/playwright/transformer.js +8 -8
- package/dist/step-handlers/playwright/transformer.js.map +1 -1
- package/dist/step-handlers/playwright-step-handler.js +49 -11
- package/dist/step-handlers/playwright-step-handler.js.map +1 -1
- package/dist/step-handlers/request-step-handler.js +41 -6
- package/dist/step-handlers/request-step-handler.js.map +1 -1
- package/dist/step-handlers/wait-step-handler.js +46 -11
- package/dist/step-handlers/wait-step-handler.js.map +1 -1
- package/dist/step-handlers/web-socket-step-handler.js +75 -18
- package/dist/step-handlers/web-socket-step-handler.js.map +1 -1
- package/dist/test-run-event-emitter.js +4 -2
- package/dist/test-run-event-emitter.js.map +1 -1
- package/dist/utils.js +20 -2
- package/dist/utils.js.map +1 -1
- package/dist/ws.js +58 -20
- package/dist/ws.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,45 +1,83 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
2
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
42
|
exports._assertUsingAI = exports.assertUsingAI = void 0;
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var log_1 = tslib_1.__importDefault(require("@loadmill/universal/dist/log"));
|
|
43
|
+
var superagent_1 = __importDefault(require("superagent"));
|
|
44
|
+
var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
|
|
7
45
|
var string_utils_1 = require("@loadmill/universal/dist/string-utils");
|
|
8
46
|
var errors_1 = require("../errors");
|
|
9
47
|
var prompts_1 = require("./prompts");
|
|
10
48
|
var OPENAI_API_URL = 'https://api.openai.com/v1/responses';
|
|
11
49
|
var MAX_EXPLANATION_LENGTH = 1000;
|
|
12
50
|
var TIMEOUT_MS = 60000; // 1 minute timeout
|
|
13
|
-
var assertUsingAI = function (openaiApiKey, value, AIVerify) { return
|
|
51
|
+
var assertUsingAI = function (openaiApiKey, value, AIVerify) { return __awaiter(void 0, void 0, void 0, function () {
|
|
14
52
|
var _a, evaluation, explanation;
|
|
15
|
-
return
|
|
53
|
+
return __generator(this, function (_b) {
|
|
16
54
|
switch (_b.label) {
|
|
17
55
|
case 0:
|
|
18
56
|
if (AIVerify === '') {
|
|
19
57
|
return [2 /*return*/, true];
|
|
20
58
|
}
|
|
21
|
-
return [4 /*yield*/,
|
|
59
|
+
return [4 /*yield*/, exports._assertUsingAI(openaiApiKey, value, AIVerify)];
|
|
22
60
|
case 1:
|
|
23
61
|
_a = _b.sent(), evaluation = _a.evaluation, explanation = _a.explanation;
|
|
24
62
|
log_1.default.debug('Assert AIVerify:', { value: value, AIVerify: AIVerify, evaluation: evaluation, explanation: explanation });
|
|
25
63
|
if (evaluation === false) {
|
|
26
|
-
throw new errors_1.RequestFailuresError("AI assertion failed: "
|
|
64
|
+
throw new errors_1.RequestFailuresError("AI assertion failed: " + string_utils_1.truncateString(explanation, MAX_EXPLANATION_LENGTH));
|
|
27
65
|
}
|
|
28
66
|
return [2 /*return*/, true];
|
|
29
67
|
}
|
|
30
68
|
});
|
|
31
69
|
}); };
|
|
32
70
|
exports.assertUsingAI = assertUsingAI;
|
|
33
|
-
var _assertUsingAI = function (openaiApiKey, value, AIVerify) { return
|
|
71
|
+
var _assertUsingAI = function (openaiApiKey, value, AIVerify) { return __awaiter(void 0, void 0, void 0, function () {
|
|
34
72
|
var err_1, errMsg;
|
|
35
|
-
return
|
|
73
|
+
return __generator(this, function (_a) {
|
|
36
74
|
switch (_a.label) {
|
|
37
75
|
case 0:
|
|
38
76
|
_a.trys.push([0, 2, , 3]);
|
|
39
77
|
if (!openaiApiKey) {
|
|
40
78
|
return [2 /*return*/, _failAssertion('AI assertions require providing an OpenAI API key.')];
|
|
41
79
|
}
|
|
42
|
-
return [4 /*yield*/, _getAIResponse(openaiApiKey,
|
|
80
|
+
return [4 /*yield*/, _getAIResponse(openaiApiKey, prompts_1.getAIAssertionConfiguration(value, AIVerify))];
|
|
43
81
|
case 1: return [2 /*return*/, _a.sent()];
|
|
44
82
|
case 2:
|
|
45
83
|
err_1 = _a.sent();
|
|
@@ -62,9 +100,9 @@ exports._assertUsingAI = _assertUsingAI;
|
|
|
62
100
|
* const response = await openai.responses.parse(configuration);
|
|
63
101
|
* return response.output_parsed;
|
|
64
102
|
*/
|
|
65
|
-
var _getAIResponse = function (openaiApiKey, configuration) { return
|
|
103
|
+
var _getAIResponse = function (openaiApiKey, configuration) { return __awaiter(void 0, void 0, void 0, function () {
|
|
66
104
|
var response, parsedResponse, _a, text, refusal;
|
|
67
|
-
return
|
|
105
|
+
return __generator(this, function (_b) {
|
|
68
106
|
switch (_b.label) {
|
|
69
107
|
case 0: return [4 /*yield*/, _callOpenAI(openaiApiKey, configuration)];
|
|
70
108
|
case 1:
|
|
@@ -79,14 +117,14 @@ var _getAIResponse = function (openaiApiKey, configuration) { return tslib_1.__a
|
|
|
79
117
|
}
|
|
80
118
|
});
|
|
81
119
|
}); };
|
|
82
|
-
var _callOpenAI = function (openaiApiKey, configuration) { return
|
|
120
|
+
var _callOpenAI = function (openaiApiKey, configuration) { return __awaiter(void 0, void 0, void 0, function () {
|
|
83
121
|
var request, err_2;
|
|
84
|
-
return
|
|
122
|
+
return __generator(this, function (_a) {
|
|
85
123
|
switch (_a.label) {
|
|
86
124
|
case 0:
|
|
87
125
|
request = superagent_1.default
|
|
88
126
|
.post(OPENAI_API_URL)
|
|
89
|
-
.set('Authorization', "Bearer "
|
|
127
|
+
.set('Authorization', "Bearer " + openaiApiKey)
|
|
90
128
|
.set('Content-Type', 'application/json')
|
|
91
129
|
.send(configuration)
|
|
92
130
|
.timeout(TIMEOUT_MS);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai-assertion/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai-assertion/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,8 +22,8 @@ var AIAssertionSystemMessage = [
|
|
|
22
22
|
].join('\n');
|
|
23
23
|
var _getAIAssertionUserMessage = function (value, AIVerify) {
|
|
24
24
|
return [
|
|
25
|
-
"value: "
|
|
26
|
-
"statement: \""
|
|
25
|
+
"value: " + JSON.stringify(value),
|
|
26
|
+
"statement: \"" + AIVerify + "\"",
|
|
27
27
|
'Respond ONLY using the evaluation (true / false) and explanation.',
|
|
28
28
|
].join('\n');
|
|
29
29
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/ai-assertion/prompts.ts"],"names":[],"mappings":";;;AAAA,uEAA8F;AAIvF,IAAM,2BAA2B,GAAG,UACzC,KAAU,EACV,QAAgB;IAEhB,OAAO;QACL,KAAK,EAAE,8BAAkB,CAAC,OAAO;QACjC,KAAK,EAAE,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC5C,IAAI,EAAE;YACJ,MAAM,EAAE,yBAAyB;SAClC;KACF,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,2BAA2B,+BAWtC;AAEF,IAAM,wBAAwB,GAAG;IAC/B,kDAAkD;IAClD,8EAA8E;IAC9E,kGAAkG;IAClG,8DAA8D;IAC9D,2DAA2D;IAC3D,sEAAsE;CACvE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,IAAM,0BAA0B,GAAG,UACjC,KAAU,EACV,QAAgB;IAEhB,OAAO;QACL,
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/ai-assertion/prompts.ts"],"names":[],"mappings":";;;AAAA,uEAA8F;AAIvF,IAAM,2BAA2B,GAAG,UACzC,KAAU,EACV,QAAgB;IAEhB,OAAO;QACL,KAAK,EAAE,8BAAkB,CAAC,OAAO;QACjC,KAAK,EAAE,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC5C,IAAI,EAAE;YACJ,MAAM,EAAE,yBAAyB;SAClC;KACF,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,2BAA2B,+BAWtC;AAEF,IAAM,wBAAwB,GAAG;IAC/B,kDAAkD;IAClD,8EAA8E;IAC9E,kGAAkG;IAClG,8DAA8D;IAC9D,2DAA2D;IAC3D,sEAAsE;CACvE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,IAAM,0BAA0B,GAAG,UACjC,KAAU,EACV,QAAgB;IAEhB,OAAO;QACL,YAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAG;QACjC,kBAAe,QAAQ,OAAG;QAC1B,mEAAmE;KACpE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,IAAM,oBAAoB,GAAG,UAC3B,KAAU,EACV,QAAgB;IAEhB,OAAO;QACL;YACE,IAAI,EAAE,yBAAa,CAAC,MAAM;YAC1B,OAAO,EAAE,wBAAwB;SAClC;QACD;YACE,IAAI,EAAE,yBAAa,CAAC,IAAI;YACxB,OAAO,EAAE,0BAA0B,CAAC,KAAK,EAAE,QAAQ,CAAC;SACrD;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,yBAAyB,GAAG;IAChC,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAChC;QACD,QAAQ,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;QACvC,oBAAoB,EAAE,KAAK;KAC5B;IACD,MAAM,EAAE,IAAI;CACb,CAAC"}
|
package/dist/asserter.js
CHANGED
|
@@ -1,11 +1,49 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
2
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
42
|
exports.Asserter = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
43
|
var parameters_1 = require("@loadmill/core/dist/parameters");
|
|
6
44
|
var subset_1 = require("@loadmill/core/dist/subset");
|
|
7
45
|
var xml_to_json_1 = require("@loadmill/core/dist/xml/xml-to-json");
|
|
8
|
-
var log_1 =
|
|
46
|
+
var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
|
|
9
47
|
var ai_assertion_1 = require("./ai-assertion");
|
|
10
48
|
var Asserter = /** @class */ (function () {
|
|
11
49
|
function Asserter(parameters, integrations) {
|
|
@@ -29,9 +67,9 @@ var Asserter = /** @class */ (function () {
|
|
|
29
67
|
value: function (_a) {
|
|
30
68
|
var _b;
|
|
31
69
|
var check = _a.check, equals = _a.equals, notEquals = _a.notEquals, contains = _a.contains, notContains = _a.notContains, matches = _a.matches, falsy = _a.falsy, greater = _a.greater, lesser = _a.lesser, JSONSchema = _a.JSONSchema, JSONContains = _a.JSONContains, XMLContains = _a.XMLContains, AIVerify = _a.AIVerify;
|
|
32
|
-
return
|
|
70
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
33
71
|
var actual, result, resolved;
|
|
34
|
-
return
|
|
72
|
+
return __generator(this, function (_c) {
|
|
35
73
|
switch (_c.label) {
|
|
36
74
|
case 0:
|
|
37
75
|
actual = parameters_1.parameterUtils.resolveParameter(check, this.parameters) || '';
|
|
@@ -59,7 +97,7 @@ var Asserter = /** @class */ (function () {
|
|
|
59
97
|
}
|
|
60
98
|
if (!(AIVerify != null)) return [3 /*break*/, 2];
|
|
61
99
|
resolved = this.resolve(AIVerify);
|
|
62
|
-
return [4 /*yield*/,
|
|
100
|
+
return [4 /*yield*/, ai_assertion_1.assertUsingAI((_b = this.integrations.openai) === null || _b === void 0 ? void 0 : _b.apiKey, actual, resolved)];
|
|
63
101
|
case 1: return [2 /*return*/, _c.sent()];
|
|
64
102
|
case 2:
|
|
65
103
|
// short circuiting with approximate increasing complexity:
|
|
@@ -153,7 +191,7 @@ function checkJSONSchema(actual, expected) {
|
|
|
153
191
|
return result;
|
|
154
192
|
}
|
|
155
193
|
function checkJSONContains(actual, expected) {
|
|
156
|
-
var result =
|
|
194
|
+
var result = subset_1.isJSONContains(actual, expected);
|
|
157
195
|
log_1.default.debug('Assert JSONContains:', { actual: actual, expected: expected, result: result });
|
|
158
196
|
return result;
|
|
159
197
|
}
|
|
@@ -162,12 +200,12 @@ function checkXMLContains(actual, expected) {
|
|
|
162
200
|
var onParseError = function (err, result, xml) {
|
|
163
201
|
log_1.default.debug('Failed to convert XML to JSON while asserting', { result: result, xml: xml }, err);
|
|
164
202
|
};
|
|
165
|
-
var actualAsJson =
|
|
166
|
-
var expectedAsJson =
|
|
203
|
+
var actualAsJson = xml_to_json_1.xmlToJson(actual, parserOptions, onParseError);
|
|
204
|
+
var expectedAsJson = xml_to_json_1.xmlToJson(expected, parserOptions, onParseError);
|
|
167
205
|
if (!actualAsJson || !expectedAsJson) {
|
|
168
206
|
return false;
|
|
169
207
|
}
|
|
170
|
-
var result =
|
|
208
|
+
var result = subset_1.isJSONContains(JSON.stringify(actualAsJson), JSON.stringify(expectedAsJson));
|
|
171
209
|
log_1.default.debug('Assert XMLContains:', { actual: actual, expected: expected, result: result });
|
|
172
210
|
return result;
|
|
173
211
|
}
|
package/dist/asserter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asserter.js","sourceRoot":"","sources":["../src/asserter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"asserter.js","sourceRoot":"","sources":["../src/asserter.ts"],"names":[],"mappings":"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"}
|
package/dist/block-request.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ExecutionBlocker } from '@loadmill/core/dist/team-options/types';
|
|
2
|
-
export declare const enforceExecutionBlockers: (executionBlockers: ExecutionBlocker[], request:
|
|
2
|
+
export declare const enforceExecutionBlockers: (executionBlockers: ExecutionBlocker[], request: any) => void;
|
package/dist/block-request.js
CHANGED
|
@@ -1,13 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
14
|
exports.enforceExecutionBlockers = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
15
|
var types_1 = require("@loadmill/core/dist/team-options/types");
|
|
6
16
|
var errors_1 = require("./errors");
|
|
7
17
|
var lodash_1 = require("lodash");
|
|
8
18
|
var enforceExecutionBlockers = function (executionBlockers, request) {
|
|
9
19
|
var _a, _b;
|
|
10
|
-
if (
|
|
20
|
+
if (lodash_1.isEmpty(executionBlockers)) {
|
|
11
21
|
return;
|
|
12
22
|
}
|
|
13
23
|
var requestBody;
|
|
@@ -18,12 +28,12 @@ var enforceExecutionBlockers = function (executionBlockers, request) {
|
|
|
18
28
|
catch (_c) {
|
|
19
29
|
failedToExtractBody = true;
|
|
20
30
|
}
|
|
21
|
-
var headers =
|
|
31
|
+
var headers = __assign(__assign({}, request.header), { cookie: mergeSuperagentCookieWithConfCookie(request) });
|
|
22
32
|
for (var _i = 0, executionBlockers_1 = executionBlockers; _i < executionBlockers_1.length; _i++) {
|
|
23
33
|
var blocker = executionBlockers_1[_i];
|
|
24
34
|
var isRequestBlocked = enforceExecutionBlocker(blocker, { url: request.url, method: request.method, requestBody: requestBody, headers: headers }, failedToExtractBody);
|
|
25
35
|
if (isRequestBlocked) {
|
|
26
|
-
throw new errors_1.RequestFailuresError("Request blocked: "
|
|
36
|
+
throw new errors_1.RequestFailuresError("Request blocked: " + isRequestBlocked.reason);
|
|
27
37
|
}
|
|
28
38
|
}
|
|
29
39
|
};
|
|
@@ -38,24 +48,24 @@ var enforceExecutionBlocker = function (blocker, requestDetails, failedToExtract
|
|
|
38
48
|
if (!isUrlMatch(blocker.urlRegex, requestDetails.url)) {
|
|
39
49
|
return;
|
|
40
50
|
}
|
|
41
|
-
var shouldCheckHeaders = !
|
|
51
|
+
var shouldCheckHeaders = !lodash_1.isEmpty(blocker.headers);
|
|
42
52
|
var shouldCheckBody = !!blocker.bodyRegex;
|
|
43
53
|
if (!shouldCheckBody && !shouldCheckHeaders) {
|
|
44
|
-
return { reason: "The request's method and URL match the execution blocker defined in \""
|
|
54
|
+
return { reason: "The request's method and URL match the execution blocker defined in \"" + blocker.description + "\"" };
|
|
45
55
|
}
|
|
46
56
|
if (shouldCheckBody && failedToExtractBody) {
|
|
47
|
-
return { reason: "The request's method and URL match the execution blocker defined in \""
|
|
57
|
+
return { reason: "The request's method and URL match the execution blocker defined in \"" + blocker.description + "\", but the body could not be extracted" };
|
|
48
58
|
}
|
|
49
59
|
var isHeadersMatch = shouldCheckHeaders && checkHeaders(blocker, requestDetails);
|
|
50
60
|
var isBodyMatch = shouldCheckBody && checkBody(blocker.bodyRegex, requestDetails.requestBody);
|
|
51
61
|
if (isHeadersMatch && isBodyMatch) {
|
|
52
|
-
return { reason: "The request's method, URL, body and headers match the execution blocker defined in \""
|
|
62
|
+
return { reason: "The request's method, URL, body and headers match the execution blocker defined in \"" + blocker.description + "\"" };
|
|
53
63
|
}
|
|
54
64
|
if (isHeadersMatch && !shouldCheckBody) {
|
|
55
|
-
return { reason: "The request's method, URL and headers match the execution blocker defined in \""
|
|
65
|
+
return { reason: "The request's method, URL and headers match the execution blocker defined in \"" + blocker.description + "\"" };
|
|
56
66
|
}
|
|
57
67
|
if (isBodyMatch && !shouldCheckHeaders) {
|
|
58
|
-
return { reason: "The request's method, URL and body match the execution blocker defined in \""
|
|
68
|
+
return { reason: "The request's method, URL and body match the execution blocker defined in \"" + blocker.description + "\"" };
|
|
59
69
|
}
|
|
60
70
|
};
|
|
61
71
|
var isMethodMatch = function (blockerMethod, requestMethod) {
|
|
@@ -82,7 +92,7 @@ var getHeadersWithLowerCaseNames = function (headers) {
|
|
|
82
92
|
var mergeSuperagentCookieWithConfCookie = function (request) {
|
|
83
93
|
var confCookie = appendTrailingSemicolon(getHeadersWithLowerCaseNames(request.header).cookie);
|
|
84
94
|
var superagentCookie = request.cookies;
|
|
85
|
-
return superagentCookie && confCookie ?
|
|
95
|
+
return superagentCookie && confCookie ? confCookie + " " + superagentCookie : superagentCookie || confCookie;
|
|
86
96
|
};
|
|
87
|
-
var appendTrailingSemicolon = function (cookie) { return cookie && (cookie.endsWith(';') ? cookie :
|
|
97
|
+
var appendTrailingSemicolon = function (cookie) { return cookie && (cookie.endsWith(';') ? cookie : cookie + ";"); };
|
|
88
98
|
//# sourceMappingURL=block-request.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block-request.js","sourceRoot":"","sources":["../src/block-request.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"block-request.js","sourceRoot":"","sources":["../src/block-request.ts"],"names":[],"mappings":"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"}
|
package/dist/cookies.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ResolvedRequest } from './request-sequence-result';
|
|
2
2
|
import { CookieDetails, CookiesDetails } from '@loadmill/core/dist/conf/types';
|
|
3
|
-
export declare const setCookies: (httpAgent: any, cookiesList?: CookiesDetails) => void;
|
|
3
|
+
export declare const setCookies: (httpAgent: any, cookiesList?: CookiesDetails | undefined) => void;
|
|
4
4
|
export declare const getCookies: (httpAgent: any, requests: ResolvedRequest[]) => CookiesDetails;
|
|
5
5
|
export declare const appendCookie: (cookiesToSend: CookiesDetails, cookieDetails: CookieDetails) => void;
|
|
6
6
|
export declare const cookieDoesNotExist: (cookieList: CookieDetails[], cookieDetails: CookieDetails) => boolean;
|
package/dist/cookies.js
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.cookieDoesNotExist = exports.appendCookie = exports.getCookies = exports.setCookies = void 0;
|
|
4
|
-
var
|
|
5
|
-
var log_1 = tslib_1.__importDefault(require("@loadmill/universal/dist/log"));
|
|
7
|
+
var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
|
|
6
8
|
var lodash_1 = require("lodash");
|
|
7
9
|
var setCookies = function (httpAgent, cookiesList) {
|
|
8
10
|
if (cookiesList) {
|
|
9
11
|
for (var _i = 0, _a = Object.values(cookiesList); _i < _a.length; _i++) {
|
|
10
12
|
var cookies = _a[_i];
|
|
11
|
-
if (
|
|
13
|
+
if (lodash_1.isArray(cookies)) {
|
|
12
14
|
for (var _b = 0, cookies_1 = cookies; _b < cookies_1.length; _b++) {
|
|
13
15
|
var cookieDetails = cookies_1[_b];
|
|
14
16
|
var _c = cookieDetails || {}, cookie = _c.cookie, domain = _c.domain, path = _c.path;
|
|
@@ -44,7 +46,7 @@ var getCookies = function (httpAgent, requests) {
|
|
|
44
46
|
domain: domain,
|
|
45
47
|
path: path,
|
|
46
48
|
};
|
|
47
|
-
|
|
49
|
+
exports.appendCookie(cookiesToSend, cookieDetails);
|
|
48
50
|
});
|
|
49
51
|
}
|
|
50
52
|
}
|
|
@@ -62,8 +64,8 @@ var getCookies = function (httpAgent, requests) {
|
|
|
62
64
|
exports.getCookies = getCookies;
|
|
63
65
|
var appendCookie = function (cookiesToSend, cookieDetails) {
|
|
64
66
|
var domain = cookieDetails.domain, path = cookieDetails.path;
|
|
65
|
-
if (!
|
|
66
|
-
if (
|
|
67
|
+
if (!lodash_1.isEmpty(cookiesToSend[domain + path])) {
|
|
68
|
+
if (exports.cookieDoesNotExist(cookiesToSend[domain + path], cookieDetails)) {
|
|
67
69
|
cookiesToSend[domain + path].push(cookieDetails);
|
|
68
70
|
}
|
|
69
71
|
}
|
package/dist/cookies.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookies.js","sourceRoot":"","sources":["../src/cookies.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cookies.js","sourceRoot":"","sources":["../src/cookies.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.js
CHANGED
|
@@ -1,9 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
2
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
18
|
exports.RequestFailuresError = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
19
|
var RequestFailuresError = /** @class */ (function (_super) {
|
|
6
|
-
|
|
20
|
+
__extends(RequestFailuresError, _super);
|
|
7
21
|
function RequestFailuresError(message, histogram) {
|
|
8
22
|
var _a;
|
|
9
23
|
if (histogram === void 0) { histogram = (_a = {}, _a[message] = 1, _a); }
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA;IAA0C,wCAAK;IAC7C,8BAAY,OAAe,EAAS,SAAuC;;QAAvC,0BAAA,EAAA,sBAAyB,GAAC,OAAO,IAAG,CAAC,KAAE;QAA3E,YACE,kBAAM,OAAO,CAAC,SAIf;;;;;mBALmC;;QAGlC,wKAAwK;QACxK,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;;IAC9D,CAAC;IACH,2BAAC;AAAD,CAAC,AAPD,CAA0C,KAAK,GAO9C;AAPY,oDAAoB"}
|
|
@@ -1,10 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
2
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
42
|
exports.ExtractionCombiner = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
43
|
var extractors_1 = require("@loadmill/core/dist/parameters/extractors");
|
|
6
|
-
var log_1 =
|
|
7
|
-
var jsedn_1 =
|
|
44
|
+
var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
|
|
45
|
+
var jsedn_1 = __importDefault(require("jsedn"));
|
|
8
46
|
var ExtractionCombiner = /** @class */ (function () {
|
|
9
47
|
function ExtractionCombiner(contextParameters, res, wsExtractionData) {
|
|
10
48
|
Object.defineProperty(this, "contextParameters", {
|
|
@@ -69,10 +107,10 @@ var ExtractionCombiner = /** @class */ (function () {
|
|
|
69
107
|
configurable: true,
|
|
70
108
|
writable: true,
|
|
71
109
|
value: function (extraction) {
|
|
72
|
-
return
|
|
110
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
73
111
|
var query, extractor, header, jQuery, xPath, jsonPath, edn, regex, ws, converted;
|
|
74
112
|
var _this = this;
|
|
75
|
-
return
|
|
113
|
+
return __generator(this, function (_a) {
|
|
76
114
|
if (typeof extraction === 'string') {
|
|
77
115
|
query = extraction;
|
|
78
116
|
extractor = this.expressionExtractor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extraction-combiner.js","sourceRoot":"","sources":["../src/extraction-combiner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extraction-combiner.js","sourceRoot":"","sources":["../src/extraction-combiner.ts"],"names":[],"mappings":"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"}
|
package/dist/failures.js
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
14
|
exports.setParameterErrorHistogram = exports.getFailureKey = exports.getFailureKeys = exports.mergeFailures = exports.OneFailure = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
15
|
function OneFailure(histogram) {
|
|
6
16
|
return {
|
|
7
17
|
histogram: histogram,
|
|
@@ -16,7 +26,7 @@ function mergeFailures(to, from) {
|
|
|
16
26
|
if (toReqFailures == null) {
|
|
17
27
|
to[index] = {
|
|
18
28
|
numFailures: fromReqFailures.numFailures,
|
|
19
|
-
histogram:
|
|
29
|
+
histogram: __assign({}, fromReqFailures.histogram),
|
|
20
30
|
};
|
|
21
31
|
}
|
|
22
32
|
else {
|
|
@@ -51,7 +61,7 @@ function getFailureKeys(failures) {
|
|
|
51
61
|
}
|
|
52
62
|
exports.getFailureKeys = getFailureKeys;
|
|
53
63
|
function getFailureKey(reqIndex, reason) {
|
|
54
|
-
return
|
|
64
|
+
return reqIndex + "," + reason;
|
|
55
65
|
}
|
|
56
66
|
exports.getFailureKey = getFailureKey;
|
|
57
67
|
function setParameterErrorHistogram(err, prefix) {
|