@loadmill/executer 0.1.38 → 0.1.42
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/mill-version.js +1 -1
- package/dist/request-sequence-result.d.ts +2 -1
- package/dist/request-sequence-result.js.map +1 -1
- package/dist/sequence.js +43 -7
- package/dist/sequence.js.map +1 -1
- package/dist/test-run-event-emitter.d.ts +3 -3
- package/dist/test-run-event-emitter.js.map +1 -1
- package/dist/ws.d.ts +6 -3
- package/dist/ws.js +43 -10
- package/dist/ws.js.map +1 -1
- package/package.json +3 -3
- package/src/mill-version.ts +1 -1
- package/src/request-sequence-result.ts +2 -0
- package/src/sequence.ts +37 -5
- package/src/test-run-event-emitter.ts +3 -2
- package/src/ws.ts +53 -13
package/dist/mill-version.js
CHANGED
|
@@ -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:
|
|
6
|
+
minor: 48,
|
|
7
7
|
patch: 0,
|
|
8
8
|
};
|
|
9
9
|
exports.millVersionString = exports.millVersion.major + "." + exports.millVersion.minor + "." + exports.millVersion.patch;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Failures } from './failures';
|
|
2
2
|
import { PerRequestStats } from './request-stats';
|
|
3
3
|
import { Parameters } from '@loadmill/core/dist/parameters';
|
|
4
|
-
import { LoadmillHeaders, LoadmillRequest, RequestPostData } from '@loadmill/core/dist/request';
|
|
4
|
+
import { LoadmillHeaders, LoadmillRequest, PostFormData, RequestPostData } from '@loadmill/core/dist/request';
|
|
5
5
|
export declare function extendSequenceResult(result: RequestSequenceResult, requests: LoadmillRequest[]): ExtendedSequenceResult;
|
|
6
6
|
export interface ExtendedSequenceResult extends RequestSequenceResult {
|
|
7
7
|
resolvedRequests: ExtendedRequest[];
|
|
@@ -20,6 +20,7 @@ export interface ResolvedRequest {
|
|
|
20
20
|
url?: string;
|
|
21
21
|
headers?: LoadmillHeaders[];
|
|
22
22
|
postData?: RequestPostData;
|
|
23
|
+
postFormData?: PostFormData;
|
|
23
24
|
response?: {
|
|
24
25
|
type: string;
|
|
25
26
|
text: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-sequence-result.js","sourceRoot":"","sources":["../src/request-sequence-result.ts"],"names":[],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"request-sequence-result.js","sourceRoot":"","sources":["../src/request-sequence-result.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAUA,SAAgB,oBAAoB,CAClC,MAA6B,EAC7B,QAA2B;IAE3B,6BACK,MAAM,KACT,gBAAgB,EAAE,QAAQ,CAAC,GAAG,CAAC,UAAC,OAAO,EAAE,KAAa,IAAK,OAAA,uBACtD,OAAO,GACP,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,EACjC,EAHyD,CAGzD,CAAC,IACH;AACJ,CAAC;AAXD,oDAWC"}
|
package/dist/sequence.js
CHANGED
|
@@ -740,8 +740,11 @@ var SequenceExecutor = /** @class */ (function () {
|
|
|
740
740
|
if (auth != null && request._header['authorization'] == null) {
|
|
741
741
|
request.auth(auth.user || '', auth.password || '');
|
|
742
742
|
}
|
|
743
|
-
var postData = requestConf.postData;
|
|
744
|
-
if (
|
|
743
|
+
var postData = requestConf.postData, postFormData = requestConf.postFormData;
|
|
744
|
+
if (postFormData) {
|
|
745
|
+
this.preparePostFormData(postFormData, request, reqIndex);
|
|
746
|
+
}
|
|
747
|
+
else if (postData) {
|
|
745
748
|
// It is CRUCIAL that the type is set before the body:
|
|
746
749
|
var mimeType = postData.mimeType;
|
|
747
750
|
if (mimeType && request._header['content-type'] == null) {
|
|
@@ -822,6 +825,39 @@ var SequenceExecutor = /** @class */ (function () {
|
|
|
822
825
|
return request;
|
|
823
826
|
}
|
|
824
827
|
});
|
|
828
|
+
Object.defineProperty(SequenceExecutor.prototype, "preparePostFormData", {
|
|
829
|
+
enumerable: false,
|
|
830
|
+
configurable: true,
|
|
831
|
+
writable: true,
|
|
832
|
+
value: function (postFormData, request, reqIndex) {
|
|
833
|
+
var resolvedPostFormData = [];
|
|
834
|
+
var size = 0;
|
|
835
|
+
var MAX_BODY_SIZE = utils_1.getMaxRequestBodySize();
|
|
836
|
+
for (var _i = 0, postFormData_1 = postFormData; _i < postFormData_1.length; _i++) {
|
|
837
|
+
var entry = postFormData_1[_i];
|
|
838
|
+
var name_1 = entry.name, value = entry.value, fileName = entry.fileName;
|
|
839
|
+
var resolvedName = this.resolve(name_1, function (err) { return setParameterErrorHistogram(err, 'Failed to resolve form-data key - '); });
|
|
840
|
+
size += resolvedName.length;
|
|
841
|
+
if (fileName) {
|
|
842
|
+
var resolvedFileName = this.resolve(fileName, function (err) { return setParameterErrorHistogram(err, 'Failed to resolve form-data fileName - '); });
|
|
843
|
+
size += (resolvedFileName.length + value.length);
|
|
844
|
+
var buffer = Buffer.from(value, 'binary');
|
|
845
|
+
request.attach(resolvedName, buffer, resolvedFileName);
|
|
846
|
+
resolvedPostFormData.push({ name: resolvedName, value: value, fileName: resolvedFileName });
|
|
847
|
+
}
|
|
848
|
+
else {
|
|
849
|
+
var resolvedValue = this.resolve(value, function (err) { return setParameterErrorHistogram(err, 'Failed to resolve form-data value - '); });
|
|
850
|
+
size += resolvedValue.length;
|
|
851
|
+
request.field(resolvedName, resolvedValue);
|
|
852
|
+
resolvedPostFormData.push({ name: resolvedName, value: resolvedValue });
|
|
853
|
+
}
|
|
854
|
+
if (size > MAX_BODY_SIZE) {
|
|
855
|
+
throw new errors_2.RequestFailuresError('Form Data size is too large');
|
|
856
|
+
}
|
|
857
|
+
}
|
|
858
|
+
this.resolvedRequests[reqIndex].postFormData = resolvedPostFormData;
|
|
859
|
+
}
|
|
860
|
+
});
|
|
825
861
|
Object.defineProperty(SequenceExecutor.prototype, "prepareWSRequest", {
|
|
826
862
|
enumerable: false,
|
|
827
863
|
configurable: true,
|
|
@@ -829,7 +865,7 @@ var SequenceExecutor = /** @class */ (function () {
|
|
|
829
865
|
value: function (requestConf, reqIndex) {
|
|
830
866
|
var _this = this;
|
|
831
867
|
var wsRequestArgs = this.resolveAndSetWSReqData(requestConf, reqIndex);
|
|
832
|
-
return new ws_1.WSRequest(wsRequestArgs, this.wsHandler, function (e) { return _this.setSingleFailure(reqIndex, 'Websocket error ' + e.message); });
|
|
868
|
+
return new ws_1.WSRequest(wsRequestArgs, this.wsHandler, function (e) { return _this.setSingleFailure(reqIndex, 'Websocket error: ' + e.message); });
|
|
833
869
|
}
|
|
834
870
|
});
|
|
835
871
|
Object.defineProperty(SequenceExecutor.prototype, "validateDomain", {
|
|
@@ -915,7 +951,7 @@ var SequenceExecutor = /** @class */ (function () {
|
|
|
915
951
|
configurable: true,
|
|
916
952
|
writable: true,
|
|
917
953
|
value: function (reqIndex) {
|
|
918
|
-
this.resolvedRequests[reqIndex].postParameters = manipulationUtils.objToSingletonArray(this.parameters);
|
|
954
|
+
this.resolvedRequests[reqIndex].postParameters = manipulationUtils.objToSingletonArray(this.parameters).filter(function (p) { return !isEmpty_1.default(p); }); // cleaning param values that are function or undefined which resolves to empty object {}
|
|
919
955
|
}
|
|
920
956
|
});
|
|
921
957
|
Object.defineProperty(SequenceExecutor.prototype, "handleExtractions", {
|
|
@@ -952,7 +988,7 @@ var SequenceExecutor = /** @class */ (function () {
|
|
|
952
988
|
writable: true,
|
|
953
989
|
value: function (res, extractions) {
|
|
954
990
|
return __awaiter(this, void 0, void 0, function () {
|
|
955
|
-
var contextParameters, extractionCombiner, _i, _a, _b,
|
|
991
|
+
var contextParameters, extractionCombiner, _i, _a, _b, name_2, extraction;
|
|
956
992
|
return __generator(this, function (_c) {
|
|
957
993
|
switch (_c.label) {
|
|
958
994
|
case 0:
|
|
@@ -962,8 +998,8 @@ var SequenceExecutor = /** @class */ (function () {
|
|
|
962
998
|
_c.label = 1;
|
|
963
999
|
case 1:
|
|
964
1000
|
if (!(_i < _a.length)) return [3 /*break*/, 4];
|
|
965
|
-
_b = _a[_i],
|
|
966
|
-
return [4 /*yield*/, this.extract(
|
|
1001
|
+
_b = _a[_i], name_2 = _b[0], extraction = _b[1];
|
|
1002
|
+
return [4 /*yield*/, this.extract(name_2, extraction, extractionCombiner)];
|
|
967
1003
|
case 2:
|
|
968
1004
|
_c.sent();
|
|
969
1005
|
_c.label = 3;
|
package/dist/sequence.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
import { Socket } from 'socket.io-client';
|
|
2
2
|
declare class TestRunEventsEmitter {
|
|
3
3
|
postScript: EventsEmitter;
|
|
4
4
|
constructor();
|
|
5
|
-
setPostScriptHandlers: (socket:
|
|
5
|
+
setPostScriptHandlers: (socket: Socket, token: string) => void;
|
|
6
6
|
}
|
|
7
7
|
declare const testRunEventsEmitter: TestRunEventsEmitter;
|
|
8
8
|
export { testRunEventsEmitter };
|
|
9
9
|
declare type EventsEmitter = {
|
|
10
|
-
[funcName: string]: () => void |
|
|
10
|
+
[funcName: string]: () => void | Socket;
|
|
11
11
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-run-event-emitter.js","sourceRoot":"","sources":["../src/test-run-event-emitter.ts"],"names":[],"mappings":";;;;;;AAAA,qEAA+C;
|
|
1
|
+
{"version":3,"file":"test-run-event-emitter.js","sourceRoot":"","sources":["../src/test-run-event-emitter.ts"],"names":[],"mappings":";;;;;;AAAA,qEAA+C;AAG/C;IAEE;QAAA,iBAMC;QAPD;;;;;WAA0B;QAS1B;;;;mBAAwB,UAAC,MAAc,EAAE,KAAa;gBACpD,KAAI,CAAC,UAAU,CAAC,OAAO,GAAG,cAAM,OAAA,MAAM,CAAC,IAAI,CAAC,wBAAsB,KAAO,CAAC,EAA1C,CAA0C,CAAC;gBAC3E,KAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,cAAM,OAAA,MAAM,CAAC,IAAI,CAAC,yBAAuB,KAAO,CAAC,EAA3C,CAA2C,CAAC;YAC/E,CAAC;WAAA;QAVC,IAAM,UAAU,GAAG,sCAAsC,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG;YAChB,OAAO,EAAE,cAAM,OAAA,aAAG,CAAC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,EAAnC,CAAmC;YAClD,QAAQ,EAAE,cAAM,OAAA,aAAG,CAAC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,EAAnC,CAAmC;SACpD,CAAC;IACJ,CAAC;IAMH,2BAAC;AAAD,CAAC,AAdD,IAcC;AAED,IAAM,oBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC/C,oDAAoB"}
|
package/dist/ws.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import WebSocket from 'ws';
|
|
2
3
|
import { HttpResponseStatus, LoadmillHeaders } from '@loadmill/core/dist/request';
|
|
4
|
+
import { IncomingHttpHeaders } from 'http';
|
|
3
5
|
declare enum WSState {
|
|
4
6
|
CONNECTING = 0,
|
|
5
7
|
OPEN = 1,
|
|
@@ -23,6 +25,7 @@ export declare class WSRequest {
|
|
|
23
25
|
private addConnection;
|
|
24
26
|
private addEventListeners;
|
|
25
27
|
private addOnErrorListener;
|
|
28
|
+
private updateResponseOnError;
|
|
26
29
|
private addOnUpgradeListener;
|
|
27
30
|
private addOnOpenListener;
|
|
28
31
|
private addOnMessageListener;
|
|
@@ -56,11 +59,11 @@ export declare type WSRequestArguments = {
|
|
|
56
59
|
url: string;
|
|
57
60
|
};
|
|
58
61
|
export declare type WSResponse = {
|
|
59
|
-
status
|
|
62
|
+
status?: number;
|
|
60
63
|
res: {
|
|
61
|
-
statusMessage
|
|
64
|
+
statusMessage?: string;
|
|
62
65
|
};
|
|
63
|
-
header: LoadmillHeaders;
|
|
66
|
+
header: LoadmillHeaders | IncomingHttpHeaders;
|
|
64
67
|
req: {};
|
|
65
68
|
};
|
|
66
69
|
export {};
|
package/dist/ws.js
CHANGED
|
@@ -44,6 +44,7 @@ var ws_1 = __importDefault(require("ws")); // todo should be picked with other o
|
|
|
44
44
|
var promise_utils_1 = require("@loadmill/universal/dist/promise-utils");
|
|
45
45
|
var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
|
|
46
46
|
var errors_1 = require("./errors");
|
|
47
|
+
var http_1 = require("http");
|
|
47
48
|
var WSState;
|
|
48
49
|
(function (WSState) {
|
|
49
50
|
WSState[WSState["CONNECTING"] = 0] = "CONNECTING";
|
|
@@ -116,7 +117,7 @@ var WSRequest = /** @class */ (function () {
|
|
|
116
117
|
switch (_a.label) {
|
|
117
118
|
case 0:
|
|
118
119
|
WS_CONNECTION_INTERVAL_MS = 100;
|
|
119
|
-
if (!(this.ws.readyState !== ws_1.default.CONNECTING)) return [3 /*break*/, 1];
|
|
120
|
+
if (!(this.ws.readyState != null && this.ws.readyState !== ws_1.default.CONNECTING)) return [3 /*break*/, 1];
|
|
120
121
|
return [2 /*return*/, this.ws.readyState];
|
|
121
122
|
case 1:
|
|
122
123
|
maxIterations = timeout / WS_CONNECTION_INTERVAL_MS;
|
|
@@ -153,15 +154,15 @@ var WSRequest = /** @class */ (function () {
|
|
|
153
154
|
switch (_a.label) {
|
|
154
155
|
case 0:
|
|
155
156
|
response = {
|
|
156
|
-
status:
|
|
157
|
+
status: undefined,
|
|
157
158
|
res: {
|
|
158
|
-
statusMessage:
|
|
159
|
+
statusMessage: undefined,
|
|
159
160
|
},
|
|
160
161
|
header: {},
|
|
161
162
|
req: {},
|
|
162
163
|
};
|
|
163
164
|
existingWS = this.wsHandler.getConnection(this.wsRequestArgs.url);
|
|
164
|
-
log_1.default.debug("Connection state " + getConnectionState(existingWS));
|
|
165
|
+
existingWS && log_1.default.debug("Existing Connection state " + getConnectionState(existingWS));
|
|
165
166
|
if (!(!existingWS || (existingWS && existingWS.readyState !== WSState.OPEN))) return [3 /*break*/, 2];
|
|
166
167
|
return [4 /*yield*/, this.addConnection(response)];
|
|
167
168
|
case 1:
|
|
@@ -219,7 +220,7 @@ var WSRequest = /** @class */ (function () {
|
|
|
219
220
|
value: function (response) {
|
|
220
221
|
return __awaiter(this, void 0, void 0, function () {
|
|
221
222
|
return __generator(this, function (_a) {
|
|
222
|
-
this.addOnErrorListener();
|
|
223
|
+
this.addOnErrorListener(response);
|
|
223
224
|
this.addOnUpgradeListener(response);
|
|
224
225
|
this.addOnOpenListener();
|
|
225
226
|
this.addOnMessageListener();
|
|
@@ -232,8 +233,18 @@ var WSRequest = /** @class */ (function () {
|
|
|
232
233
|
enumerable: false,
|
|
233
234
|
configurable: true,
|
|
234
235
|
writable: true,
|
|
235
|
-
value: function () {
|
|
236
|
+
value: function (response) {
|
|
236
237
|
var _this = this;
|
|
238
|
+
this.ws.addEventListener('error', function (event) {
|
|
239
|
+
log_1.default.debug('inside addEventListener error');
|
|
240
|
+
try {
|
|
241
|
+
var target = event.target;
|
|
242
|
+
_this.updateResponseOnError(target, response);
|
|
243
|
+
}
|
|
244
|
+
catch (e) {
|
|
245
|
+
log_1.default.error('Got an error inside addEventListener error', e);
|
|
246
|
+
}
|
|
247
|
+
});
|
|
237
248
|
this.ws.on('error', function (e) {
|
|
238
249
|
try {
|
|
239
250
|
log_1.default.debug('inside on error', e);
|
|
@@ -253,6 +264,20 @@ var WSRequest = /** @class */ (function () {
|
|
|
253
264
|
});
|
|
254
265
|
}
|
|
255
266
|
});
|
|
267
|
+
Object.defineProperty(WSRequest.prototype, "updateResponseOnError", {
|
|
268
|
+
enumerable: false,
|
|
269
|
+
configurable: true,
|
|
270
|
+
writable: true,
|
|
271
|
+
value: function (ws, response) {
|
|
272
|
+
if (ws._req) {
|
|
273
|
+
var _a = ws._req.socket.parser.incoming, statusCode = _a.statusCode, statusMessage = _a.statusMessage, headers = _a.headers;
|
|
274
|
+
log_1.default.debug('Got incoming incoming request', { statusCode: statusCode, statusMessage: statusMessage, headers: headers });
|
|
275
|
+
response.status = statusCode;
|
|
276
|
+
response.res.statusMessage = statusMessage;
|
|
277
|
+
response.header = headers;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
});
|
|
256
281
|
Object.defineProperty(WSRequest.prototype, "addOnUpgradeListener", {
|
|
257
282
|
enumerable: false,
|
|
258
283
|
configurable: true,
|
|
@@ -305,16 +330,24 @@ var WSRequest = /** @class */ (function () {
|
|
|
305
330
|
writable: true,
|
|
306
331
|
value: function () {
|
|
307
332
|
return __awaiter(this, void 0, void 0, function () {
|
|
308
|
-
var readyState;
|
|
333
|
+
var readyState, connectionDebugMsg, msg;
|
|
309
334
|
return __generator(this, function (_a) {
|
|
310
335
|
switch (_a.label) {
|
|
311
336
|
case 0: return [4 /*yield*/, this.waitForConnectedState(this.wsRequestArgs.timeout)];
|
|
312
337
|
case 1:
|
|
313
338
|
readyState = _a.sent();
|
|
314
|
-
|
|
339
|
+
connectionDebugMsg = "Connection " + WSState[readyState];
|
|
340
|
+
log_1.default.debug(connectionDebugMsg);
|
|
315
341
|
if (readyState !== ws_1.default.OPEN && !this.hasErrorOccured) {
|
|
316
|
-
|
|
317
|
-
|
|
342
|
+
msg = 'Could not connect to WebSocket address: ';
|
|
343
|
+
log_1.default.debug(msg, { connectionState: WSState[readyState], url: this.ws.url });
|
|
344
|
+
if (readyState === WSState.CONNECTING) {
|
|
345
|
+
msg += 'request timeout';
|
|
346
|
+
}
|
|
347
|
+
else { // CLOSING or CLOSED state
|
|
348
|
+
msg += connectionDebugMsg;
|
|
349
|
+
}
|
|
350
|
+
throw new errors_1.RequestFailuresError(msg);
|
|
318
351
|
}
|
|
319
352
|
return [2 /*return*/];
|
|
320
353
|
}
|
package/dist/ws.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws.js","sourceRoot":"","sources":["../src/ws.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA2B,CAAC,uEAAuE;AACnG,wEAA+D;AAC/D,qEAA+C;AAE/C,mCAAgD;
|
|
1
|
+
{"version":3,"file":"ws.js","sourceRoot":"","sources":["../src/ws.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.
|
|
3
|
+
"version": "0.1.42",
|
|
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.
|
|
18
|
-
"@loadmill/universal": "0.3.
|
|
17
|
+
"@loadmill/core": "0.3.41",
|
|
18
|
+
"@loadmill/universal": "0.3.34",
|
|
19
19
|
"@types/estree": "^0.0.50",
|
|
20
20
|
"acorn": "^8.4.1",
|
|
21
21
|
"agentkeepalive": "^4.1.3",
|
package/src/mill-version.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { Parameters } from '@loadmill/core/dist/parameters';
|
|
|
4
4
|
import {
|
|
5
5
|
LoadmillHeaders,
|
|
6
6
|
LoadmillRequest,
|
|
7
|
+
PostFormData,
|
|
7
8
|
RequestPostData,
|
|
8
9
|
} from '@loadmill/core/dist/request';
|
|
9
10
|
|
|
@@ -40,6 +41,7 @@ export interface ResolvedRequest {
|
|
|
40
41
|
url?: string;
|
|
41
42
|
headers?: LoadmillHeaders[];
|
|
42
43
|
postData?: RequestPostData;
|
|
44
|
+
postFormData?: PostFormData;
|
|
43
45
|
|
|
44
46
|
response?: {
|
|
45
47
|
type: string;
|
package/src/sequence.ts
CHANGED
|
@@ -69,7 +69,8 @@ import {
|
|
|
69
69
|
LoopConf,
|
|
70
70
|
DEFAULT_REQUEST_TIMEOUT,
|
|
71
71
|
CachePenetrationModes,
|
|
72
|
-
RequestPostData
|
|
72
|
+
RequestPostData,
|
|
73
|
+
PostFormData
|
|
73
74
|
} from '@loadmill/core/dist/request';
|
|
74
75
|
|
|
75
76
|
import { testRunEventsEmitter } from './test-run-event-emitter';
|
|
@@ -566,8 +567,11 @@ class SequenceExecutor {
|
|
|
566
567
|
request.auth(auth.user || '', auth.password || '');
|
|
567
568
|
}
|
|
568
569
|
|
|
569
|
-
const postData = requestConf
|
|
570
|
-
if (
|
|
570
|
+
const { postData, postFormData } = requestConf;
|
|
571
|
+
if (postFormData) {
|
|
572
|
+
this.preparePostFormData(postFormData, request, reqIndex);
|
|
573
|
+
}
|
|
574
|
+
else if (postData) {
|
|
571
575
|
// It is CRUCIAL that the type is set before the body:
|
|
572
576
|
const mimeType = postData.mimeType;
|
|
573
577
|
if (mimeType && request._header['content-type'] == null) {
|
|
@@ -674,13 +678,41 @@ class SequenceExecutor {
|
|
|
674
678
|
return request;
|
|
675
679
|
}
|
|
676
680
|
|
|
681
|
+
private preparePostFormData(postFormData: PostFormData, request: any, reqIndex: number) {
|
|
682
|
+
const resolvedPostFormData: PostFormData = [];
|
|
683
|
+
let size = 0;
|
|
684
|
+
const MAX_BODY_SIZE = getMaxRequestBodySize();
|
|
685
|
+
for (const entry of postFormData) {
|
|
686
|
+
const { name, value, fileName } = entry;
|
|
687
|
+
const resolvedName = this.resolve(name, (err) => setParameterErrorHistogram(err, 'Failed to resolve form-data key - '));
|
|
688
|
+
size += resolvedName.length;
|
|
689
|
+
if (fileName) {
|
|
690
|
+
const resolvedFileName = this.resolve(fileName, (err) => setParameterErrorHistogram(err, 'Failed to resolve form-data fileName - '));
|
|
691
|
+
size += (resolvedFileName.length + value.length);
|
|
692
|
+
const buffer = Buffer.from(value, 'binary');
|
|
693
|
+
request.attach(resolvedName, buffer, resolvedFileName);
|
|
694
|
+
resolvedPostFormData.push({ name: resolvedName, value, fileName: resolvedFileName });
|
|
695
|
+
} else {
|
|
696
|
+
const resolvedValue = this.resolve(value, (err) => setParameterErrorHistogram(err, 'Failed to resolve form-data value - '));
|
|
697
|
+
size += resolvedValue.length;
|
|
698
|
+
request.field(resolvedName, resolvedValue);
|
|
699
|
+
resolvedPostFormData.push({ name: resolvedName, value: resolvedValue });
|
|
700
|
+
}
|
|
701
|
+
if (size > MAX_BODY_SIZE) {
|
|
702
|
+
throw new RequestFailuresError('Form Data size is too large');
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
this.resolvedRequests[reqIndex].postFormData = resolvedPostFormData;
|
|
707
|
+
}
|
|
708
|
+
|
|
677
709
|
prepareWSRequest(requestConf: LoadmillRequest, reqIndex: number) {
|
|
678
710
|
const wsRequestArgs = this.resolveAndSetWSReqData(requestConf, reqIndex);
|
|
679
711
|
|
|
680
712
|
return new WSRequest(
|
|
681
713
|
wsRequestArgs,
|
|
682
714
|
this.wsHandler,
|
|
683
|
-
(e: Error) => this.setSingleFailure(reqIndex, 'Websocket error ' + e.message),
|
|
715
|
+
(e: Error) => this.setSingleFailure(reqIndex, 'Websocket error: ' + e.message),
|
|
684
716
|
);
|
|
685
717
|
}
|
|
686
718
|
|
|
@@ -822,7 +854,7 @@ class SequenceExecutor {
|
|
|
822
854
|
setPostParameters(reqIndex: number) {
|
|
823
855
|
this.resolvedRequests[reqIndex].postParameters = manipulationUtils.objToSingletonArray(
|
|
824
856
|
this.parameters
|
|
825
|
-
);
|
|
857
|
+
).filter(p => !isEmpty(p)); // cleaning param values that are function or undefined which resolves to empty object {}
|
|
826
858
|
}
|
|
827
859
|
|
|
828
860
|
async handleExtractions(requestConf: LoadmillRequest, res) {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import log from '@loadmill/universal/dist/log';
|
|
2
|
+
import { Socket } from 'socket.io-client';
|
|
2
3
|
|
|
3
4
|
class TestRunEventsEmitter {
|
|
4
5
|
postScript: EventsEmitter;
|
|
@@ -10,7 +11,7 @@ class TestRunEventsEmitter {
|
|
|
10
11
|
};
|
|
11
12
|
}
|
|
12
13
|
|
|
13
|
-
setPostScriptHandlers = (socket:
|
|
14
|
+
setPostScriptHandlers = (socket: Socket, token: string) => {
|
|
14
15
|
this.postScript.started = () => socket.emit(`postscript-started:${token}`);
|
|
15
16
|
this.postScript.finished = () => socket.emit(`postscript-finished:${token}`);
|
|
16
17
|
}
|
|
@@ -20,5 +21,5 @@ const testRunEventsEmitter = new TestRunEventsEmitter();
|
|
|
20
21
|
export { testRunEventsEmitter };
|
|
21
22
|
|
|
22
23
|
type EventsEmitter = {
|
|
23
|
-
[funcName: string]: () => void |
|
|
24
|
+
[funcName: string]: () => void | Socket;
|
|
24
25
|
}
|
package/src/ws.ts
CHANGED
|
@@ -3,6 +3,19 @@ import { delay } from '@loadmill/universal/dist/promise-utils';
|
|
|
3
3
|
import log from '@loadmill/universal/dist/log';
|
|
4
4
|
import { HttpResponseStatus, LoadmillHeaders } from '@loadmill/core/dist/request';
|
|
5
5
|
import { RequestFailuresError } from './errors';
|
|
6
|
+
import { ClientRequest, IncomingMessage, IncomingHttpHeaders } from 'http';
|
|
7
|
+
import { Socket } from 'net';
|
|
8
|
+
|
|
9
|
+
declare class WS extends WebSocket {
|
|
10
|
+
_req: WSClientRequest | null;
|
|
11
|
+
}
|
|
12
|
+
declare class WSClientRequest extends ClientRequest {
|
|
13
|
+
socket: Socket & { parser: ParserIncomingMessage };
|
|
14
|
+
}
|
|
15
|
+
declare class ParserIncomingMessage {
|
|
16
|
+
incoming: IncomingMessage;
|
|
17
|
+
}
|
|
18
|
+
|
|
6
19
|
|
|
7
20
|
enum WSState {
|
|
8
21
|
CONNECTING,
|
|
@@ -34,10 +47,10 @@ export class WSRequest {
|
|
|
34
47
|
* @param cb This callback is being executed after we successfully connected to ws and sent a ws message if there was any
|
|
35
48
|
*/
|
|
36
49
|
async ok(cb: (response: WSResponse) => boolean) {
|
|
37
|
-
const response = {
|
|
38
|
-
status:
|
|
50
|
+
const response: WSResponse = {
|
|
51
|
+
status: undefined,
|
|
39
52
|
res: {
|
|
40
|
-
statusMessage:
|
|
53
|
+
statusMessage: undefined,
|
|
41
54
|
},
|
|
42
55
|
header: {},
|
|
43
56
|
req: {},
|
|
@@ -45,7 +58,7 @@ export class WSRequest {
|
|
|
45
58
|
|
|
46
59
|
const existingWS = this.wsHandler.getConnection(this.wsRequestArgs.url);
|
|
47
60
|
|
|
48
|
-
log.debug(`Connection state ${getConnectionState(existingWS)}`);
|
|
61
|
+
existingWS && log.debug(`Existing Connection state ${getConnectionState(existingWS)}`);
|
|
49
62
|
if (!existingWS || (existingWS && existingWS.readyState !== WSState.OPEN)) {
|
|
50
63
|
await this.addConnection(response);
|
|
51
64
|
} else {
|
|
@@ -71,13 +84,23 @@ export class WSRequest {
|
|
|
71
84
|
}
|
|
72
85
|
|
|
73
86
|
private async addEventListeners(response: WSResponse) {
|
|
74
|
-
this.addOnErrorListener();
|
|
87
|
+
this.addOnErrorListener(response);
|
|
75
88
|
this.addOnUpgradeListener(response);
|
|
76
89
|
this.addOnOpenListener();
|
|
77
90
|
this.addOnMessageListener();
|
|
78
91
|
}
|
|
79
92
|
|
|
80
|
-
private addOnErrorListener() {
|
|
93
|
+
private addOnErrorListener(response: WSResponse) {
|
|
94
|
+
this.ws.addEventListener('error', event => {
|
|
95
|
+
log.debug('inside addEventListener error');
|
|
96
|
+
try {
|
|
97
|
+
const target = event.target as WS;
|
|
98
|
+
this.updateResponseOnError(target, response);
|
|
99
|
+
} catch (e) {
|
|
100
|
+
log.error('Got an error inside addEventListener error', e);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
|
|
81
104
|
this.ws.on('error', (e) => {
|
|
82
105
|
try {
|
|
83
106
|
log.debug('inside on error', e);
|
|
@@ -95,6 +118,16 @@ export class WSRequest {
|
|
|
95
118
|
});
|
|
96
119
|
}
|
|
97
120
|
|
|
121
|
+
private updateResponseOnError(ws: WS, response: WSResponse) {
|
|
122
|
+
if (ws._req) {
|
|
123
|
+
const { statusCode, statusMessage, headers } = ws._req.socket.parser.incoming;
|
|
124
|
+
log.debug('Got incoming incoming request', { statusCode, statusMessage, headers });
|
|
125
|
+
response.status = statusCode;
|
|
126
|
+
response.res.statusMessage = statusMessage;
|
|
127
|
+
response.header = headers;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
98
131
|
private addOnUpgradeListener(response: WSResponse) {
|
|
99
132
|
this.ws.on('upgrade', (event) => {
|
|
100
133
|
try {
|
|
@@ -128,10 +161,17 @@ export class WSRequest {
|
|
|
128
161
|
|
|
129
162
|
async verifyOpen() {
|
|
130
163
|
const readyState = await this.waitForConnectedState(this.wsRequestArgs.timeout);
|
|
131
|
-
|
|
164
|
+
const connectionDebugMsg = `Connection ${WSState[readyState]}`;
|
|
165
|
+
log.debug(connectionDebugMsg);
|
|
132
166
|
if (readyState !== WebSocket.OPEN && !this.hasErrorOccured) {
|
|
133
|
-
|
|
134
|
-
|
|
167
|
+
let msg = 'Could not connect to WebSocket address: ';
|
|
168
|
+
log.debug(msg, { connectionState: WSState[readyState], url: this.ws.url });
|
|
169
|
+
if (readyState === WSState.CONNECTING) {
|
|
170
|
+
msg += 'request timeout';
|
|
171
|
+
} else { // CLOSING or CLOSED state
|
|
172
|
+
msg += connectionDebugMsg;
|
|
173
|
+
}
|
|
174
|
+
throw new RequestFailuresError(msg);
|
|
135
175
|
}
|
|
136
176
|
}
|
|
137
177
|
|
|
@@ -143,7 +183,7 @@ export class WSRequest {
|
|
|
143
183
|
*/
|
|
144
184
|
waitForConnectedState = async (timeout: number = WS_CONNECTION_TIMEOUT_MS): Promise<WSState> => {
|
|
145
185
|
const WS_CONNECTION_INTERVAL_MS = 100;
|
|
146
|
-
if (this.ws.readyState !== WebSocket.CONNECTING) {
|
|
186
|
+
if (this.ws.readyState != null && this.ws.readyState !== WebSocket.CONNECTING) {
|
|
147
187
|
return this.ws.readyState;
|
|
148
188
|
}
|
|
149
189
|
else {
|
|
@@ -224,10 +264,10 @@ export type WSRequestArguments = {
|
|
|
224
264
|
};
|
|
225
265
|
|
|
226
266
|
export type WSResponse = {
|
|
227
|
-
status
|
|
267
|
+
status?: number;
|
|
228
268
|
res: {
|
|
229
|
-
statusMessage
|
|
269
|
+
statusMessage?: string;
|
|
230
270
|
};
|
|
231
|
-
header: LoadmillHeaders;
|
|
271
|
+
header: LoadmillHeaders | IncomingHttpHeaders;
|
|
232
272
|
req: {};
|
|
233
273
|
}
|