@loadmill/core 0.3.33 → 0.3.37
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/extrema.d.ts +2 -2
- package/dist/conf/extrema.js +2 -0
- package/dist/conf/extrema.js.map +1 -1
- package/dist/conf/types.d.ts +1 -1
- package/dist/har/index.d.ts +16 -4
- package/dist/har/index.js.map +1 -1
- package/dist/parameters/extractors/extractor.d.ts +1 -1
- package/dist/parameters/extractors/index.d.ts +2 -1
- package/dist/parameters/extractors/index.js +3 -1
- package/dist/parameters/extractors/index.js.map +1 -1
- package/dist/parameters/extractors/parametrized-extractor.d.ts +4 -2
- package/dist/parameters/extractors/regex-extractor.js +2 -13
- package/dist/parameters/extractors/regex-extractor.js.map +1 -1
- package/dist/parameters/extractors/regex-matcher.d.ts +1 -0
- package/dist/parameters/extractors/regex-matcher.js +20 -0
- package/dist/parameters/extractors/regex-matcher.js.map +1 -0
- package/dist/parameters/extractors/ws-extractor.d.ts +30 -0
- package/dist/parameters/extractors/ws-extractor.js +198 -0
- package/dist/parameters/extractors/ws-extractor.js.map +1 -0
- package/dist/parameters/index.d.ts +6 -2
- package/dist/parameters/index.js +42 -3
- package/dist/parameters/index.js.map +1 -1
- package/dist/parameters/parameter-regex-providers.d.ts +3 -0
- package/dist/parameters/parameter-regex-providers.js +7 -1
- package/dist/parameters/parameter-regex-providers.js.map +1 -1
- package/dist/request/index.d.ts +7 -4
- package/dist/request/index.js +21 -9
- package/dist/request/index.js.map +1 -1
- package/dist/schema/json-schema-generator.d.ts +1 -1
- package/dist/schema/json-schema-generator.js +14 -10
- package/dist/schema/json-schema-generator.js.map +1 -1
- package/package.json +4 -4
- package/src/conf/extrema.ts +1 -1
- package/src/conf/index.ts +6 -6
- package/src/conf/notifications.ts +3 -3
- package/src/conf/types.ts +2 -2
- package/src/conf/validate.ts +1 -1
- package/src/echo/firehose.ts +10 -10
- package/src/har/index.ts +15 -5
- package/src/parameters/extractors/extractor.ts +1 -1
- package/src/parameters/extractors/index.ts +2 -1
- package/src/parameters/extractors/json-path-extractor.ts +1 -1
- package/src/parameters/extractors/parametrized-extractor.ts +3 -1
- package/src/parameters/extractors/regex-extractor.ts +2 -14
- package/src/parameters/extractors/regex-matcher.ts +16 -0
- package/src/parameters/extractors/ws-extractor.ts +89 -0
- package/src/parameters/index.ts +56 -8
- package/src/parameters/parameter-functions/textual-parameter-functions.ts +1 -1
- package/src/parameters/parameter-regex-providers.ts +8 -0
- package/src/request/index.ts +20 -9
- package/src/schema/json-schema-generator.ts +14 -12
- package/test/parameters/value-utils.spec.js +2 -2
- package/test/schema/json-schema-generator.spec.js +70 -45
package/dist/conf/extrema.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare const MIN_DURATION: number, MIN_DURATION_MINUTES = 1, MAX_DURATION: number, MIN_REQUEST_LOOPS_ITERATIONS = 1, MAX_REQUEST_LOOPS_ITERATIONS = 100, MIN_MAX_ITERATIONS = 5, MAX_MAX_ITERATIONS: number, MIN_REQUEST_DELAY = 50, MAX_REQUEST_DELAY = 300000, MIN_ITERATION_DELAY = 500, MAX_ITERATION_DELAY = 120000, MAX_EXECUTABLE_REQUESTS = 100, MAX_API_TEST_EXECUTABLE_REQUESTS = 200, MAX_PROCESSABLE_REQUESTS = 1000, MAX_LOAD_REQUEST_BODY_LENGTH: number, // 100KB
|
|
2
2
|
MAX_API_REQUEST_BODY_LENGTH: number, // 5MB
|
|
3
3
|
MAX_RESPONSE_BYTES: number, MAX_RESPONSE_COLLECT: number, MIN_REQUEST_TIMEOUT = 100, MAX_REQUEST_TIMEOUT = 120000, MAX_UNVERIFIED_CONCURRENCY = 5, MAX_UNVERIFIED_DURATION_MINUTES = 5, MAX_UNVERIFIED_DURATION: number, MIN_CONCURRENCY = 1, MAX_CONCURRENCY = 100000, MIN_RPS = 1, MAX_RPS: number, HIGH_MIN_RAMP_UP: number, HIGH_MIN_RAMP_UP_MINUTES = 1;
|
|
4
|
-
export declare function rampUpExtrema(duration
|
|
4
|
+
export declare function rampUpExtrema(duration?: number, concurrency?: number): {
|
|
5
5
|
min: number;
|
|
6
|
-
max:
|
|
6
|
+
max: number;
|
|
7
7
|
};
|
package/dist/conf/extrema.js
CHANGED
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.rampUpExtrema = exports.HIGH_MIN_RAMP_UP_MINUTES = exports.HIGH_MIN_RAMP_UP = exports.MAX_RPS = exports.MIN_RPS = exports.MAX_CONCURRENCY = exports.MIN_CONCURRENCY = exports.MAX_UNVERIFIED_DURATION = exports.MAX_UNVERIFIED_DURATION_MINUTES = exports.MAX_UNVERIFIED_CONCURRENCY = exports.MAX_REQUEST_TIMEOUT = exports.MIN_REQUEST_TIMEOUT = exports.MAX_RESPONSE_COLLECT = exports.MAX_RESPONSE_BYTES = exports.MAX_API_REQUEST_BODY_LENGTH = exports.MAX_LOAD_REQUEST_BODY_LENGTH = exports.MAX_PROCESSABLE_REQUESTS = exports.MAX_API_TEST_EXECUTABLE_REQUESTS = exports.MAX_EXECUTABLE_REQUESTS = exports.MAX_ITERATION_DELAY = exports.MIN_ITERATION_DELAY = exports.MAX_REQUEST_DELAY = exports.MIN_REQUEST_DELAY = exports.MAX_MAX_ITERATIONS = exports.MIN_MAX_ITERATIONS = exports.MAX_REQUEST_LOOPS_ITERATIONS = exports.MIN_REQUEST_LOOPS_ITERATIONS = exports.MAX_DURATION = exports.MIN_DURATION_MINUTES = exports.MIN_DURATION = void 0;
|
|
4
4
|
exports.MIN_DURATION = 60 * 1000, exports.MIN_DURATION_MINUTES = 1, exports.MAX_DURATION = 24 * 60 * 60 * 1000, exports.MIN_REQUEST_LOOPS_ITERATIONS = 1, exports.MAX_REQUEST_LOOPS_ITERATIONS = 100, exports.MIN_MAX_ITERATIONS = 5, exports.MAX_MAX_ITERATIONS = Number.MAX_SAFE_INTEGER / 2, exports.MIN_REQUEST_DELAY = 50, exports.MAX_REQUEST_DELAY = 300000, exports.MIN_ITERATION_DELAY = 500, exports.MAX_ITERATION_DELAY = 120000, exports.MAX_EXECUTABLE_REQUESTS = 100, exports.MAX_API_TEST_EXECUTABLE_REQUESTS = 200, exports.MAX_PROCESSABLE_REQUESTS = 1000, exports.MAX_LOAD_REQUEST_BODY_LENGTH = 100 * 1024, exports.MAX_API_REQUEST_BODY_LENGTH = 5000 * 1024, exports.MAX_RESPONSE_BYTES = 20 * 1024 * 1024, exports.MAX_RESPONSE_COLLECT = 110 * 1024, exports.MIN_REQUEST_TIMEOUT = 100, exports.MAX_REQUEST_TIMEOUT = 120000, exports.MAX_UNVERIFIED_CONCURRENCY = 5, exports.MAX_UNVERIFIED_DURATION_MINUTES = 5, exports.MAX_UNVERIFIED_DURATION = exports.MAX_UNVERIFIED_DURATION_MINUTES * 60 * 1000, exports.MIN_CONCURRENCY = 1, exports.MAX_CONCURRENCY = 100000, exports.MIN_RPS = 1, exports.MAX_RPS = exports.MAX_CONCURRENCY / 2, exports.HIGH_MIN_RAMP_UP = 60 * 1000, exports.HIGH_MIN_RAMP_UP_MINUTES = 1;
|
|
5
5
|
function rampUpExtrema(duration, concurrency) {
|
|
6
|
+
if (duration === void 0) { duration = exports.MIN_DURATION; }
|
|
7
|
+
if (concurrency === void 0) { concurrency = exports.MIN_CONCURRENCY; }
|
|
6
8
|
var min = concurrency < 200 ? 0 : exports.HIGH_MIN_RAMP_UP;
|
|
7
9
|
return { min: min, max: duration };
|
|
8
10
|
}
|
package/dist/conf/extrema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extrema.js","sourceRoot":"","sources":["../../src/conf/extrema.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG,EAAE,GAAG,IAAI,EACnC,QAAA,oBAAoB,GAAG,CAAC,EACxB,QAAA,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAClC,QAAA,4BAA4B,GAAG,CAAC,EAChC,QAAA,4BAA4B,GAAG,GAAG,EAClC,QAAA,kBAAkB,GAAG,CAAC,EACtB,QAAA,kBAAkB,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,EAChD,QAAA,iBAAiB,GAAG,EAAE,EACtB,QAAA,iBAAiB,GAAG,MAAM,EAC1B,QAAA,mBAAmB,GAAG,GAAG,EACzB,QAAA,mBAAmB,GAAG,MAAM,EAC5B,QAAA,uBAAuB,GAAG,GAAG,EAC7B,QAAA,gCAAgC,GAAG,GAAG,EACtC,QAAA,wBAAwB,GAAG,IAAI,EAC/B,QAAA,4BAA4B,GAAG,GAAG,GAAG,IAAI,EACzC,QAAA,2BAA2B,GAAG,IAAI,GAAG,IAAI,EACzC,QAAA,kBAAkB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,EACrC,QAAA,oBAAoB,GAAG,GAAG,GAAG,IAAI,EACjC,QAAA,mBAAmB,GAAG,GAAG,EACzB,QAAA,mBAAmB,GAAG,MAAM,EAC5B,QAAA,0BAA0B,GAAG,CAAC,EAC9B,QAAA,+BAA+B,GAAG,CAAC,EACnC,QAAA,uBAAuB,GAAG,uCAA+B,GAAG,EAAE,GAAG,IAAI,EACrE,QAAA,eAAe,GAAG,CAAC,EACnB,QAAA,eAAe,GAAG,MAAM,EACxB,QAAA,OAAO,GAAG,CAAC,EACX,QAAA,OAAO,GAAG,uBAAe,GAAG,CAAC,EAC7B,QAAA,gBAAgB,GAAG,EAAE,GAAG,IAAI,EAC5B,QAAA,wBAAwB,GAAG,CAAC,CAAC;AAE/B,SAAgB,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"extrema.js","sourceRoot":"","sources":["../../src/conf/extrema.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG,EAAE,GAAG,IAAI,EACnC,QAAA,oBAAoB,GAAG,CAAC,EACxB,QAAA,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAClC,QAAA,4BAA4B,GAAG,CAAC,EAChC,QAAA,4BAA4B,GAAG,GAAG,EAClC,QAAA,kBAAkB,GAAG,CAAC,EACtB,QAAA,kBAAkB,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,EAChD,QAAA,iBAAiB,GAAG,EAAE,EACtB,QAAA,iBAAiB,GAAG,MAAM,EAC1B,QAAA,mBAAmB,GAAG,GAAG,EACzB,QAAA,mBAAmB,GAAG,MAAM,EAC5B,QAAA,uBAAuB,GAAG,GAAG,EAC7B,QAAA,gCAAgC,GAAG,GAAG,EACtC,QAAA,wBAAwB,GAAG,IAAI,EAC/B,QAAA,4BAA4B,GAAG,GAAG,GAAG,IAAI,EACzC,QAAA,2BAA2B,GAAG,IAAI,GAAG,IAAI,EACzC,QAAA,kBAAkB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,EACrC,QAAA,oBAAoB,GAAG,GAAG,GAAG,IAAI,EACjC,QAAA,mBAAmB,GAAG,GAAG,EACzB,QAAA,mBAAmB,GAAG,MAAM,EAC5B,QAAA,0BAA0B,GAAG,CAAC,EAC9B,QAAA,+BAA+B,GAAG,CAAC,EACnC,QAAA,uBAAuB,GAAG,uCAA+B,GAAG,EAAE,GAAG,IAAI,EACrE,QAAA,eAAe,GAAG,CAAC,EACnB,QAAA,eAAe,GAAG,MAAM,EACxB,QAAA,OAAO,GAAG,CAAC,EACX,QAAA,OAAO,GAAG,uBAAe,GAAG,CAAC,EAC7B,QAAA,gBAAgB,GAAG,EAAE,GAAG,IAAI,EAC5B,QAAA,wBAAwB,GAAG,CAAC,CAAC;AAE/B,SAAgB,aAAa,CAAC,QAAuB,EAAE,WAA6B;IAAtD,yBAAA,EAAA,WAAW,oBAAY;IAAE,4BAAA,EAAA,cAAc,uBAAe;IAClF,IAAM,GAAG,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAgB,CAAC;IAErD,OAAO,EAAE,GAAG,KAAA,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC;AAJD,sCAIC"}
|
package/dist/conf/types.d.ts
CHANGED
|
@@ -49,7 +49,7 @@ export interface TestConfLike {
|
|
|
49
49
|
concurrency?: number;
|
|
50
50
|
monitoredEnv?: string;
|
|
51
51
|
maxIterations?: number;
|
|
52
|
-
iterationDelay?: number;
|
|
52
|
+
iterationDelay?: number | '';
|
|
53
53
|
alwaysDistributed?: boolean;
|
|
54
54
|
targetedCountries?: string[];
|
|
55
55
|
notifications?: EmailNotification[] | TestRunNotification[];
|
package/dist/har/index.d.ts
CHANGED
|
@@ -15,10 +15,13 @@ export interface HarRequest {
|
|
|
15
15
|
url: string;
|
|
16
16
|
method: string;
|
|
17
17
|
headers: HarHeaders;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
bodySize: number;
|
|
19
|
+
postData?: HarPostData;
|
|
20
|
+
cookies: Cookie[];
|
|
21
|
+
queryString: {
|
|
22
|
+
name: string;
|
|
23
|
+
value: string;
|
|
24
|
+
}[];
|
|
22
25
|
}
|
|
23
26
|
export declare type HarHeaders = HarHeader[];
|
|
24
27
|
export declare type HarHeader = {
|
|
@@ -32,6 +35,15 @@ export interface HarResponse {
|
|
|
32
35
|
content: {
|
|
33
36
|
mimeType: string;
|
|
34
37
|
text?: string;
|
|
38
|
+
encoding?: string;
|
|
35
39
|
};
|
|
36
40
|
}
|
|
41
|
+
export declare type Cookie = {
|
|
42
|
+
name: string;
|
|
43
|
+
value: string;
|
|
44
|
+
};
|
|
45
|
+
export declare type HarPostData = {
|
|
46
|
+
mimeType: string;
|
|
47
|
+
text: string;
|
|
48
|
+
};
|
|
37
49
|
export declare const isHar: (obj: any) => any;
|
package/dist/har/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/har/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/har/index.ts"],"names":[],"mappings":";;;AAuDO,IAAM,KAAK,GAAG,UAAC,GAAQ,IAAK,OAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IACjD,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,KAAK,QAAQ;IACnC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;IAChC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAHG,CAGH,CAAC;AAHpB,QAAA,KAAK,SAGe"}
|
|
@@ -5,4 +5,5 @@ import { HeaderExtractor } from './header-extractor';
|
|
|
5
5
|
import { JsonPathExtractor } from './json-path-extractor';
|
|
6
6
|
import { ParametrizedExtractor } from './parametrized-extractor';
|
|
7
7
|
import { RegexExtractor } from './regex-extractor';
|
|
8
|
-
|
|
8
|
+
import { WsExtractor } from './ws-extractor';
|
|
9
|
+
export { CheerioExtractor, ExpressionExtractor, Extractor, HeaderExtractor, JsonPathExtractor, ParametrizedExtractor, RegexExtractor, WsExtractor };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RegexExtractor = exports.ParametrizedExtractor = exports.JsonPathExtractor = exports.HeaderExtractor = exports.ExpressionExtractor = exports.CheerioExtractor = void 0;
|
|
3
|
+
exports.WsExtractor = exports.RegexExtractor = exports.ParametrizedExtractor = exports.JsonPathExtractor = exports.HeaderExtractor = exports.ExpressionExtractor = exports.CheerioExtractor = void 0;
|
|
4
4
|
var cheerio_extractor_1 = require("./cheerio-extractor");
|
|
5
5
|
Object.defineProperty(exports, "CheerioExtractor", { enumerable: true, get: function () { return cheerio_extractor_1.CheerioExtractor; } });
|
|
6
6
|
var expression_extractor_1 = require("./expression-extractor");
|
|
@@ -13,4 +13,6 @@ var parametrized_extractor_1 = require("./parametrized-extractor");
|
|
|
13
13
|
Object.defineProperty(exports, "ParametrizedExtractor", { enumerable: true, get: function () { return parametrized_extractor_1.ParametrizedExtractor; } });
|
|
14
14
|
var regex_extractor_1 = require("./regex-extractor");
|
|
15
15
|
Object.defineProperty(exports, "RegexExtractor", { enumerable: true, get: function () { return regex_extractor_1.RegexExtractor; } });
|
|
16
|
+
var ws_extractor_1 = require("./ws-extractor");
|
|
17
|
+
Object.defineProperty(exports, "WsExtractor", { enumerable: true, get: function () { return ws_extractor_1.WsExtractor; } });
|
|
16
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/parameters/extractors/index.ts"],"names":[],"mappings":";;;AAAA,yDAAuD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/parameters/extractors/index.ts"],"names":[],"mappings":";;;AAAA,yDAAuD;AAS9C,iGATA,oCAAgB,OASA;AARzB,+DAA6D;AAQlC,oGARlB,0CAAmB,OAQkB;AAN9C,uDAAqD;AAMM,gGANlD,kCAAe,OAMkD;AAL1E,6DAA0D;AAKkB,kGALnE,uCAAiB,OAKmE;AAJ7F,mEAAiE;AAI8B,sGAJtF,8CAAqB,OAIsF;AAHpH,qDAAmD;AAGmE,+FAH7G,gCAAc,OAG6G;AAFpI,+CAA6C;AAEyF,4FAF7H,0BAAW,OAE6H"}
|
|
@@ -2,7 +2,9 @@ import { Extractor } from './extractor';
|
|
|
2
2
|
import { Parameters } from '../type';
|
|
3
3
|
export declare abstract class ParametrizedExtractor implements Extractor {
|
|
4
4
|
private parameters;
|
|
5
|
-
abstract extractResolved:
|
|
5
|
+
abstract extractResolved: ResolvedExtracter;
|
|
6
6
|
constructor(parameters: Parameters);
|
|
7
|
-
extract: (parametrizedQuery: string | string[]) => string | undefined;
|
|
7
|
+
extract: (parametrizedQuery: string | string[]) => string | Promise<string | undefined> | undefined;
|
|
8
8
|
}
|
|
9
|
+
declare type ResolvedExtracter = ((...resolvedQuery: string[]) => string | undefined | Promise<string | undefined>);
|
|
10
|
+
export {};
|
|
@@ -14,14 +14,10 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
14
14
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
15
|
};
|
|
16
16
|
})();
|
|
17
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
|
-
};
|
|
20
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
18
|
exports.RegexExtractor = void 0;
|
|
22
19
|
var parametrized_extractor_1 = require("./parametrized-extractor");
|
|
23
|
-
var
|
|
24
|
-
var MAX_STR_LENGTH = 500;
|
|
20
|
+
var regex_matcher_1 = require("./regex-matcher");
|
|
25
21
|
var RegexExtractor = /** @class */ (function (_super) {
|
|
26
22
|
__extends(RegexExtractor, _super);
|
|
27
23
|
function RegexExtractor(targetProvider, parameters) {
|
|
@@ -39,14 +35,7 @@ var RegexExtractor = /** @class */ (function (_super) {
|
|
|
39
35
|
value: function (regex) {
|
|
40
36
|
var target = _this.targetProvider() || '';
|
|
41
37
|
var regExp = new RegExp(regex);
|
|
42
|
-
|
|
43
|
-
log_1.default.debug('Regex parameter extraction:', {
|
|
44
|
-
regExp: regExp,
|
|
45
|
-
target: target.substring(0, MAX_STR_LENGTH),
|
|
46
|
-
});
|
|
47
|
-
if (matchArray && matchArray[1]) {
|
|
48
|
-
return matchArray[1];
|
|
49
|
-
}
|
|
38
|
+
return regex_matcher_1.matchRegex(regExp, target);
|
|
50
39
|
}
|
|
51
40
|
});
|
|
52
41
|
return _this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regex-extractor.js","sourceRoot":"","sources":["../../../src/parameters/extractors/regex-extractor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"regex-extractor.js","sourceRoot":"","sources":["../../../src/parameters/extractors/regex-extractor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,mEAAiE;AAEjE,iDAA6C;AAE7C;IAAoC,kCAAqB;IACvD,wBACU,cAAwC,EAChD,UAAsB;QAFxB,YAIE,kBAAM,UAAU,CAAC,SAClB;;;;;mBAJS;;QAMV;;;;mBAAkB,UAAC,KAAa;gBAC9B,IAAM,MAAM,GAAG,KAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;gBAC3C,IAAM,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjC,OAAO,0BAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC;WAAC;;IANF,CAAC;IAOH,qBAAC;AAAD,CAAC,AAbD,CAAoC,8CAAqB,GAaxD;AAbY,wCAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const matchRegex: (regExp: RegExp, target: string) => string | undefined;
|
|
@@ -0,0 +1,20 @@
|
|
|
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.matchRegex = void 0;
|
|
7
|
+
var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
|
|
8
|
+
var MAX_STR_LENGTH = 500;
|
|
9
|
+
var matchRegex = function (regExp, target) {
|
|
10
|
+
var matchArray = regExp.exec(target);
|
|
11
|
+
log_1.default.debug('Regex parameter extraction:', {
|
|
12
|
+
regExp: regExp,
|
|
13
|
+
target: target.substring(0, MAX_STR_LENGTH),
|
|
14
|
+
});
|
|
15
|
+
if (matchArray && matchArray[1]) {
|
|
16
|
+
return matchArray[1];
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
exports.matchRegex = matchRegex;
|
|
20
|
+
//# sourceMappingURL=regex-matcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regex-matcher.js","sourceRoot":"","sources":["../../../src/parameters/extractors/regex-matcher.ts"],"names":[],"mappings":";;;;;;AAAA,qEAA+C;AAE/C,IAAM,cAAc,GAAG,GAAG,CAAC;AAEpB,IAAM,UAAU,GAAG,UAAC,MAAc,EAAE,MAAc;IACvD,IAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEvC,aAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE;QACvC,MAAM,QAAA;QACN,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC;KAC5C,CAAC,CAAC;IAEH,IAAI,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;QAC/B,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;KACtB;AACH,CAAC,CAAC;AAXW,QAAA,UAAU,cAWrB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Parameters } from '../type';
|
|
2
|
+
import { ParametrizedExtractor } from './parametrized-extractor';
|
|
3
|
+
export declare class WsExtractor extends ParametrizedExtractor {
|
|
4
|
+
private readonly _messages;
|
|
5
|
+
private readonly _timeLimit;
|
|
6
|
+
constructor(extractionData: WSExtractionData | undefined, parameters: Parameters);
|
|
7
|
+
extractResolved: (resolvedRegex: string) => Promise<string | undefined>;
|
|
8
|
+
/**
|
|
9
|
+
* Querying all received incoming WS messages by regexp.
|
|
10
|
+
* @returns A WS message that satisfies the given regexp. If none found, returns an empty string.
|
|
11
|
+
* @throws RequestFailuresError if the procedure timeouts before any relevant message found.
|
|
12
|
+
*/
|
|
13
|
+
private queryMessage;
|
|
14
|
+
private readonly GIVE_WS_MSG_TIME_MS;
|
|
15
|
+
/**
|
|
16
|
+
* Get an incoming ws message that satisfies the given regex, out of all already received incoming ws messages.
|
|
17
|
+
*
|
|
18
|
+
* If can't find that message, then actively waiting, until procedure timeouts.
|
|
19
|
+
* @param regex To test the messages with
|
|
20
|
+
* @param timeout Milliseconds for the procedure to find a message
|
|
21
|
+
* @returns ws message as string or undefined if timed out
|
|
22
|
+
*/
|
|
23
|
+
private getWSMessageOrTimeout;
|
|
24
|
+
private findMessageByRegex;
|
|
25
|
+
private getLastMessage;
|
|
26
|
+
}
|
|
27
|
+
export declare type WSExtractionData = {
|
|
28
|
+
messages: string[];
|
|
29
|
+
timeLimit: number;
|
|
30
|
+
};
|
|
@@ -0,0 +1,198 @@
|
|
|
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
+
function step(op) {
|
|
31
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
+
while (_) try {
|
|
33
|
+
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;
|
|
34
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
+
switch (op[0]) {
|
|
36
|
+
case 0: case 1: t = op; break;
|
|
37
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
+
default:
|
|
41
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
+
if (t[2]) _.ops.pop();
|
|
46
|
+
_.trys.pop(); continue;
|
|
47
|
+
}
|
|
48
|
+
op = body.call(thisArg, _);
|
|
49
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
54
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
55
|
+
};
|
|
56
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
57
|
+
exports.WsExtractor = void 0;
|
|
58
|
+
var errors_1 = require("@loadmill/universal/dist/errors");
|
|
59
|
+
var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
|
|
60
|
+
var promise_utils_1 = require("@loadmill/universal/dist/promise-utils");
|
|
61
|
+
var parameter_regex_providers_1 = require("../parameter-regex-providers");
|
|
62
|
+
var parametrized_extractor_1 = require("./parametrized-extractor");
|
|
63
|
+
var regex_matcher_1 = require("./regex-matcher");
|
|
64
|
+
var WsExtractor = /** @class */ (function (_super) {
|
|
65
|
+
__extends(WsExtractor, _super);
|
|
66
|
+
function WsExtractor(extractionData, parameters) {
|
|
67
|
+
if (extractionData === void 0) { extractionData = { messages: [], timeLimit: 0 }; }
|
|
68
|
+
var _this = _super.call(this, parameters) || this;
|
|
69
|
+
Object.defineProperty(_this, "_messages", {
|
|
70
|
+
enumerable: true,
|
|
71
|
+
configurable: true,
|
|
72
|
+
writable: true,
|
|
73
|
+
value: void 0
|
|
74
|
+
});
|
|
75
|
+
Object.defineProperty(_this, "_timeLimit", {
|
|
76
|
+
enumerable: true,
|
|
77
|
+
configurable: true,
|
|
78
|
+
writable: true,
|
|
79
|
+
value: void 0
|
|
80
|
+
});
|
|
81
|
+
Object.defineProperty(_this, "extractResolved", {
|
|
82
|
+
enumerable: true,
|
|
83
|
+
configurable: true,
|
|
84
|
+
writable: true,
|
|
85
|
+
value: function (resolvedRegex) { return __awaiter(_this, void 0, void 0, function () {
|
|
86
|
+
var regexp, wsMessage;
|
|
87
|
+
return __generator(this, function (_a) {
|
|
88
|
+
switch (_a.label) {
|
|
89
|
+
case 0:
|
|
90
|
+
log_1.default.debug('Resolved WS extraction regex:', resolvedRegex);
|
|
91
|
+
regexp = new RegExp(resolvedRegex || parameter_regex_providers_1.CAPTURE_ALL_REGEX);
|
|
92
|
+
return [4 /*yield*/, this.queryMessage(regexp)];
|
|
93
|
+
case 1:
|
|
94
|
+
wsMessage = _a.sent();
|
|
95
|
+
log_1.default.debug('WS message queried and found:', wsMessage);
|
|
96
|
+
return [2 /*return*/, regex_matcher_1.matchRegex(regexp, wsMessage)];
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}); }
|
|
100
|
+
});
|
|
101
|
+
Object.defineProperty(_this, "GIVE_WS_MSG_TIME_MS", {
|
|
102
|
+
enumerable: true,
|
|
103
|
+
configurable: true,
|
|
104
|
+
writable: true,
|
|
105
|
+
value: 250
|
|
106
|
+
});
|
|
107
|
+
_this._messages = extractionData.messages;
|
|
108
|
+
_this._timeLimit = extractionData.timeLimit;
|
|
109
|
+
return _this;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Querying all received incoming WS messages by regexp.
|
|
113
|
+
* @returns A WS message that satisfies the given regexp. If none found, returns an empty string.
|
|
114
|
+
* @throws RequestFailuresError if the procedure timeouts before any relevant message found.
|
|
115
|
+
*/
|
|
116
|
+
Object.defineProperty(WsExtractor.prototype, "queryMessage", {
|
|
117
|
+
enumerable: false,
|
|
118
|
+
configurable: true,
|
|
119
|
+
writable: true,
|
|
120
|
+
value: function (regexp) {
|
|
121
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
122
|
+
var res;
|
|
123
|
+
return __generator(this, function (_a) {
|
|
124
|
+
switch (_a.label) {
|
|
125
|
+
case 0: return [4 /*yield*/, this.getWSMessageOrTimeout(regexp)];
|
|
126
|
+
case 1:
|
|
127
|
+
res = _a.sent();
|
|
128
|
+
if (!res) {
|
|
129
|
+
throw new errors_1.PresentableError('Websocket waiting timeout expired');
|
|
130
|
+
}
|
|
131
|
+
return [2 /*return*/, res];
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
/**
|
|
138
|
+
* Get an incoming ws message that satisfies the given regex, out of all already received incoming ws messages.
|
|
139
|
+
*
|
|
140
|
+
* If can't find that message, then actively waiting, until procedure timeouts.
|
|
141
|
+
* @param regex To test the messages with
|
|
142
|
+
* @param timeout Milliseconds for the procedure to find a message
|
|
143
|
+
* @returns ws message as string or undefined if timed out
|
|
144
|
+
*/
|
|
145
|
+
Object.defineProperty(WsExtractor.prototype, "getWSMessageOrTimeout", {
|
|
146
|
+
enumerable: false,
|
|
147
|
+
configurable: true,
|
|
148
|
+
writable: true,
|
|
149
|
+
value: function (regexp) {
|
|
150
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
151
|
+
var startTime, message, elapsedTime;
|
|
152
|
+
return __generator(this, function (_a) {
|
|
153
|
+
switch (_a.label) {
|
|
154
|
+
case 0:
|
|
155
|
+
startTime = Date.now();
|
|
156
|
+
message = '';
|
|
157
|
+
elapsedTime = 0;
|
|
158
|
+
_a.label = 1;
|
|
159
|
+
case 1:
|
|
160
|
+
if (!(!message && elapsedTime < this._timeLimit)) return [3 /*break*/, 3];
|
|
161
|
+
message = this.findMessageByRegex(regexp) || '';
|
|
162
|
+
if (message) {
|
|
163
|
+
return [3 /*break*/, 3];
|
|
164
|
+
}
|
|
165
|
+
return [4 /*yield*/, promise_utils_1.delay(this.GIVE_WS_MSG_TIME_MS)];
|
|
166
|
+
case 2:
|
|
167
|
+
_a.sent();
|
|
168
|
+
elapsedTime = Date.now() - startTime;
|
|
169
|
+
return [3 /*break*/, 1];
|
|
170
|
+
case 3: return [2 /*return*/, message];
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
Object.defineProperty(WsExtractor.prototype, "findMessageByRegex", {
|
|
177
|
+
enumerable: false,
|
|
178
|
+
configurable: true,
|
|
179
|
+
writable: true,
|
|
180
|
+
value: function (regexp) {
|
|
181
|
+
if (parameter_regex_providers_1.isCaptureAllRegExp(regexp)) {
|
|
182
|
+
return this.getLastMessage();
|
|
183
|
+
}
|
|
184
|
+
return this._messages.find(function (msg) { return regexp.test(msg); });
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
Object.defineProperty(WsExtractor.prototype, "getLastMessage", {
|
|
188
|
+
enumerable: false,
|
|
189
|
+
configurable: true,
|
|
190
|
+
writable: true,
|
|
191
|
+
value: function () {
|
|
192
|
+
return this._messages[this._messages.length - 1];
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
return WsExtractor;
|
|
196
|
+
}(parametrized_extractor_1.ParametrizedExtractor));
|
|
197
|
+
exports.WsExtractor = WsExtractor;
|
|
198
|
+
//# sourceMappingURL=ws-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ws-extractor.js","sourceRoot":"","sources":["../../../src/parameters/extractors/ws-extractor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAmE;AACnE,qEAA+C;AAC/C,wEAA+D;AAC/D,0EAAqF;AAErF,mEAAiE;AACjE,iDAA6C;AAE7C;IAAiC,+BAAqB;IAGpD,qBACE,cAAiE,EACjE,UAAsB;QADtB,+BAAA,EAAA,mBAAqC,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;QADnE,YAIE,kBAAM,UAAU,CAAC,SAGlB;QATD;;;;;WAAqC;QACrC;;;;;WAAoC;QAUpC;;;;mBAAkB,UAAO,aAAqB;;;;;4BAC5C,aAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,aAAa,CAAC,CAAC;4BACpD,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,IAAI,6CAAiB,CAAC,CAAC;4BAC5C,qBAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAA;;4BAA3C,SAAS,GAAG,SAA+B;4BACjD,aAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,SAAS,CAAC,CAAC;4BAEtD,sBAAO,0BAAU,CAAC,MAAM,EAAE,SAAS,CAAC,EAAC;;;iBACtC;WAAC;QAiBF;;;;mBAAuC,GAAG;WAAC;QA5BzC,KAAI,CAAC,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC;QACzC,KAAI,CAAC,UAAU,GAAG,cAAc,CAAC,SAAS,CAAC;;IAC7C,CAAC;IAWD;;;;OAIG;;;;;eACH,UACE,MAAc;;;;;gCAEF,qBAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAA;;4BAA9C,GAAG,GAAG,SAAwC;4BACpD,IAAI,CAAC,GAAG,EAAE;gCACR,MAAM,IAAI,yBAAgB,CAAC,mCAAmC,CAAC,CAAC;6BACjE;4BACD,sBAAO,GAAG,EAAC;;;;SACZ;;IAID;;;;;;;OAOG;;;;;eACH,UACE,MAAc;;;;;;4BAER,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;4BACzB,OAAO,GAAG,EAAE,CAAC;4BACb,WAAW,GAAG,CAAC,CAAC;;;iCAEb,CAAA,CAAC,OAAO,IAAI,WAAW,GAAG,IAAI,CAAC,UAAU,CAAA;4BAC9C,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;4BAChD,IAAI,OAAO,EAAE;gCACX,wBAAM;6BACP;4BAED,qBAAM,qBAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAA;;4BAArC,SAAqC,CAAC;4BACtC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;;gCAEvC,sBAAO,OAAO,EAAC;;;;SAChB;;;;;;eAED,UAA2B,MAAc;YACvC,IAAI,8CAAkB,CAAC,MAAM,CAAC,EAAE;gBAC9B,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;aAC9B;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAhB,CAAgB,CAAC,CAAC;QACtD,CAAC;;;;;;eAED;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnD,CAAC;;IACH,kBAAC;AAAD,CAAC,AA3ED,CAAiC,8CAAqB,GA2ErD;AA3EY,kCAAW"}
|
|
@@ -3,6 +3,7 @@ import * as valueUtils from './value-utils';
|
|
|
3
3
|
import { parameterFunctionOperations } from './parameter-functions/parameter-functions';
|
|
4
4
|
import { usageRegExpProvider, LEGAL_PARAM_CHARS, CAPTURE_REGEX } from './parameter-regex-providers';
|
|
5
5
|
import { PresentableError } from '@loadmill/universal/dist/errors';
|
|
6
|
+
import { TestConfLike } from '../conf';
|
|
6
7
|
export declare const MAX_PARAM_ARRAY_SIZE = 100;
|
|
7
8
|
export { CAPTURE_REGEX, LEGAL_PARAM_CHARS, parameterFunctionOperations, Parameters, ParametersScope, PresentableError, SequenceExecutorParameters, usageRegExpProvider, valueUtils, };
|
|
8
9
|
export declare class ParameterError extends PresentableError {
|
|
@@ -27,10 +28,12 @@ export declare const parameterUtils: {
|
|
|
27
28
|
* ${__encode_url(param1)}
|
|
28
29
|
* ${__if_then_else(param12,'good','bad')}
|
|
29
30
|
*/
|
|
30
|
-
|
|
31
|
+
searchParameterizedExpressionOccurrences(parameterName: string, data: string): Array<string>;
|
|
31
32
|
requestsExtractionsArr(requests: any, toIndex: number): string[];
|
|
32
|
-
getUsedConfParams(conf:
|
|
33
|
+
getUsedConfParams(conf: TestConfLike, parameters: Parameters[]): Parameters[];
|
|
34
|
+
getUsedRequestParams(request: any, parameters: Parameters[]): Parameters[];
|
|
33
35
|
getValueByKeyFromArr(key: string, parameters: Parameters[]): any;
|
|
36
|
+
pickFirstValue(p: Parameters): Parameters;
|
|
34
37
|
getParameterValue(parameter: Parameters): string | string[];
|
|
35
38
|
getParameterName(parameter: Parameters): string;
|
|
36
39
|
getParametersNames(parameters: Parameters[]): string[];
|
|
@@ -48,6 +51,7 @@ export declare const parameterUtils: {
|
|
|
48
51
|
findParamValueInArr(value: any, arr: any): any;
|
|
49
52
|
findUsedParameters(suiteParameters: Parameters[], param: Parameters, usedParameters: Parameters[]): Parameters[];
|
|
50
53
|
applyJSONSchema(instance: any, schema: any): boolean;
|
|
54
|
+
isUsingParameterizedValue(value: string): boolean;
|
|
51
55
|
};
|
|
52
56
|
export declare const stripToFunctionAndArgs: (s: string) => string[];
|
|
53
57
|
export declare const stripParam: (s: string) => string;
|
package/dist/parameters/index.js
CHANGED
|
@@ -240,7 +240,7 @@ exports.parameterUtils = {
|
|
|
240
240
|
* ${__encode_url(param1)}
|
|
241
241
|
* ${__if_then_else(param12,'good','bad')}
|
|
242
242
|
*/
|
|
243
|
-
|
|
243
|
+
searchParameterizedExpressionOccurrences: function (parameterName, data) {
|
|
244
244
|
return data.match(parameter_regex_providers_1.getParameterUsageRegexp(parameterName)) || [];
|
|
245
245
|
},
|
|
246
246
|
requestsExtractionsArr: function (requests, toIndex) {
|
|
@@ -265,7 +265,7 @@ exports.parameterUtils = {
|
|
|
265
265
|
var stringifyConf_1 = JSON.stringify(conf);
|
|
266
266
|
parameters.forEach(function (p) {
|
|
267
267
|
var paramName = _this.getParameterName(p);
|
|
268
|
-
if (
|
|
268
|
+
if (isParamUsedInConf(paramName, conf, stringifyConf_1)) {
|
|
269
269
|
var currentUsedParams = _this.findUsedParameters(parameters, p, []);
|
|
270
270
|
usedParameters = usedParameters.concat(currentUsedParams);
|
|
271
271
|
}
|
|
@@ -273,6 +273,9 @@ exports.parameterUtils = {
|
|
|
273
273
|
}
|
|
274
274
|
return uniqWith(usedParameters, isEqual);
|
|
275
275
|
},
|
|
276
|
+
getUsedRequestParams: function (request, parameters) {
|
|
277
|
+
return this.getUsedConfParams({ requests: [request] }, parameters);
|
|
278
|
+
},
|
|
276
279
|
getValueByKeyFromArr: function (key, parameters) {
|
|
277
280
|
var res;
|
|
278
281
|
var param = getParameterByKey(key, parameters);
|
|
@@ -284,6 +287,15 @@ exports.parameterUtils = {
|
|
|
284
287
|
}
|
|
285
288
|
return res;
|
|
286
289
|
},
|
|
290
|
+
pickFirstValue: function (p) {
|
|
291
|
+
var _a, _b;
|
|
292
|
+
var name = exports.parameterUtils.getParameterName(p);
|
|
293
|
+
var value = exports.parameterUtils.getParameterValue(p);
|
|
294
|
+
if (Array.isArray(value) && value.length > 0) {
|
|
295
|
+
return _a = {}, _a[name] = value[0], _a;
|
|
296
|
+
}
|
|
297
|
+
return _b = {}, _b[name] = value, _b;
|
|
298
|
+
},
|
|
287
299
|
getParameterValue: function (parameter) {
|
|
288
300
|
var value = Object.values(parameter)[0];
|
|
289
301
|
return value;
|
|
@@ -370,7 +382,10 @@ exports.parameterUtils = {
|
|
|
370
382
|
},
|
|
371
383
|
applyJSONSchema: function (instance, schema) {
|
|
372
384
|
return json_schema_1.applyJSONSchema(instance, schema);
|
|
373
|
-
}
|
|
385
|
+
},
|
|
386
|
+
isUsingParameterizedValue: function (value) {
|
|
387
|
+
return parameter_regex_providers_1.PARAM_USAGE_REGEXP.test(value);
|
|
388
|
+
},
|
|
374
389
|
};
|
|
375
390
|
function resolvePlainParameter(parameterName, parameters) {
|
|
376
391
|
if (parameters.hasOwnProperty(parameterName)) {
|
|
@@ -531,4 +546,28 @@ var getTokensWithoutOperators = function (paramOccurrence) {
|
|
|
531
546
|
return stripOperators(tokens);
|
|
532
547
|
};
|
|
533
548
|
exports.getTokensWithoutOperators = getTokensWithoutOperators;
|
|
549
|
+
function isParamUsedInConf(paramName, conf, stringifyConf) {
|
|
550
|
+
return !isEmpty(exports.parameterUtils.searchParameterizedExpressionOccurrences(paramName, stringifyConf)) ||
|
|
551
|
+
isParamNameUsedInConf(paramName, conf);
|
|
552
|
+
}
|
|
553
|
+
function isParamNameUsedInField(paramName, fieldValue) {
|
|
554
|
+
return !!fieldValue && fieldValue === paramName;
|
|
555
|
+
}
|
|
556
|
+
function isParamNameUsedInAssertions(paramName, assertions) {
|
|
557
|
+
if (assertions === void 0) { assertions = []; }
|
|
558
|
+
return assertions.some(function (assertion) { return assertion.check === paramName; });
|
|
559
|
+
}
|
|
560
|
+
function isParamNameUsedInRequest(paramName, request) {
|
|
561
|
+
var _a, _b, _c;
|
|
562
|
+
return isParamNameUsedInAssertions(paramName, request.assert) ||
|
|
563
|
+
isParamNameUsedInField(paramName, (_b = (_a = request.loop) === null || _a === void 0 ? void 0 : _a.assert) === null || _b === void 0 ? void 0 : _b.check) ||
|
|
564
|
+
isParamNameUsedInField(paramName, (_c = request.skipBefore) === null || _c === void 0 ? void 0 : _c.condition) ||
|
|
565
|
+
isParamNameUsedInField(paramName, request.stopBefore);
|
|
566
|
+
}
|
|
567
|
+
function isParamNameUsedInConf(paramName, conf) {
|
|
568
|
+
if (!isEmpty(conf.requests)) {
|
|
569
|
+
return conf.requests.some(function (req) { return isParamNameUsedInRequest(paramName, req); });
|
|
570
|
+
}
|
|
571
|
+
return false;
|
|
572
|
+
}
|
|
534
573
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parameters/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parameters/index.ts"],"names":[],"mappings":"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"}
|