@loadmill/core 0.3.109 → 0.3.111
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/conf/defaults.d.ts +1 -0
- package/dist/conf/defaults.js +11 -0
- package/dist/conf/defaults.js.map +1 -0
- package/dist/conf/extrema.d.ts +7 -0
- package/dist/conf/extrema.js +12 -0
- package/dist/conf/extrema.js.map +1 -0
- package/dist/conf/index.d.ts +15 -0
- package/dist/conf/index.js +80 -0
- package/dist/conf/index.js.map +1 -0
- package/dist/conf/notifications.d.ts +2 -0
- package/dist/conf/notifications.js +19 -0
- package/dist/conf/notifications.js.map +1 -0
- package/dist/conf/types.d.ts +110 -0
- package/dist/conf/types.js +38 -0
- package/dist/conf/types.js.map +1 -0
- package/dist/conf/validate.d.ts +69 -0
- package/dist/conf/validate.js +495 -0
- package/dist/conf/validate.js.map +1 -0
- package/dist/distributed-logger-reporter.d.ts +3 -0
- package/dist/distributed-logger-reporter.js +74 -0
- package/dist/distributed-logger-reporter.js.map +1 -0
- package/dist/echo/firehose.d.ts +7 -0
- package/dist/echo/firehose.js +130 -0
- package/dist/echo/firehose.js.map +1 -0
- package/dist/echo/index.d.ts +3 -0
- package/dist/echo/index.js +8 -0
- package/dist/echo/index.js.map +1 -0
- package/dist/echo/stats.d.ts +8 -0
- package/dist/echo/stats.js +152 -0
- package/dist/echo/stats.js.map +1 -0
- package/dist/har/index.d.ts +68 -0
- package/dist/har/index.js +14 -0
- package/dist/har/index.js.map +1 -0
- package/dist/labels/constants.d.ts +1 -0
- package/dist/labels/constants.js +5 -0
- package/dist/labels/constants.js.map +1 -0
- package/dist/multipart-form-data/files.d.ts +2 -0
- package/dist/multipart-form-data/files.js +63 -0
- package/dist/multipart-form-data/files.js.map +1 -0
- package/dist/multipart-form-data/form-data-utils.d.ts +19 -0
- package/dist/multipart-form-data/form-data-utils.js +117 -0
- package/dist/multipart-form-data/form-data-utils.js.map +1 -0
- package/dist/multipart-form-data/is-binary-file.d.ts +2 -0
- package/dist/multipart-form-data/is-binary-file.js +215 -0
- package/dist/multipart-form-data/is-binary-file.js.map +1 -0
- package/dist/multipart-form-data/multipart-text-to-post-form-data.d.ts +2 -0
- package/dist/multipart-form-data/multipart-text-to-post-form-data.js +86 -0
- package/dist/multipart-form-data/multipart-text-to-post-form-data.js.map +1 -0
- package/dist/parameters/extractions.d.ts +26 -0
- package/dist/parameters/extractions.js +49 -0
- package/dist/parameters/extractions.js.map +1 -0
- package/dist/parameters/extractors/cheerio-extractor.d.ts +11 -0
- package/dist/parameters/extractors/cheerio-extractor.js +84 -0
- package/dist/parameters/extractors/cheerio-extractor.js.map +1 -0
- package/dist/parameters/extractors/expression-extractor.d.ts +6 -0
- package/dist/parameters/extractors/expression-extractor.js +38 -0
- package/dist/parameters/extractors/expression-extractor.js.map +1 -0
- package/dist/parameters/extractors/extractor.d.ts +3 -0
- package/dist/parameters/extractors/extractor.js +3 -0
- package/dist/parameters/extractors/extractor.js.map +1 -0
- package/dist/parameters/extractors/header-extractor.d.ts +7 -0
- package/dist/parameters/extractors/header-extractor.js +51 -0
- package/dist/parameters/extractors/header-extractor.js.map +1 -0
- package/dist/parameters/extractors/index.d.ts +10 -0
- package/dist/parameters/extractors/index.js +20 -0
- package/dist/parameters/extractors/index.js.map +1 -0
- package/dist/parameters/extractors/json-path-extractor.d.ts +12 -0
- package/dist/parameters/extractors/json-path-extractor.js +167 -0
- package/dist/parameters/extractors/json-path-extractor.js.map +1 -0
- package/dist/parameters/extractors/parametrized-extractor.d.ts +10 -0
- package/dist/parameters/extractors/parametrized-extractor.js +34 -0
- package/dist/parameters/extractors/parametrized-extractor.js.map +1 -0
- package/dist/parameters/extractors/regex-extractor.d.ts +7 -0
- package/dist/parameters/extractors/regex-extractor.js +46 -0
- package/dist/parameters/extractors/regex-extractor.js.map +1 -0
- package/dist/parameters/extractors/regex-matcher.d.ts +1 -0
- package/dist/parameters/extractors/regex-matcher.js +21 -0
- package/dist/parameters/extractors/regex-matcher.js.map +1 -0
- package/dist/parameters/extractors/ws-extractor.d.ts +33 -0
- package/dist/parameters/extractors/ws-extractor.js +215 -0
- package/dist/parameters/extractors/ws-extractor.js.map +1 -0
- package/dist/parameters/extractors/x-path-extractor.d.ts +9 -0
- package/dist/parameters/extractors/x-path-extractor.js +71 -0
- package/dist/parameters/extractors/x-path-extractor.js.map +1 -0
- package/dist/parameters/generate-random.d.ts +13 -0
- package/dist/parameters/generate-random.js +108 -0
- package/dist/parameters/generate-random.js.map +1 -0
- package/dist/parameters/html-utils.d.ts +1 -0
- package/dist/parameters/html-utils.js +18 -0
- package/dist/parameters/html-utils.js.map +1 -0
- package/dist/parameters/index.d.ts +89 -0
- package/dist/parameters/index.js +619 -0
- package/dist/parameters/index.js.map +1 -0
- package/dist/parameters/json-path-utils.d.ts +1 -0
- package/dist/parameters/json-path-utils.js +16 -0
- package/dist/parameters/json-path-utils.js.map +1 -0
- package/dist/parameters/operators/binary-operator.d.ts +13 -0
- package/dist/parameters/operators/binary-operator.js +39 -0
- package/dist/parameters/operators/binary-operator.js.map +1 -0
- package/dist/parameters/operators/index.d.ts +5 -0
- package/dist/parameters/operators/index.js +21 -0
- package/dist/parameters/operators/index.js.map +1 -0
- package/dist/parameters/parameter-functions/boolean-parameter-functions.d.ts +12 -0
- package/dist/parameters/parameter-functions/boolean-parameter-functions.js +47 -0
- package/dist/parameters/parameter-functions/boolean-parameter-functions.js.map +1 -0
- package/dist/parameters/parameter-functions/crypto.d.ts +11 -0
- package/dist/parameters/parameter-functions/crypto.js +71 -0
- package/dist/parameters/parameter-functions/crypto.js.map +1 -0
- package/dist/parameters/parameter-functions/json-schema.d.ts +1 -0
- package/dist/parameters/parameter-functions/json-schema.js +33 -0
- package/dist/parameters/parameter-functions/json-schema.js.map +1 -0
- package/dist/parameters/parameter-functions/numeric-input-parameter-functions.d.ts +11 -0
- package/dist/parameters/parameter-functions/numeric-input-parameter-functions.js +34 -0
- package/dist/parameters/parameter-functions/numeric-input-parameter-functions.js.map +1 -0
- package/dist/parameters/parameter-functions/numeric-parameter-functions.d.ts +15 -0
- package/dist/parameters/parameter-functions/numeric-parameter-functions.js +56 -0
- package/dist/parameters/parameter-functions/numeric-parameter-functions.js.map +1 -0
- package/dist/parameters/parameter-functions/parameter-function-utils.d.ts +5 -0
- package/dist/parameters/parameter-functions/parameter-function-utils.js +82 -0
- package/dist/parameters/parameter-functions/parameter-function-utils.js.map +1 -0
- package/dist/parameters/parameter-functions/parameter-function.d.ts +6 -0
- package/dist/parameters/parameter-functions/parameter-function.js +28 -0
- package/dist/parameters/parameter-functions/parameter-function.js.map +1 -0
- package/dist/parameters/parameter-functions/parameter-functions.d.ts +7 -0
- package/dist/parameters/parameter-functions/parameter-functions.js +53 -0
- package/dist/parameters/parameter-functions/parameter-functions.js.map +1 -0
- package/dist/parameters/parameter-functions/random-parameter-functions.d.ts +1 -0
- package/dist/parameters/parameter-functions/random-parameter-functions.js +43 -0
- package/dist/parameters/parameter-functions/random-parameter-functions.js.map +1 -0
- package/dist/parameters/parameter-functions/textual-parameter-functions.d.ts +67 -0
- package/dist/parameters/parameter-functions/textual-parameter-functions.js +403 -0
- package/dist/parameters/parameter-functions/textual-parameter-functions.js.map +1 -0
- package/dist/parameters/parameter-name-utils.d.ts +5 -0
- package/dist/parameters/parameter-name-utils.js +137 -0
- package/dist/parameters/parameter-name-utils.js.map +1 -0
- package/dist/parameters/parameter-regex-providers.d.ts +24 -0
- package/dist/parameters/parameter-regex-providers.js +70 -0
- package/dist/parameters/parameter-regex-providers.js.map +1 -0
- package/dist/parameters/resolvers/random-parameters-resolver.d.ts +1 -0
- package/dist/parameters/resolvers/random-parameters-resolver.js +12 -0
- package/dist/parameters/resolvers/random-parameters-resolver.js.map +1 -0
- package/dist/parameters/type.d.ts +10 -0
- package/dist/parameters/type.js +9 -0
- package/dist/parameters/type.js.map +1 -0
- package/dist/parameters/value-utils.d.ts +5 -0
- package/dist/parameters/value-utils.js +44 -0
- package/dist/parameters/value-utils.js.map +1 -0
- package/dist/request/index.d.ts +265 -0
- package/dist/request/index.js +541 -0
- package/dist/request/index.js.map +1 -0
- package/dist/schema/json-schema-generator.d.ts +20 -0
- package/dist/schema/json-schema-generator.js +135 -0
- package/dist/schema/json-schema-generator.js.map +1 -0
- package/dist/signals.d.ts +4 -0
- package/dist/signals.js +9 -0
- package/dist/signals.js.map +1 -0
- package/dist/subset/index.d.ts +3 -0
- package/dist/subset/index.js +8 -0
- package/dist/subset/index.js.map +1 -0
- package/dist/subset/is-subset.d.ts +2 -0
- package/dist/subset/is-subset.js +29 -0
- package/dist/subset/is-subset.js.map +1 -0
- package/dist/subset/json-contains.d.ts +1 -0
- package/dist/subset/json-contains.js +24 -0
- package/dist/subset/json-contains.js.map +1 -0
- package/dist/team-options/constants.d.ts +3 -0
- package/dist/team-options/constants.js +7 -0
- package/dist/team-options/constants.js.map +1 -0
- package/dist/xml/decode.d.ts +2 -0
- package/dist/xml/decode.js +87 -0
- package/dist/xml/decode.js.map +1 -0
- package/dist/xml/encode.d.ts +1 -0
- package/dist/xml/encode.js +14 -0
- package/dist/xml/encode.js.map +1 -0
- package/dist/xml/escape-reserved-chars.d.ts +6 -0
- package/dist/xml/escape-reserved-chars.js +57 -0
- package/dist/xml/escape-reserved-chars.js.map +1 -0
- package/dist/xml/is-xml.d.ts +1 -0
- package/dist/xml/is-xml.js +9 -0
- package/dist/xml/is-xml.js.map +1 -0
- package/dist/xml/json-to-xml.d.ts +2 -0
- package/dist/xml/json-to-xml.js +11 -0
- package/dist/xml/json-to-xml.js.map +1 -0
- package/dist/xml/namespaces.d.ts +7 -0
- package/dist/xml/namespaces.js +16 -0
- package/dist/xml/namespaces.js.map +1 -0
- package/dist/xml/remove-invisible-chars.d.ts +2 -0
- package/dist/xml/remove-invisible-chars.js +13 -0
- package/dist/xml/remove-invisible-chars.js.map +1 -0
- package/dist/xml/replace-s-tags.d.ts +4 -0
- package/dist/xml/replace-s-tags.js +21 -0
- package/dist/xml/replace-s-tags.js.map +1 -0
- package/dist/xml/xml-to-json.d.ts +7 -0
- package/dist/xml/xml-to-json.js +21 -0
- package/dist/xml/xml-to-json.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,71 @@
|
|
|
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
|
+
})();
|
|
17
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.XPathExtractor = void 0;
|
|
22
|
+
var xpath_1 = __importDefault(require("xpath"));
|
|
23
|
+
var xmldom_1 = require("@xmldom/xmldom");
|
|
24
|
+
var parametrized_extractor_1 = require("./parametrized-extractor");
|
|
25
|
+
var XPathExtractor = /** @class */ (function (_super) {
|
|
26
|
+
__extends(XPathExtractor, _super);
|
|
27
|
+
function XPathExtractor(target, parameters) {
|
|
28
|
+
var _this = _super.call(this, parameters) || this;
|
|
29
|
+
Object.defineProperty(_this, "$", {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
configurable: true,
|
|
32
|
+
writable: true,
|
|
33
|
+
value: void 0
|
|
34
|
+
});
|
|
35
|
+
Object.defineProperty(_this, "select", {
|
|
36
|
+
enumerable: true,
|
|
37
|
+
configurable: true,
|
|
38
|
+
writable: true,
|
|
39
|
+
value: void 0
|
|
40
|
+
});
|
|
41
|
+
Object.defineProperty(_this, "extractResolved", {
|
|
42
|
+
enumerable: true,
|
|
43
|
+
configurable: true,
|
|
44
|
+
writable: true,
|
|
45
|
+
value: function (resolvedXPath) {
|
|
46
|
+
var res = _this.select(resolvedXPath, _this.$).toString();
|
|
47
|
+
return res;
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
_this.$ = new xmldom_1.DOMParser().parseFromString(target, 'text/xml');
|
|
51
|
+
_this.select = _this.getSelectUsingNameSpaces();
|
|
52
|
+
return _this;
|
|
53
|
+
}
|
|
54
|
+
Object.defineProperty(XPathExtractor.prototype, "getSelectUsingNameSpaces", {
|
|
55
|
+
enumerable: false,
|
|
56
|
+
configurable: true,
|
|
57
|
+
writable: true,
|
|
58
|
+
value: function () {
|
|
59
|
+
var namespaces = {};
|
|
60
|
+
var namespaceAttributes = xpath_1.default.select('//@*[starts-with(name(), \'xmlns\')]', this.$);
|
|
61
|
+
namespaceAttributes.forEach(function (attr) {
|
|
62
|
+
var prefix = attr.nodeName.startsWith('xmlns:') ? attr.nodeName.split(':')[1] : 'default';
|
|
63
|
+
namespaces[prefix] = attr.nodeValue;
|
|
64
|
+
});
|
|
65
|
+
return xpath_1.default.useNamespaces(namespaces);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
return XPathExtractor;
|
|
69
|
+
}(parametrized_extractor_1.ParametrizedExtractor));
|
|
70
|
+
exports.XPathExtractor = XPathExtractor;
|
|
71
|
+
//# sourceMappingURL=x-path-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"x-path-extractor.js","sourceRoot":"","sources":["../../../src/parameters/extractors/x-path-extractor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,yCAA2C;AAG3C,mEAAiE;AAEjE;IAAoC,kCAAqB;IAIvD,wBAAY,MAAc,EAAE,UAAsB;QAAlD,YACE,kBAAM,UAAU,CAAC,SAGlB;QAPD;;;;;WAAoB;QACpB;;;;;WAAkC;QAQlC;;;;mBAAkB,UAChB,aAAqB;gBAErB,IAAM,GAAG,GAAG,KAAI,CAAC,MAAM,CAAC,aAAa,EAAE,KAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC1D,OAAO,GAAG,CAAC;YACb,CAAC;WAAC;QATA,KAAI,CAAC,CAAC,GAAG,IAAI,kBAAS,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC7D,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,wBAAwB,EAAE,CAAC;;IAChD,CAAC;;;;;eASD;YACE,IAAM,UAAU,GAAG,EAAE,CAAC;YACtB,IAAM,mBAAmB,GAAG,eAAK,CAAC,MAAM,CAAC,sCAAsC,EAAE,IAAI,CAAC,CAAC,CAAW,CAAC;YAEnG,mBAAmB,CAAC,OAAO,CAAC,UAAA,IAAI;gBAC9B,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC5F,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,OAAO,eAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;;IACH,qBAAC;AAAD,CAAC,AA5BD,CAAoC,8CAAqB,GA4BxD;AA5BY,wCAAc"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare enum RandomTypes {
|
|
2
|
+
hex = "hex",
|
|
3
|
+
uuid = "uuid",
|
|
4
|
+
from = "from",
|
|
5
|
+
chars = "chars",
|
|
6
|
+
number = "number",
|
|
7
|
+
digits = "digits",
|
|
8
|
+
uppers = "uppers",
|
|
9
|
+
lowers = "lowers",
|
|
10
|
+
letters = "letters",
|
|
11
|
+
boolean = "boolean"
|
|
12
|
+
}
|
|
13
|
+
export declare function generateRandom(kind: string, arg1?: string, arg2?: string): any;
|
|
@@ -0,0 +1,108 @@
|
|
|
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.generateRandom = exports.RandomTypes = void 0;
|
|
7
|
+
var uuid_1 = __importDefault(require("uuid"));
|
|
8
|
+
var randomstring_1 = __importDefault(require("randomstring"));
|
|
9
|
+
var clamp = require("lodash/clamp");
|
|
10
|
+
var random = require("lodash/random");
|
|
11
|
+
var value_utils_1 = require("./value-utils");
|
|
12
|
+
var errors_1 = require("@loadmill/universal/dist/errors");
|
|
13
|
+
var MAX_RANDOM_LEN = 100;
|
|
14
|
+
var DEFAULT_RANDOM_LEN = 10;
|
|
15
|
+
// 2^32
|
|
16
|
+
var DEFAULT_MAX_RANDOM_INT = 4294967296;
|
|
17
|
+
var RandomTypes;
|
|
18
|
+
(function (RandomTypes) {
|
|
19
|
+
RandomTypes["hex"] = "hex";
|
|
20
|
+
RandomTypes["uuid"] = "uuid";
|
|
21
|
+
RandomTypes["from"] = "from";
|
|
22
|
+
RandomTypes["chars"] = "chars";
|
|
23
|
+
RandomTypes["number"] = "number";
|
|
24
|
+
RandomTypes["digits"] = "digits";
|
|
25
|
+
RandomTypes["uppers"] = "uppers";
|
|
26
|
+
RandomTypes["lowers"] = "lowers";
|
|
27
|
+
RandomTypes["letters"] = "letters";
|
|
28
|
+
RandomTypes["boolean"] = "boolean";
|
|
29
|
+
})(RandomTypes = exports.RandomTypes || (exports.RandomTypes = {}));
|
|
30
|
+
function generateRandom(kind, arg1, arg2) {
|
|
31
|
+
if (!kind) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
if (kind === RandomTypes.uuid) {
|
|
35
|
+
return uuid_1.default.v4();
|
|
36
|
+
}
|
|
37
|
+
else if (kind === RandomTypes.number) {
|
|
38
|
+
var min = 0, max = DEFAULT_MAX_RANDOM_INT;
|
|
39
|
+
if (arg2) {
|
|
40
|
+
min = nonNegativeInt(arg1);
|
|
41
|
+
max = nonNegativeInt(arg2);
|
|
42
|
+
if (min > max) {
|
|
43
|
+
var temp = min;
|
|
44
|
+
min = max;
|
|
45
|
+
max = temp;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else if (arg1) {
|
|
49
|
+
max = nonNegativeInt(arg1);
|
|
50
|
+
}
|
|
51
|
+
// Assumes both are integers!
|
|
52
|
+
return random(min, max);
|
|
53
|
+
}
|
|
54
|
+
else if (kind === RandomTypes.boolean) {
|
|
55
|
+
var probability = nonNegativeInt(arg1, 50) / 100;
|
|
56
|
+
return (probability >= 1 ||
|
|
57
|
+
(probability !== 0 && Math.random() <= probability)).toString();
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
var length_1 = nonNegativeInt(kind === RandomTypes.from ? arg2 : arg1, DEFAULT_RANDOM_LEN);
|
|
61
|
+
var options = {
|
|
62
|
+
length: clamp(length_1, 0, MAX_RANDOM_LEN),
|
|
63
|
+
};
|
|
64
|
+
if (kind === RandomTypes.chars) {
|
|
65
|
+
options.charset = 'alphanumeric';
|
|
66
|
+
}
|
|
67
|
+
else if (kind === RandomTypes.digits) {
|
|
68
|
+
options.charset = 'numeric';
|
|
69
|
+
}
|
|
70
|
+
else if (kind === RandomTypes.hex) {
|
|
71
|
+
options.charset = 'hex';
|
|
72
|
+
}
|
|
73
|
+
else if (kind === RandomTypes.letters ||
|
|
74
|
+
kind === RandomTypes.lowers ||
|
|
75
|
+
kind === RandomTypes.uppers) {
|
|
76
|
+
options.charset = 'alphabetic';
|
|
77
|
+
if (kind !== RandomTypes.letters) {
|
|
78
|
+
options.capitalization =
|
|
79
|
+
kind === RandomTypes.lowers ? 'lowercase' : 'uppercase';
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
else if (kind === RandomTypes.from) {
|
|
83
|
+
if (!arg1) {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
options.charset = arg1;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
options.charset = kind;
|
|
90
|
+
}
|
|
91
|
+
return randomstring_1.default.generate(options);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.generateRandom = generateRandom;
|
|
95
|
+
function nonNegativeInt(arg, def) {
|
|
96
|
+
var value;
|
|
97
|
+
if (!arg) {
|
|
98
|
+
value = def;
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
value = value_utils_1.parameterValueToNumber(arg, { integer: true, nonNegative: true });
|
|
102
|
+
}
|
|
103
|
+
if (value == null) {
|
|
104
|
+
throw new errors_1.PresentableError('Argument must be a non-negative integer, instead found: ' + arg);
|
|
105
|
+
}
|
|
106
|
+
return value;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=generate-random.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-random.js","sourceRoot":"","sources":["../../src/parameters/generate-random.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getCsrfTokensByRegexp: (data: string) => RegExpExecArray[];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCsrfTokensByRegexp = void 0;
|
|
4
|
+
var parameter_regex_providers_1 = require("./parameter-regex-providers");
|
|
5
|
+
var MAX_CSRF_REGEX_ITERATIONS = 1000;
|
|
6
|
+
var getCsrfTokensByRegexp = function (data) {
|
|
7
|
+
var regex = new RegExp(parameter_regex_providers_1.CSRF_REGEXP, 'gm');
|
|
8
|
+
var matches = [];
|
|
9
|
+
var match = regex.exec(data);
|
|
10
|
+
var iterations = 0;
|
|
11
|
+
while (match && iterations++ < MAX_CSRF_REGEX_ITERATIONS) {
|
|
12
|
+
matches.push(match);
|
|
13
|
+
match = regex.exec(data);
|
|
14
|
+
}
|
|
15
|
+
return matches;
|
|
16
|
+
};
|
|
17
|
+
exports.getCsrfTokensByRegexp = getCsrfTokensByRegexp;
|
|
18
|
+
//# sourceMappingURL=html-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-utils.js","sourceRoot":"","sources":["../../src/parameters/html-utils.ts"],"names":[],"mappings":";;;AAAA,yEAA0D;AAE1D,IAAM,yBAAyB,GAAG,IAAI,CAAC;AAChC,IAAM,qBAAqB,GAAG,UAAC,IAAY;IAChD,IAAM,KAAK,GAAG,IAAI,MAAM,CAAC,uCAAW,EAAE,IAAI,CAAC,CAAC;IAC5C,IAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,OAAO,KAAK,IAAI,UAAU,EAAE,GAAG,yBAAyB,EAAE;QACxD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1B;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAVW,QAAA,qBAAqB,yBAUhC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Parameters, ParametersScope, SequenceExecutorParameters } from './type';
|
|
2
|
+
import * as valueUtils from './value-utils';
|
|
3
|
+
import { parameterFunctionOperations } from './parameter-functions/parameter-functions';
|
|
4
|
+
import { usageRegExpProvider, LEGAL_PARAM_CHARS, CAPTURE_REGEX, CSRF_REGEXP, CSRF_REGEXP_SUFFIX } from './parameter-regex-providers';
|
|
5
|
+
import { PresentableError } from '@loadmill/universal/dist/errors';
|
|
6
|
+
import { Assertions, Extractions } from '../request';
|
|
7
|
+
import { TestConfLike } from '../conf';
|
|
8
|
+
import { getLongestJsonPathToken } from './json-path-utils';
|
|
9
|
+
import { replaceInvalidCharactersParamName, humanizeJSONPath, ordinal, pathToArray } from './parameter-name-utils';
|
|
10
|
+
import { getCsrfTokensByRegexp } from './html-utils';
|
|
11
|
+
export declare const BUILT_IN_VOLATILE_PARAMS: {
|
|
12
|
+
requestBody: string;
|
|
13
|
+
requestURL: string;
|
|
14
|
+
requestMethod: string;
|
|
15
|
+
responseBody: string;
|
|
16
|
+
};
|
|
17
|
+
export declare const BUILT_IN_PARAMS: {
|
|
18
|
+
requestBody: string;
|
|
19
|
+
requestURL: string;
|
|
20
|
+
requestMethod: string;
|
|
21
|
+
responseBody: string;
|
|
22
|
+
launchedBy: string;
|
|
23
|
+
launchedByUserId: string;
|
|
24
|
+
launchedByTeamId: string;
|
|
25
|
+
requestStartTime: string;
|
|
26
|
+
responseEndTime: string;
|
|
27
|
+
responseTime: string;
|
|
28
|
+
status: string;
|
|
29
|
+
statusText: string;
|
|
30
|
+
testRunId: string;
|
|
31
|
+
testStartTime: string;
|
|
32
|
+
};
|
|
33
|
+
export declare const MAX_PARAM_ARRAY_SIZE = 100;
|
|
34
|
+
export { CAPTURE_REGEX, getLongestJsonPathToken, LEGAL_PARAM_CHARS, parameterFunctionOperations, Parameters, ParametersScope, PresentableError, SequenceExecutorParameters, usageRegExpProvider, valueUtils, CSRF_REGEXP, CSRF_REGEXP_SUFFIX, getCsrfTokensByRegexp, replaceInvalidCharactersParamName, humanizeJSONPath, ordinal, pathToArray };
|
|
35
|
+
export declare class ParameterError extends PresentableError {
|
|
36
|
+
readonly prettyError: string;
|
|
37
|
+
readonly parameter: Parameters;
|
|
38
|
+
constructor(prettyError: string, parameter: Parameters);
|
|
39
|
+
}
|
|
40
|
+
export declare const parameterUtils: {
|
|
41
|
+
isParametrized(expression: string): any;
|
|
42
|
+
resolveAllExpressions(parameters: Parameters[]): Parameters;
|
|
43
|
+
resolveParameter(parameterName: string, parameters: Parameters, onError?: any): any;
|
|
44
|
+
resolveExpression(parametrized: string, parameters: Parameters | Parameters[], onError?: any): string;
|
|
45
|
+
addParamToArray(key: any, value: any, arr: any): void;
|
|
46
|
+
findIndex(key: any, arr: any): any;
|
|
47
|
+
getParametersRegexGroups(src: string): {
|
|
48
|
+
functionGroupingRegexp: RegExp;
|
|
49
|
+
operatorsGroupingRegexp: RegExp;
|
|
50
|
+
};
|
|
51
|
+
suggestNewParamName(paramKey: any, flowConfParameters: any): any;
|
|
52
|
+
/** Search any parameters with the following patterns:
|
|
53
|
+
* ${param1}
|
|
54
|
+
* ${__encode_url(param1)}
|
|
55
|
+
* ${__if_then_else(param12,'good','bad')}
|
|
56
|
+
*/
|
|
57
|
+
searchParameterizedExpressionOccurrences(parameterName: string, data: string): Array<string>;
|
|
58
|
+
getUsedConfParams(conf: TestConfLike, parameters: Parameters[]): Parameters[];
|
|
59
|
+
getUsedRequestParams(request: any, parameters: Parameters[]): Parameters[];
|
|
60
|
+
getValueByKeyFromArr(key: string, parameters?: Parameters[] | undefined, returnArray?: boolean): any;
|
|
61
|
+
pickFirstValue(p: Parameters): Parameters;
|
|
62
|
+
getParameterValue(parameter: Parameters): string | string[];
|
|
63
|
+
getParameterName(parameter: Parameters | Extractions): string;
|
|
64
|
+
getParametersNames(parameters: Parameters[]): string[];
|
|
65
|
+
setParameterValue(name: string, value: string | string[], parameters: Parameters[]): void;
|
|
66
|
+
getUsedRequestParamNames(stringifiedRequest: string): string[];
|
|
67
|
+
deleteAllSrcElementsFromParamArr(paramArr: any, src: any): void;
|
|
68
|
+
removeParameterFromArrayByKey(src: any, paramArr: any): void;
|
|
69
|
+
isParamKeyInArr(key: any, arr: any): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Returns a Parameter ({name:value}) obj with the given value to search for.
|
|
72
|
+
* if non found, returns undefined
|
|
73
|
+
* @param value string | string[]
|
|
74
|
+
* @param arr Parameters[]
|
|
75
|
+
*/
|
|
76
|
+
findParamValueInArr(value: any, arr: any): any;
|
|
77
|
+
findParametersSimilarityByRegex(value: any, arr: Parameters[] | undefined, regex: any): Parameters | undefined;
|
|
78
|
+
findUsedParameters(suiteParameters: Parameters[], param: Parameters, usedParameters: Parameters[]): Parameters[];
|
|
79
|
+
applyJSONSchema(instance: any, schema: any): boolean;
|
|
80
|
+
isUsingParameterizedValue(value: string): boolean;
|
|
81
|
+
getRunPostParameters(redactableResult: any): any;
|
|
82
|
+
};
|
|
83
|
+
export declare const stripToFunctionAndArgs: (s: string) => string[];
|
|
84
|
+
export declare const stripParam: (s: string) => string;
|
|
85
|
+
export declare const searchExpressionOccurrences: (s: string) => string[];
|
|
86
|
+
export declare const getTokensWithoutOperators: (paramOccurrence: string) => string[];
|
|
87
|
+
export declare function isParamUsedInConf(paramName: string, conf: TestConfLike, stringifyConf: string): boolean;
|
|
88
|
+
export declare function isParamNameUsedInAssertionValue(paramName: string, assertions?: Assertions): boolean;
|
|
89
|
+
export declare function removeNonStringParameters(conf: any): void;
|