@loadmill/executer 0.1.140 → 0.1.142
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/asserter.d.ts +9 -0
- package/dist/asserter.js +158 -0
- package/dist/asserter.js.map +1 -0
- package/dist/constants.d.ts +7 -0
- package/dist/constants.js +13 -0
- package/dist/constants.js.map +1 -0
- package/dist/cookies.d.ts +4 -0
- package/dist/cookies.js +79 -0
- package/dist/cookies.js.map +1 -0
- package/dist/errors.d.ts +5 -0
- package/dist/errors.js +38 -0
- package/dist/errors.js.map +1 -0
- package/dist/extraction-combiner.d.ts +17 -0
- package/dist/extraction-combiner.js +182 -0
- package/dist/extraction-combiner.js.map +1 -0
- package/dist/failures.d.ts +24 -0
- package/dist/failures.js +67 -0
- package/dist/failures.js.map +1 -0
- package/dist/grpc.d.ts +34 -0
- package/dist/grpc.js +269 -0
- package/dist/grpc.js.map +1 -0
- package/dist/iteration-stats.d.ts +2 -0
- package/dist/iteration-stats.js +38 -0
- package/dist/iteration-stats.js.map +1 -0
- package/dist/message-creators.d.ts +31 -0
- package/dist/message-creators.js +90 -0
- package/dist/message-creators.js.map +1 -0
- package/dist/mill-info.d.ts +70 -0
- package/dist/mill-info.js +3 -0
- package/dist/mill-info.js.map +1 -0
- package/dist/mill-version.d.ts +6 -0
- package/dist/mill-version.js +10 -0
- package/dist/mill-version.js.map +1 -0
- package/dist/parameter-pools.d.ts +3 -0
- package/dist/parameter-pools.js +69 -0
- package/dist/parameter-pools.js.map +1 -0
- package/dist/performance.d.ts +1 -0
- package/dist/performance.js +10 -0
- package/dist/performance.js.map +1 -0
- package/dist/post-script/ast-walker/index.d.ts +18 -0
- package/dist/post-script/ast-walker/index.js +215 -0
- package/dist/post-script/ast-walker/index.js.map +1 -0
- package/dist/post-script/ast-walker/type-guard.d.ts +11 -0
- package/dist/post-script/ast-walker/type-guard.js +56 -0
- package/dist/post-script/ast-walker/type-guard.js.map +1 -0
- package/dist/post-script/ast-walker/types.d.ts +24 -0
- package/dist/post-script/ast-walker/types.js +25 -0
- package/dist/post-script/ast-walker/types.js.map +1 -0
- package/dist/post-script/console-log.d.ts +7 -0
- package/dist/post-script/console-log.js +31 -0
- package/dist/post-script/console-log.js.map +1 -0
- package/dist/post-script/constants.d.ts +4 -0
- package/dist/post-script/constants.js +9 -0
- package/dist/post-script/constants.js.map +1 -0
- package/dist/post-script/parser/acorn-js-parser.d.ts +5 -0
- package/dist/post-script/parser/acorn-js-parser.js +20 -0
- package/dist/post-script/parser/acorn-js-parser.js.map +1 -0
- package/dist/post-script/parser/js-parser.d.ts +16 -0
- package/dist/post-script/parser/js-parser.js +3 -0
- package/dist/post-script/parser/js-parser.js.map +1 -0
- package/dist/post-script/parser/parser.d.ts +6 -0
- package/dist/post-script/parser/parser.js +3 -0
- package/dist/post-script/parser/parser.js.map +1 -0
- package/dist/post-script/post-script-executor.d.ts +24 -0
- package/dist/post-script/post-script-executor.js +125 -0
- package/dist/post-script/post-script-executor.js.map +1 -0
- package/dist/post-script/virtual-machine/virtual-machine.d.ts +13 -0
- package/dist/post-script/virtual-machine/virtual-machine.js +3 -0
- package/dist/post-script/virtual-machine/virtual-machine.js.map +1 -0
- package/dist/post-script/virtual-machine/vm2-virtual-machine.d.ts +12 -0
- package/dist/post-script/virtual-machine/vm2-virtual-machine.js +81 -0
- package/dist/post-script/virtual-machine/vm2-virtual-machine.js.map +1 -0
- package/dist/post-sequence.d.ts +2 -0
- package/dist/post-sequence.js +192 -0
- package/dist/post-sequence.js.map +1 -0
- package/dist/redact-data.d.ts +2 -0
- package/dist/redact-data.js +60 -0
- package/dist/redact-data.js.map +1 -0
- package/dist/report-types.d.ts +102 -0
- package/dist/report-types.js +11 -0
- package/dist/report-types.js.map +1 -0
- package/dist/request-sequence-result.d.ts +37 -0
- package/dist/request-sequence-result.js +19 -0
- package/dist/request-sequence-result.js.map +1 -0
- package/dist/request-stats.d.ts +13 -0
- package/dist/request-stats.js +14 -0
- package/dist/request-stats.js.map +1 -0
- package/dist/res-keeper.d.ts +16 -0
- package/dist/res-keeper.js +104 -0
- package/dist/res-keeper.js.map +1 -0
- package/dist/sampler.d.ts +29 -0
- package/dist/sampler.js +276 -0
- package/dist/sampler.js.map +1 -0
- package/dist/sequence-executor-like.d.ts +23 -0
- package/dist/sequence-executor-like.js +3 -0
- package/dist/sequence-executor-like.js.map +1 -0
- package/dist/sequence.d.ts +16 -0
- package/dist/sequence.js +1738 -0
- package/dist/sequence.js.map +1 -0
- package/dist/single-runner.d.ts +29 -0
- package/dist/single-runner.js +147 -0
- package/dist/single-runner.js.map +1 -0
- package/dist/step-handlers/code-step-handler.d.ts +12 -0
- package/dist/step-handlers/code-step-handler.js +93 -0
- package/dist/step-handlers/code-step-handler.js.map +1 -0
- package/dist/step-handlers/extract-step-handler.d.ts +12 -0
- package/dist/step-handlers/extract-step-handler.js +101 -0
- package/dist/step-handlers/extract-step-handler.js.map +1 -0
- package/dist/step-handlers/request-step-handler.d.ts +13 -0
- package/dist/step-handlers/request-step-handler.js +94 -0
- package/dist/step-handlers/request-step-handler.js.map +1 -0
- package/dist/step-handlers/step-handler.d.ts +11 -0
- package/dist/step-handlers/step-handler.js +3 -0
- package/dist/step-handlers/step-handler.js.map +1 -0
- package/dist/test-run-event-emitter.d.ts +15 -0
- package/dist/test-run-event-emitter.js +36 -0
- package/dist/test-run-event-emitter.js.map +1 -0
- package/dist/types/grpc.d.ts +14 -0
- package/dist/types/grpc.js +3 -0
- package/dist/types/grpc.js.map +1 -0
- package/dist/utils.d.ts +3 -0
- package/dist/utils.js +32 -0
- package/dist/utils.js.map +1 -0
- package/dist/work.d.ts +15 -0
- package/dist/work.js +3 -0
- package/dist/work.js.map +1 -0
- package/dist/ws.d.ts +71 -0
- package/dist/ws.js +474 -0
- package/dist/ws.js.map +1 -0
- package/package/dist/asserter.d.ts +9 -0
- package/package/dist/asserter.js +158 -0
- package/package/dist/asserter.js.map +1 -0
- package/package/dist/constants.d.ts +7 -0
- package/package/dist/constants.js +13 -0
- package/package/dist/constants.js.map +1 -0
- package/package/dist/cookies.d.ts +4 -0
- package/package/dist/cookies.js +79 -0
- package/package/dist/cookies.js.map +1 -0
- package/package/dist/errors.d.ts +5 -0
- package/package/dist/errors.js +38 -0
- package/package/dist/errors.js.map +1 -0
- package/package/dist/extraction-combiner.d.ts +17 -0
- package/package/dist/extraction-combiner.js +182 -0
- package/package/dist/extraction-combiner.js.map +1 -0
- package/package/dist/failures.d.ts +24 -0
- package/package/dist/failures.js +67 -0
- package/package/dist/failures.js.map +1 -0
- package/package/dist/grpc.d.ts +34 -0
- package/package/dist/grpc.js +269 -0
- package/package/dist/grpc.js.map +1 -0
- package/package/dist/iteration-stats.d.ts +2 -0
- package/package/dist/iteration-stats.js +38 -0
- package/package/dist/iteration-stats.js.map +1 -0
- package/package/dist/message-creators.d.ts +31 -0
- package/package/dist/message-creators.js +90 -0
- package/package/dist/message-creators.js.map +1 -0
- package/package/dist/mill-info.d.ts +70 -0
- package/package/dist/mill-info.js +3 -0
- package/package/dist/mill-info.js.map +1 -0
- package/package/dist/mill-version.d.ts +6 -0
- package/package/dist/mill-version.js +10 -0
- package/package/dist/mill-version.js.map +1 -0
- package/package/dist/parameter-pools.d.ts +3 -0
- package/package/dist/parameter-pools.js +69 -0
- package/package/dist/parameter-pools.js.map +1 -0
- package/package/dist/performance.d.ts +1 -0
- package/package/dist/performance.js +10 -0
- package/package/dist/performance.js.map +1 -0
- package/package/dist/post-script/ast-walker/index.d.ts +18 -0
- package/package/dist/post-script/ast-walker/index.js +215 -0
- package/package/dist/post-script/ast-walker/index.js.map +1 -0
- package/package/dist/post-script/ast-walker/type-guard.d.ts +11 -0
- package/package/dist/post-script/ast-walker/type-guard.js +56 -0
- package/package/dist/post-script/ast-walker/type-guard.js.map +1 -0
- package/package/dist/post-script/ast-walker/types.d.ts +24 -0
- package/package/dist/post-script/ast-walker/types.js +25 -0
- package/package/dist/post-script/ast-walker/types.js.map +1 -0
- package/package/dist/post-script/console-log.d.ts +7 -0
- package/package/dist/post-script/console-log.js +31 -0
- package/package/dist/post-script/console-log.js.map +1 -0
- package/package/dist/post-script/constants.d.ts +4 -0
- package/package/dist/post-script/constants.js +9 -0
- package/package/dist/post-script/constants.js.map +1 -0
- package/package/dist/post-script/parser/acorn-js-parser.d.ts +5 -0
- package/package/dist/post-script/parser/acorn-js-parser.js +20 -0
- package/package/dist/post-script/parser/acorn-js-parser.js.map +1 -0
- package/package/dist/post-script/parser/js-parser.d.ts +16 -0
- package/package/dist/post-script/parser/js-parser.js +3 -0
- package/package/dist/post-script/parser/js-parser.js.map +1 -0
- package/package/dist/post-script/parser/parser.d.ts +6 -0
- package/package/dist/post-script/parser/parser.js +3 -0
- package/package/dist/post-script/parser/parser.js.map +1 -0
- package/package/dist/post-script/post-script-executor.d.ts +24 -0
- package/package/dist/post-script/post-script-executor.js +125 -0
- package/package/dist/post-script/post-script-executor.js.map +1 -0
- package/package/dist/post-script/virtual-machine/virtual-machine.d.ts +13 -0
- package/package/dist/post-script/virtual-machine/virtual-machine.js +3 -0
- package/package/dist/post-script/virtual-machine/virtual-machine.js.map +1 -0
- package/package/dist/post-script/virtual-machine/vm2-virtual-machine.d.ts +12 -0
- package/package/dist/post-script/virtual-machine/vm2-virtual-machine.js +81 -0
- package/package/dist/post-script/virtual-machine/vm2-virtual-machine.js.map +1 -0
- package/package/dist/post-sequence.d.ts +2 -0
- package/package/dist/post-sequence.js +192 -0
- package/package/dist/post-sequence.js.map +1 -0
- package/package/dist/redact-data.d.ts +2 -0
- package/package/dist/redact-data.js +60 -0
- package/package/dist/redact-data.js.map +1 -0
- package/package/dist/report-types.d.ts +102 -0
- package/package/dist/report-types.js +11 -0
- package/package/dist/report-types.js.map +1 -0
- package/package/dist/request-sequence-result.d.ts +37 -0
- package/package/dist/request-sequence-result.js +19 -0
- package/package/dist/request-sequence-result.js.map +1 -0
- package/package/dist/request-stats.d.ts +13 -0
- package/package/dist/request-stats.js +14 -0
- package/package/dist/request-stats.js.map +1 -0
- package/package/dist/res-keeper.d.ts +16 -0
- package/package/dist/res-keeper.js +104 -0
- package/package/dist/res-keeper.js.map +1 -0
- package/package/dist/sampler.d.ts +29 -0
- package/package/dist/sampler.js +276 -0
- package/package/dist/sampler.js.map +1 -0
- package/package/dist/sequence-executor-like.d.ts +23 -0
- package/package/dist/sequence-executor-like.js +3 -0
- package/package/dist/sequence-executor-like.js.map +1 -0
- package/package/dist/sequence.d.ts +16 -0
- package/package/dist/sequence.js +1738 -0
- package/package/dist/sequence.js.map +1 -0
- package/package/dist/single-runner.d.ts +29 -0
- package/package/dist/single-runner.js +147 -0
- package/package/dist/single-runner.js.map +1 -0
- package/package/dist/step-handlers/code-step-handler.d.ts +12 -0
- package/package/dist/step-handlers/code-step-handler.js +93 -0
- package/package/dist/step-handlers/code-step-handler.js.map +1 -0
- package/package/dist/step-handlers/extract-step-handler.d.ts +12 -0
- package/package/dist/step-handlers/extract-step-handler.js +101 -0
- package/package/dist/step-handlers/extract-step-handler.js.map +1 -0
- package/package/dist/step-handlers/request-step-handler.d.ts +13 -0
- package/package/dist/step-handlers/request-step-handler.js +94 -0
- package/package/dist/step-handlers/request-step-handler.js.map +1 -0
- package/package/dist/step-handlers/step-handler.d.ts +11 -0
- package/package/dist/step-handlers/step-handler.js +3 -0
- package/package/dist/step-handlers/step-handler.js.map +1 -0
- package/package/dist/test-run-event-emitter.d.ts +15 -0
- package/package/dist/test-run-event-emitter.js +36 -0
- package/package/dist/test-run-event-emitter.js.map +1 -0
- package/package/dist/types/grpc.d.ts +14 -0
- package/package/dist/types/grpc.js +3 -0
- package/package/dist/types/grpc.js.map +1 -0
- package/package/dist/utils.d.ts +3 -0
- package/package/dist/utils.js +32 -0
- package/package/dist/utils.js.map +1 -0
- package/package/dist/work.d.ts +15 -0
- package/package/dist/work.js +3 -0
- package/package/dist/work.js.map +1 -0
- package/package/dist/ws.d.ts +71 -0
- package/package/dist/ws.js +474 -0
- package/package/dist/ws.js.map +1 -0
- package/package.json +4 -3
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
22
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
23
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
24
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
25
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
26
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
27
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
31
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
32
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
33
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
34
|
+
function step(op) {
|
|
35
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
36
|
+
while (_) try {
|
|
37
|
+
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;
|
|
38
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
39
|
+
switch (op[0]) {
|
|
40
|
+
case 0: case 1: t = op; break;
|
|
41
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
42
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
43
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
44
|
+
default:
|
|
45
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
46
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
47
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
48
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
49
|
+
if (t[2]) _.ops.pop();
|
|
50
|
+
_.trys.pop(); continue;
|
|
51
|
+
}
|
|
52
|
+
op = body.call(thisArg, _);
|
|
53
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
54
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
58
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
59
|
+
};
|
|
60
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
61
|
+
exports.GRPCRequest = void 0;
|
|
62
|
+
var util_1 = require("util");
|
|
63
|
+
var grpc = __importStar(require("@grpc/grpc-js"));
|
|
64
|
+
var protoLoader = __importStar(require("@grpc/proto-loader"));
|
|
65
|
+
var request_1 = require("@loadmill/core/dist/request");
|
|
66
|
+
var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
|
|
67
|
+
var lodash_1 = require("lodash");
|
|
68
|
+
var fs_1 = __importDefault(require("fs"));
|
|
69
|
+
var protobufjs_1 = __importDefault(require("protobufjs"));
|
|
70
|
+
var errors_1 = require("./errors");
|
|
71
|
+
var options = {
|
|
72
|
+
keepCase: true,
|
|
73
|
+
longs: String,
|
|
74
|
+
enums: String,
|
|
75
|
+
defaults: true,
|
|
76
|
+
oneofs: true,
|
|
77
|
+
};
|
|
78
|
+
var GRPCRequest = /** @class */ (function () {
|
|
79
|
+
function GRPCRequest(grpcRequestArgs, onError, protoFileRootPath) {
|
|
80
|
+
Object.defineProperty(this, "grpcRequestArgs", {
|
|
81
|
+
enumerable: true,
|
|
82
|
+
configurable: true,
|
|
83
|
+
writable: true,
|
|
84
|
+
value: grpcRequestArgs
|
|
85
|
+
});
|
|
86
|
+
Object.defineProperty(this, "onError", {
|
|
87
|
+
enumerable: true,
|
|
88
|
+
configurable: true,
|
|
89
|
+
writable: true,
|
|
90
|
+
value: onError
|
|
91
|
+
});
|
|
92
|
+
Object.defineProperty(this, "protoFileRootPath", {
|
|
93
|
+
enumerable: true,
|
|
94
|
+
configurable: true,
|
|
95
|
+
writable: true,
|
|
96
|
+
value: protoFileRootPath
|
|
97
|
+
});
|
|
98
|
+
Object.defineProperty(this, "url", {
|
|
99
|
+
enumerable: true,
|
|
100
|
+
configurable: true,
|
|
101
|
+
writable: true,
|
|
102
|
+
value: void 0
|
|
103
|
+
});
|
|
104
|
+
Object.defineProperty(this, "expectedStatus", {
|
|
105
|
+
enumerable: true,
|
|
106
|
+
configurable: true,
|
|
107
|
+
writable: true,
|
|
108
|
+
value: void 0
|
|
109
|
+
});
|
|
110
|
+
this.expectedStatus = grpcRequestArgs.expectedStatus;
|
|
111
|
+
this.url = grpcRequestArgs.url;
|
|
112
|
+
}
|
|
113
|
+
Object.defineProperty(GRPCRequest.prototype, "ok", {
|
|
114
|
+
enumerable: false,
|
|
115
|
+
configurable: true,
|
|
116
|
+
writable: true,
|
|
117
|
+
value: function (cb) {
|
|
118
|
+
var _a;
|
|
119
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
120
|
+
var response_1, packageDefinition, protoDescriptor, fullServicePath, Service, client, onEnd_1, msg, metadata, _i, _b, _c, key, value, messages_1, call_1, call, res, e_1, isExpectedStatus, message, e_2;
|
|
121
|
+
var _d;
|
|
122
|
+
var _this = this;
|
|
123
|
+
return __generator(this, function (_e) {
|
|
124
|
+
switch (_e.label) {
|
|
125
|
+
case 0:
|
|
126
|
+
_e.trys.push([0, 9, , 10]);
|
|
127
|
+
response_1 = {
|
|
128
|
+
status: undefined,
|
|
129
|
+
res: {
|
|
130
|
+
statusMessage: undefined,
|
|
131
|
+
},
|
|
132
|
+
header: {},
|
|
133
|
+
req: {},
|
|
134
|
+
text: '',
|
|
135
|
+
};
|
|
136
|
+
packageDefinition = protoLoader.loadSync(this.protoFileRootPath, options);
|
|
137
|
+
protoDescriptor = grpc.loadPackageDefinition(packageDefinition);
|
|
138
|
+
fullServicePath = _getServicePath(this.protoFileRootPath, this.grpcRequestArgs.service);
|
|
139
|
+
Service = lodash_1.get(protoDescriptor, fullServicePath);
|
|
140
|
+
client = new Service(this.grpcRequestArgs.domain, decideChannelCredentials(this.grpcRequestArgs));
|
|
141
|
+
onEnd_1 = function (res) {
|
|
142
|
+
response_1.status = grpc.status.OK;
|
|
143
|
+
response_1.text = JSON.stringify(res);
|
|
144
|
+
response_1.type = 'application/json';
|
|
145
|
+
response_1.res.statusMessage = 'OK';
|
|
146
|
+
};
|
|
147
|
+
msg = JSON.parse(this.grpcRequestArgs.message || '{}');
|
|
148
|
+
metadata = new grpc.Metadata();
|
|
149
|
+
for (_i = 0, _b = Object.entries(this.grpcRequestArgs.headers); _i < _b.length; _i++) {
|
|
150
|
+
_c = _b[_i], key = _c[0], value = _c[1];
|
|
151
|
+
metadata.set(key, value);
|
|
152
|
+
}
|
|
153
|
+
_e.label = 1;
|
|
154
|
+
case 1:
|
|
155
|
+
_e.trys.push([1, 6, 7, 8]);
|
|
156
|
+
if (!((_a = packageDefinition[this.grpcRequestArgs.service][this.grpcRequestArgs.method]) === null || _a === void 0 ? void 0 : _a.responseStream)) return [3 /*break*/, 3];
|
|
157
|
+
log_1.default.debug('Request is a stream', { args: this.grpcRequestArgs });
|
|
158
|
+
messages_1 = [];
|
|
159
|
+
call_1 = client[this.grpcRequestArgs.method](msg, metadata, { deadline: Date.now() + this.grpcRequestArgs.timeout });
|
|
160
|
+
log_1.default.debug('Streaming...');
|
|
161
|
+
call_1.on('data', function (response) {
|
|
162
|
+
log_1.default.debug('Received:', response);
|
|
163
|
+
messages_1.push(response);
|
|
164
|
+
});
|
|
165
|
+
call_1.on('status', function (status) {
|
|
166
|
+
log_1.default.debug('Stream status:', status);
|
|
167
|
+
});
|
|
168
|
+
call_1.on('error', function (e) {
|
|
169
|
+
log_1.default.debug('Stream error:', e);
|
|
170
|
+
response_1.status = e.code;
|
|
171
|
+
response_1.res.statusMessage = e.details;
|
|
172
|
+
});
|
|
173
|
+
return [4 /*yield*/, new Promise(function (resolve) { return call_1.on('end', function () { return __awaiter(_this, void 0, void 0, function () {
|
|
174
|
+
return __generator(this, function (_a) {
|
|
175
|
+
log_1.default.debug('Stream ended');
|
|
176
|
+
onEnd_1(messages_1);
|
|
177
|
+
resolve();
|
|
178
|
+
return [2 /*return*/];
|
|
179
|
+
});
|
|
180
|
+
}); }); })];
|
|
181
|
+
case 2:
|
|
182
|
+
_e.sent();
|
|
183
|
+
return [3 /*break*/, 5];
|
|
184
|
+
case 3:
|
|
185
|
+
call = util_1.promisify(client[this.grpcRequestArgs.method].bind(client));
|
|
186
|
+
return [4 /*yield*/, call(msg, metadata, { deadline: Date.now() + this.grpcRequestArgs.timeout })];
|
|
187
|
+
case 4:
|
|
188
|
+
res = _e.sent();
|
|
189
|
+
onEnd_1(res);
|
|
190
|
+
_e.label = 5;
|
|
191
|
+
case 5: return [3 /*break*/, 8];
|
|
192
|
+
case 6:
|
|
193
|
+
e_1 = _e.sent();
|
|
194
|
+
log_1.default.error('gRPC request failed', e_1);
|
|
195
|
+
response_1.status = e_1.code;
|
|
196
|
+
response_1.res.statusMessage = e_1.details;
|
|
197
|
+
return [3 /*break*/, 8];
|
|
198
|
+
case 7:
|
|
199
|
+
client.close();
|
|
200
|
+
return [7 /*endfinally*/];
|
|
201
|
+
case 8:
|
|
202
|
+
isExpectedStatus = cb(response_1, _isExpectedGRPCStatus);
|
|
203
|
+
if (!isExpectedStatus) {
|
|
204
|
+
message = "gRPC status " + response_1.status + " - " + response_1.res.statusMessage;
|
|
205
|
+
this.onError(new errors_1.RequestFailuresError(message, (_d = {}, _d[message] = 1, _d)));
|
|
206
|
+
}
|
|
207
|
+
return [2 /*return*/, response_1];
|
|
208
|
+
case 9:
|
|
209
|
+
e_2 = _e.sent();
|
|
210
|
+
log_1.default.error('gRPC request failed', e_2);
|
|
211
|
+
this.onError(e_2);
|
|
212
|
+
return [3 /*break*/, 10];
|
|
213
|
+
case 10: return [2 /*return*/];
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
// need this because the SequenceExecutor expectes a request obj with on func prop
|
|
220
|
+
Object.defineProperty(GRPCRequest.prototype, "on", {
|
|
221
|
+
enumerable: false,
|
|
222
|
+
configurable: true,
|
|
223
|
+
writable: true,
|
|
224
|
+
value: function (_eventName, _cb) {
|
|
225
|
+
//do nothing
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
return GRPCRequest;
|
|
229
|
+
}());
|
|
230
|
+
exports.GRPCRequest = GRPCRequest;
|
|
231
|
+
var _isExpectedGRPCStatus = function (_a, status) {
|
|
232
|
+
var expectedStatus = _a.expectedStatus, url = _a.url;
|
|
233
|
+
if (expectedStatus === request_1.ALLOWED_RESPONSE_STATUSES.SUCCESS) {
|
|
234
|
+
return status === grpc.status.OK;
|
|
235
|
+
}
|
|
236
|
+
else if (expectedStatus === request_1.ALLOWED_RESPONSE_STATUSES.ERROR) {
|
|
237
|
+
log_1.default.debug('user asked to fail this request', url);
|
|
238
|
+
return status !== grpc.status.OK;
|
|
239
|
+
}
|
|
240
|
+
else if (expectedStatus === request_1.ALLOWED_RESPONSE_STATUSES.ANY) {
|
|
241
|
+
return true;
|
|
242
|
+
}
|
|
243
|
+
log_1.default.warn('Expected status is not valid, expectedStatus');
|
|
244
|
+
return false;
|
|
245
|
+
};
|
|
246
|
+
var _getProtoFilePackageName = function (protoFileRootPath) {
|
|
247
|
+
var fileContent = fs_1.default.readFileSync(protoFileRootPath, 'utf-8');
|
|
248
|
+
var parsedProto = protobufjs_1.default.parse(fileContent, {
|
|
249
|
+
keepCase: true,
|
|
250
|
+
alternateCommentMode: true,
|
|
251
|
+
});
|
|
252
|
+
return parsedProto.package;
|
|
253
|
+
};
|
|
254
|
+
var _getServicePath = function (protoFileRootPath, service) {
|
|
255
|
+
var servicePath = service;
|
|
256
|
+
if (!_isServiceIncludesPackageName(service)) { // legacy
|
|
257
|
+
var packageName = _getProtoFilePackageName(protoFileRootPath);
|
|
258
|
+
servicePath = "" + (packageName ? packageName + "." : '') + service;
|
|
259
|
+
}
|
|
260
|
+
return servicePath;
|
|
261
|
+
};
|
|
262
|
+
var _isServiceIncludesPackageName = function (service) { return service.includes('.'); };
|
|
263
|
+
var decideChannelCredentials = function (grpcRequestArgs) {
|
|
264
|
+
if (grpcRequestArgs.url.endsWith('443')) {
|
|
265
|
+
return grpc.credentials.createSsl();
|
|
266
|
+
}
|
|
267
|
+
return grpc.credentials.createInsecure();
|
|
268
|
+
};
|
|
269
|
+
//# sourceMappingURL=grpc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grpc.js","sourceRoot":"","sources":["../src/grpc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.calcIterationDuration = void 0;
|
|
7
|
+
var parameters_1 = require("@loadmill/core/dist/parameters");
|
|
8
|
+
var findLast_1 = __importDefault(require("lodash/findLast"));
|
|
9
|
+
var isEmpty_1 = __importDefault(require("lodash/isEmpty"));
|
|
10
|
+
var calcIterationDuration = function (iterationRes) {
|
|
11
|
+
var iterationStartTime = _getIterationStartTime(iterationRes);
|
|
12
|
+
var iterationEndTime = _getIterationEndTime(iterationRes);
|
|
13
|
+
var iterationDuration = iterationEndTime ? iterationEndTime - iterationStartTime : 0;
|
|
14
|
+
return iterationDuration;
|
|
15
|
+
};
|
|
16
|
+
exports.calcIterationDuration = calcIterationDuration;
|
|
17
|
+
var _getIterationStartTime = function (iterationRes) {
|
|
18
|
+
var _a;
|
|
19
|
+
var firstResolvedRequest = (_a = iterationRes.resolvedRequests) === null || _a === void 0 ? void 0 : _a.find(function (rr) { return !isEmpty_1.default(rr.postParameters); });
|
|
20
|
+
return firstResolvedRequest ? _getRequestsStartTime(firstResolvedRequest) : 0;
|
|
21
|
+
};
|
|
22
|
+
var _getRequestsStartTime = function (request) {
|
|
23
|
+
return _getReqStartOrEndTime(request, parameters_1.BUILT_IN_PARAMS.requestStartTime);
|
|
24
|
+
};
|
|
25
|
+
var _getIterationEndTime = function (iterationRes) {
|
|
26
|
+
var lastResolvedRequest = findLast_1.default(iterationRes.resolvedRequests, function (rr) { return !isEmpty_1.default(rr.postParameters); });
|
|
27
|
+
return lastResolvedRequest ? _getRequestsEndTime(lastResolvedRequest) : 0;
|
|
28
|
+
};
|
|
29
|
+
var _getRequestsEndTime = function (request) {
|
|
30
|
+
return _getReqStartOrEndTime(request, parameters_1.BUILT_IN_PARAMS.responseEndTime);
|
|
31
|
+
};
|
|
32
|
+
var _getReqStartOrEndTime = function (request, paramName) {
|
|
33
|
+
var _a;
|
|
34
|
+
var param = (_a = request.postParameters) === null || _a === void 0 ? void 0 : _a.find(function (p) { return p[paramName]; });
|
|
35
|
+
var paramVal = param === null || param === void 0 ? void 0 : param[paramName];
|
|
36
|
+
return Number(paramVal) || 0;
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=iteration-stats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iteration-stats.js","sourceRoot":"","sources":["../src/iteration-stats.ts"],"names":[],"mappings":";;;;;;AAAA,6DAAiE;AACjE,6DAAuC;AAEvC,2DAAqC;AAI9B,IAAM,qBAAqB,GAAG,UAAC,YAAmC;IACvE,IAAM,kBAAkB,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAChE,IAAM,gBAAgB,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAC5D,IAAM,iBAAiB,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AALW,QAAA,qBAAqB,yBAKhC;AAEF,IAAM,sBAAsB,GAAG,UAAC,YAAmC;;IACjE,IAAM,oBAAoB,GAAG,MAAA,YAAY,CAAC,gBAAgB,0CAAE,IAAI,CAAC,UAAA,EAAE,IAAI,OAAA,CAAC,iBAAO,CAAC,EAAE,CAAC,cAAc,CAAC,EAA3B,CAA2B,CAAC,CAAC;IACpG,OAAO,oBAAoB,CAAC,CAAC,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC,CAAC;AAEF,IAAM,qBAAqB,GAAG,UAAC,OAAwB;IACrD,OAAA,qBAAqB,CAAC,OAAO,EAAE,4BAAe,CAAC,gBAAgB,CAAC;AAAhE,CAAgE,CAAC;AAEnE,IAAM,oBAAoB,GAAG,UAAC,YAAmC;IAC/D,IAAM,mBAAmB,GAAG,kBAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE,UAAA,EAAE,IAAI,OAAA,CAAC,iBAAO,CAAC,EAAE,CAAC,cAAc,CAAC,EAA3B,CAA2B,CAAC,CAAC;IACvG,OAAO,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF,IAAM,mBAAmB,GAAG,UAAC,OAAwB;IACnD,OAAA,qBAAqB,CAAC,OAAO,EAAE,4BAAe,CAAC,eAAe,CAAC;AAA/D,CAA+D,CAAC;AAElE,IAAM,qBAAqB,GAAG,UAC5B,OAAwB,EACxB,SAA2F;;IAE3F,IAAM,KAAK,GAAG,MAAA,OAAO,CAAC,cAAc,0CAAE,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,SAAS,CAAC,EAAZ,CAAY,CAAC,CAAC;IAC9D,IAAM,QAAQ,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,SAAS,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Work } from './work';
|
|
2
|
+
import { FromMillStatsReport } from './report-types';
|
|
3
|
+
import { RequestSequenceResult } from './request-sequence-result';
|
|
4
|
+
export declare const messageCreators: {
|
|
5
|
+
work(work: any): string;
|
|
6
|
+
askRes(failureKeys: any): string;
|
|
7
|
+
report(report: any): string;
|
|
8
|
+
fullRes(results: any): string;
|
|
9
|
+
};
|
|
10
|
+
export declare class WorkLordMessage {
|
|
11
|
+
work: Work;
|
|
12
|
+
readonly type = "work";
|
|
13
|
+
constructor(work: Work);
|
|
14
|
+
}
|
|
15
|
+
export declare class AskResLordMessage {
|
|
16
|
+
failureKeys: string[];
|
|
17
|
+
readonly type = "askRes";
|
|
18
|
+
constructor(failureKeys: string[]);
|
|
19
|
+
}
|
|
20
|
+
export declare class ReportMillMessage {
|
|
21
|
+
report: FromMillStatsReport;
|
|
22
|
+
readonly type = "report";
|
|
23
|
+
constructor(report: FromMillStatsReport);
|
|
24
|
+
}
|
|
25
|
+
export declare class FullResMillMessage {
|
|
26
|
+
results: RequestSequenceResult[];
|
|
27
|
+
readonly type = "fullRes";
|
|
28
|
+
constructor(results: RequestSequenceResult[]);
|
|
29
|
+
}
|
|
30
|
+
export declare type LordMessage = WorkLordMessage | AskResLordMessage;
|
|
31
|
+
export declare type MillMessage = ReportMillMessage | FullResMillMessage;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FullResMillMessage = exports.ReportMillMessage = exports.AskResLordMessage = exports.WorkLordMessage = exports.messageCreators = void 0;
|
|
4
|
+
exports.messageCreators = {
|
|
5
|
+
work: function (work) {
|
|
6
|
+
return JSON.stringify(new WorkLordMessage(work));
|
|
7
|
+
},
|
|
8
|
+
askRes: function (failureKeys) {
|
|
9
|
+
return JSON.stringify(new AskResLordMessage(failureKeys));
|
|
10
|
+
},
|
|
11
|
+
report: function (report) {
|
|
12
|
+
return JSON.stringify(new ReportMillMessage(report));
|
|
13
|
+
},
|
|
14
|
+
fullRes: function (results) {
|
|
15
|
+
return JSON.stringify(new FullResMillMessage(results));
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
var WorkLordMessage = /** @class */ (function () {
|
|
19
|
+
function WorkLordMessage(work) {
|
|
20
|
+
Object.defineProperty(this, "work", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
configurable: true,
|
|
23
|
+
writable: true,
|
|
24
|
+
value: work
|
|
25
|
+
});
|
|
26
|
+
Object.defineProperty(this, "type", {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
configurable: true,
|
|
29
|
+
writable: true,
|
|
30
|
+
value: 'work'
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return WorkLordMessage;
|
|
34
|
+
}());
|
|
35
|
+
exports.WorkLordMessage = WorkLordMessage;
|
|
36
|
+
var AskResLordMessage = /** @class */ (function () {
|
|
37
|
+
function AskResLordMessage(failureKeys) {
|
|
38
|
+
Object.defineProperty(this, "failureKeys", {
|
|
39
|
+
enumerable: true,
|
|
40
|
+
configurable: true,
|
|
41
|
+
writable: true,
|
|
42
|
+
value: failureKeys
|
|
43
|
+
});
|
|
44
|
+
Object.defineProperty(this, "type", {
|
|
45
|
+
enumerable: true,
|
|
46
|
+
configurable: true,
|
|
47
|
+
writable: true,
|
|
48
|
+
value: 'askRes'
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return AskResLordMessage;
|
|
52
|
+
}());
|
|
53
|
+
exports.AskResLordMessage = AskResLordMessage;
|
|
54
|
+
var ReportMillMessage = /** @class */ (function () {
|
|
55
|
+
function ReportMillMessage(report) {
|
|
56
|
+
Object.defineProperty(this, "report", {
|
|
57
|
+
enumerable: true,
|
|
58
|
+
configurable: true,
|
|
59
|
+
writable: true,
|
|
60
|
+
value: report
|
|
61
|
+
});
|
|
62
|
+
Object.defineProperty(this, "type", {
|
|
63
|
+
enumerable: true,
|
|
64
|
+
configurable: true,
|
|
65
|
+
writable: true,
|
|
66
|
+
value: 'report'
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
return ReportMillMessage;
|
|
70
|
+
}());
|
|
71
|
+
exports.ReportMillMessage = ReportMillMessage;
|
|
72
|
+
var FullResMillMessage = /** @class */ (function () {
|
|
73
|
+
function FullResMillMessage(results) {
|
|
74
|
+
Object.defineProperty(this, "results", {
|
|
75
|
+
enumerable: true,
|
|
76
|
+
configurable: true,
|
|
77
|
+
writable: true,
|
|
78
|
+
value: results
|
|
79
|
+
});
|
|
80
|
+
Object.defineProperty(this, "type", {
|
|
81
|
+
enumerable: true,
|
|
82
|
+
configurable: true,
|
|
83
|
+
writable: true,
|
|
84
|
+
value: 'fullRes'
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
return FullResMillMessage;
|
|
88
|
+
}());
|
|
89
|
+
exports.FullResMillMessage = FullResMillMessage;
|
|
90
|
+
//# sourceMappingURL=message-creators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-creators.js","sourceRoot":"","sources":["../src/message-creators.ts"],"names":[],"mappings":";;;AAIa,QAAA,eAAe,GAAG;IAC7B,IAAI,YAAC,IAAI;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,YAAC,WAAW;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,YAAC,MAAM;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,YAAC,OAAO;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;CACF,CAAC;AAEF;IAEE,yBAAmB,IAAU;;;;;mBAAV;;QADnB;;;;mBAAgB,MAAM;WAAC;IACS,CAAC;IACnC,sBAAC;AAAD,CAAC,AAHD,IAGC;AAHY,0CAAe;AAK5B;IAEE,2BAAmB,WAAqB;;;;;mBAArB;;QADnB;;;;mBAAgB,QAAQ;WAAC;IACkB,CAAC;IAC9C,wBAAC;AAAD,CAAC,AAHD,IAGC;AAHY,8CAAiB;AAK9B;IAEE,2BAAmB,MAA2B;;;;;mBAA3B;;QADnB;;;;mBAAgB,QAAQ;WAAC;IACwB,CAAC;IACpD,wBAAC;AAAD,CAAC,AAHD,IAGC;AAHY,8CAAiB;AAK9B;IAEE,4BAAmB,OAAgC;;;;;mBAAhC;;QADnB;;;;mBAAgB,SAAS;WAAC;IAC4B,CAAC;IACzD,yBAAC;AAAD,CAAC,AAHD,IAGC;AAHY,gDAAkB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export interface MillInfo {
|
|
2
|
+
/**
|
|
3
|
+
* The mill socket IP address (or addresses in case IP is forwarded).
|
|
4
|
+
*/
|
|
5
|
+
IPs: string[];
|
|
6
|
+
/**
|
|
7
|
+
* True if and only if this mill is a spy.
|
|
8
|
+
*/
|
|
9
|
+
spy: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* True if and only if this mill is a simulator.
|
|
12
|
+
*/
|
|
13
|
+
sim: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* True if and only if this mill restricted to using SSL.
|
|
16
|
+
*/
|
|
17
|
+
onlySsl: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* True if and only if this mill has cookie support.
|
|
20
|
+
*/
|
|
21
|
+
cookieAble: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* True if and only if this mill runs through a proxy.
|
|
24
|
+
*/
|
|
25
|
+
proxyAble: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Number of loads capable of running (Angie)
|
|
28
|
+
*/
|
|
29
|
+
loadsCapacity: number;
|
|
30
|
+
/**
|
|
31
|
+
* The location resolved from the first mill IP or an empty string.
|
|
32
|
+
*/
|
|
33
|
+
location: string;
|
|
34
|
+
/**
|
|
35
|
+
* The country code provided by Cloudflare or empty string.
|
|
36
|
+
*/
|
|
37
|
+
countryCode: string;
|
|
38
|
+
/**
|
|
39
|
+
* The mill user-agent string or an empty string.
|
|
40
|
+
*/
|
|
41
|
+
userAgent: string;
|
|
42
|
+
/**
|
|
43
|
+
* The mill browser and version (parsed from user-agent string).
|
|
44
|
+
*/
|
|
45
|
+
browserVersion: string;
|
|
46
|
+
/**
|
|
47
|
+
* The full affiliate id.
|
|
48
|
+
*/
|
|
49
|
+
affiliateId: string;
|
|
50
|
+
/**
|
|
51
|
+
* The owner of the agent.
|
|
52
|
+
*/
|
|
53
|
+
userId?: string;
|
|
54
|
+
/**
|
|
55
|
+
* The agent's owner's team.
|
|
56
|
+
*/
|
|
57
|
+
teamId?: string;
|
|
58
|
+
/**
|
|
59
|
+
* Agent pool(if the user supplied)
|
|
60
|
+
*/
|
|
61
|
+
pool?: string;
|
|
62
|
+
/**
|
|
63
|
+
* If the agent can't handle API tests
|
|
64
|
+
*/
|
|
65
|
+
noApi: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* The NodeJs version the agent runs on
|
|
68
|
+
*/
|
|
69
|
+
nodeVersion?: string;
|
|
70
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mill-info.js","sourceRoot":"","sources":["../src/mill-info.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.millVersionString = exports.millVersion = void 0;
|
|
4
|
+
exports.millVersion = {
|
|
5
|
+
major: 9,
|
|
6
|
+
minor: 96,
|
|
7
|
+
patch: 0,
|
|
8
|
+
};
|
|
9
|
+
exports.millVersionString = exports.millVersion.major + "." + exports.millVersion.minor + "." + exports.millVersion.patch;
|
|
10
|
+
//# sourceMappingURL=mill-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mill-version.js","sourceRoot":"","sources":["../src/mill-version.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG;IACzB,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,CAAC;CACT,CAAC;AAEW,QAAA,iBAAiB,GAAM,mBAAW,CAAC,KAAK,SAAI,mBAAW,CAAC,KAAK,SAAI,mBAAW,CAAC,KAAO,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
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
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.generateValuesForParameterPools = void 0;
|
|
43
|
+
var superagent_1 = __importDefault(require("superagent"));
|
|
44
|
+
var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
|
|
45
|
+
function generateValuesForParameterPools(runId) {
|
|
46
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
47
|
+
var body, error_1;
|
|
48
|
+
return __generator(this, function (_a) {
|
|
49
|
+
switch (_a.label) {
|
|
50
|
+
case 0:
|
|
51
|
+
_a.trys.push([0, 2, , 3]);
|
|
52
|
+
return [4 /*yield*/, superagent_1.default
|
|
53
|
+
.get((process.env.VALUES_GENERATOR_URL || 'https://val-gen.loadmill.com') + "/" + runId + "/next-parameter")];
|
|
54
|
+
case 1:
|
|
55
|
+
body = (_a.sent()).body;
|
|
56
|
+
return [2 /*return*/, typeof body === 'function' ?
|
|
57
|
+
body() : // angie
|
|
58
|
+
body]; // agent
|
|
59
|
+
case 2:
|
|
60
|
+
error_1 = _a.sent();
|
|
61
|
+
log_1.default.error('Can\'t GET generated values for parameter pools ', error_1);
|
|
62
|
+
return [2 /*return*/, {}];
|
|
63
|
+
case 3: return [2 /*return*/];
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
exports.generateValuesForParameterPools = generateValuesForParameterPools;
|
|
69
|
+
//# sourceMappingURL=parameter-pools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameter-pools.js","sourceRoot":"","sources":["../src/parameter-pools.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAoC;AACpC,qEAA+C;AAE/C,SAAsB,+BAA+B,CAAC,KAAa;;;;;;;oBAE9C,qBAAM,oBAAU;6BAC9B,GAAG,CACF,CAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,8BAA8B,UAAI,KAAK,oBAAiB,CAChG,EAAA;;oBAHK,IAAI,GAAK,CAAA,SAGd,CAAA,KAHS;oBAIZ,sBAAO,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC;4BACjC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ;4BACjB,IAAI,EAAC,CAAC,QAAQ;;;oBAEhB,aAAG,CAAC,KAAK,CAAC,kDAAkD,EAAE,OAAK,CAAC,CAAC;oBACrE,sBAAO,EAAE,EAAC;;;;;CAEb;AAbD,0EAaC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isPerformance: boolean;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.isPerformance = void 0;
|
|
7
|
+
var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
|
|
8
|
+
exports.isPerformance = typeof performance !== 'undefined';
|
|
9
|
+
log_1.default.debug('isPerformance =', exports.isPerformance);
|
|
10
|
+
//# sourceMappingURL=performance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance.js","sourceRoot":"","sources":["../src/performance.ts"],"names":[],"mappings":";;;;;;AAAA,qEAA+C;AAElC,QAAA,aAAa,GAAG,OAAO,WAAW,KAAK,WAAW,CAAC;AAChE,aAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,qBAAa,CAAC,CAAC"}
|