@sectester/repeater 0.20.2 → 0.22.0
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/package.json +1 -1
- package/src/api/DefaultRepeatersManager.d.ts +2 -1
- package/src/api/DefaultRepeatersManager.js +5 -2
- package/src/api/DefaultRepeatersManager.js.map +1 -1
- package/src/api/RepeatersManager.d.ts +1 -0
- package/src/api/RepeatersManager.js.map +1 -1
- package/src/api/commands/CreateRepeaterRequest.d.ts +1 -0
- package/src/api/commands/CreateRepeaterRequest.js.map +1 -1
- package/src/lib/RepeaterFactory.d.ts +3 -1
- package/src/lib/RepeaterFactory.js +15 -7
- package/src/lib/RepeaterFactory.js.map +1 -1
- package/src/lib/RepeaterOptions.d.ts +2 -0
package/package.json
CHANGED
|
@@ -3,9 +3,10 @@ import { CommandDispatcher } from '@sectester/core';
|
|
|
3
3
|
export declare class DefaultRepeatersManager implements RepeatersManager {
|
|
4
4
|
private readonly commandDispatcher;
|
|
5
5
|
constructor(commandDispatcher: CommandDispatcher);
|
|
6
|
-
createRepeater(
|
|
6
|
+
createRepeater({ projectId, ...options }: {
|
|
7
7
|
name: string;
|
|
8
8
|
description?: string;
|
|
9
|
+
projectId?: string;
|
|
9
10
|
}): Promise<{
|
|
10
11
|
repeaterId: string;
|
|
11
12
|
}>;
|
|
@@ -9,8 +9,11 @@ let DefaultRepeatersManager = class DefaultRepeatersManager {
|
|
|
9
9
|
constructor(commandDispatcher) {
|
|
10
10
|
this.commandDispatcher = commandDispatcher;
|
|
11
11
|
}
|
|
12
|
-
async createRepeater(
|
|
13
|
-
const repeater = await this.commandDispatcher.execute(new commands_1.CreateRepeaterRequest(
|
|
12
|
+
async createRepeater({ projectId, ...options }) {
|
|
13
|
+
const repeater = await this.commandDispatcher.execute(new commands_1.CreateRepeaterRequest({
|
|
14
|
+
...options,
|
|
15
|
+
...(projectId ? { projectIds: [projectId] } : {})
|
|
16
|
+
}));
|
|
14
17
|
if (!(repeater === null || repeater === void 0 ? void 0 : repeater.id)) {
|
|
15
18
|
throw new Error('Cannot find created repeater id');
|
|
16
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultRepeatersManager.js","sourceRoot":"","sources":["../../../../../packages/repeater/src/api/DefaultRepeatersManager.ts"],"names":[],"mappings":";;;;AACA,yCAA0E;AAC1E,uCAA8C;AAC9C,0CAAoD;AAGpD,IAAa,uBAAuB,GAApC,MAAa,uBAAuB;IAClC,YAEmB,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IACpD,CAAC;IAEG,KAAK,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"DefaultRepeatersManager.js","sourceRoot":"","sources":["../../../../../packages/repeater/src/api/DefaultRepeatersManager.ts"],"names":[],"mappings":";;;;AACA,yCAA0E;AAC1E,uCAA8C;AAC9C,0CAAoD;AAGpD,IAAa,uBAAuB,GAApC,MAAa,uBAAuB;IAClC,YAEmB,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IACpD,CAAC;IAEG,KAAK,CAAC,cAAc,CAAC,EAC1B,SAAS,EACT,GAAG,OAAO,EAKX;QACC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CACnD,IAAI,gCAAqB,CAAC;YACxB,GAAG,OAAO;YACV,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,CAAA,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;SACpD;QAED,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,UAAkB;QAC5C,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CACnC,IAAI,gCAAqB,CAAC,EAAE,UAAU,EAAE,CAAC,CAC1C,CAAC;IACJ,CAAC;CACF,CAAA;AAjCY,uBAAuB;IADnC,IAAA,qBAAU,GAAE;IAGR,mBAAA,IAAA,iBAAM,EAAC,wBAAiB,CAAC,CAAA;;GAFjB,uBAAuB,CAiCnC;AAjCY,0DAAuB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepeatersManager.js","sourceRoot":"","sources":["../../../../../packages/repeater/src/api/RepeatersManager.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"RepeatersManager.js","sourceRoot":"","sources":["../../../../../packages/repeater/src/api/RepeatersManager.ts"],"names":[],"mappings":";;;AAUa,QAAA,gBAAgB,GAAkB,MAAM,CAAC,kBAAkB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateRepeaterRequest.js","sourceRoot":"","sources":["../../../../../../packages/repeater/src/api/commands/CreateRepeaterRequest.ts"],"names":[],"mappings":";;;AAAA,wCAA6C;
|
|
1
|
+
{"version":3,"file":"CreateRepeaterRequest.js","sourceRoot":"","sources":["../../../../../../packages/repeater/src/api/commands/CreateRepeaterRequest.ts"],"names":[],"mappings":";;;AAAA,wCAA6C;AAY7C,MAAa,qBAAsB,SAAQ,iBAG1C;IACC,YAAY,OAAqC;QAC/C,KAAK,CAAC;YACJ,OAAO;YACP,GAAG,EAAE,mBAAmB;YACxB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;CACF;AAXD,sDAWC"}
|
|
@@ -6,12 +6,14 @@ import { Configuration } from '@sectester/core';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare class RepeaterFactory {
|
|
8
8
|
private readonly configuration;
|
|
9
|
+
private readonly MAX_NAME_LENGTH;
|
|
9
10
|
private readonly DEFAULT_RUNNER_OPTIONS;
|
|
10
11
|
private readonly container;
|
|
11
12
|
private readonly repeatersManager;
|
|
12
13
|
private readonly eventBusFactory;
|
|
13
14
|
constructor(configuration: Configuration);
|
|
14
|
-
createRepeater({
|
|
15
|
+
createRepeater({ projectId, description, disableRandomNameGeneration, requestRunnerOptions, namePrefix, requestRunners }?: RepeaterOptions): Promise<Repeater>;
|
|
16
|
+
private generateName;
|
|
15
17
|
private registerRequestRunners;
|
|
16
18
|
private registerRequestRunnerOptions;
|
|
17
19
|
private registerRequestRunner;
|
|
@@ -15,6 +15,7 @@ const tsyringe_1 = require("tsyringe");
|
|
|
15
15
|
let RepeaterFactory = class RepeaterFactory {
|
|
16
16
|
constructor(configuration) {
|
|
17
17
|
this.configuration = configuration;
|
|
18
|
+
this.MAX_NAME_LENGTH = 80;
|
|
18
19
|
this.DEFAULT_RUNNER_OPTIONS = {
|
|
19
20
|
timeout: 30000,
|
|
20
21
|
maxContentLength: 100,
|
|
@@ -42,17 +43,14 @@ let RepeaterFactory = class RepeaterFactory {
|
|
|
42
43
|
this.eventBusFactory =
|
|
43
44
|
this.container.resolve(bus_1.EventBusFactory);
|
|
44
45
|
}
|
|
45
|
-
async createRepeater({
|
|
46
|
-
namePrefix: 'sectester'
|
|
47
|
-
}) {
|
|
46
|
+
async createRepeater({ projectId, description, disableRandomNameGeneration, requestRunnerOptions, namePrefix = 'sectester', requestRunners = [request_runner_1.HttpRequestRunner, request_runner_1.WsRequestRunner] } = {}) {
|
|
48
47
|
var _a;
|
|
49
|
-
if (namePrefix && namePrefix.length > 44) {
|
|
50
|
-
throw new Error('Name prefix must be less than 44 characters.');
|
|
51
|
-
}
|
|
52
48
|
this.registerRequestRunners(requestRunners, requestRunnerOptions);
|
|
49
|
+
const name = this.generateName(namePrefix, disableRandomNameGeneration);
|
|
53
50
|
const { repeaterId } = await this.repeatersManager.createRepeater({
|
|
54
51
|
description,
|
|
55
|
-
|
|
52
|
+
projectId,
|
|
53
|
+
name
|
|
56
54
|
});
|
|
57
55
|
const bus = await this.eventBusFactory.create(repeaterId);
|
|
58
56
|
await ((_a = bus.init) === null || _a === void 0 ? void 0 : _a.call(bus));
|
|
@@ -62,6 +60,16 @@ let RepeaterFactory = class RepeaterFactory {
|
|
|
62
60
|
configuration: this.configuration
|
|
63
61
|
});
|
|
64
62
|
}
|
|
63
|
+
generateName(namePrefix, disableRandomNameGeneration = false) {
|
|
64
|
+
const normalizedPrefix = namePrefix === null || namePrefix === void 0 ? void 0 : namePrefix.trim();
|
|
65
|
+
const randomPostfix = disableRandomNameGeneration ? '' : `-${(0, uuid_1.v4)()}`;
|
|
66
|
+
const name = `${normalizedPrefix}${randomPostfix}`;
|
|
67
|
+
if (name.length > this.MAX_NAME_LENGTH) {
|
|
68
|
+
const maxPrefixLength = this.MAX_NAME_LENGTH - randomPostfix.length;
|
|
69
|
+
throw new Error(`Name prefix must be less than or equal to ${maxPrefixLength} characters.`);
|
|
70
|
+
}
|
|
71
|
+
return name;
|
|
72
|
+
}
|
|
65
73
|
registerRequestRunners(requestRunners, requestRunnerOptions) {
|
|
66
74
|
this.registerRequestRunnerOptions(requestRunnerOptions);
|
|
67
75
|
requestRunners === null || requestRunners === void 0 ? void 0 : requestRunners.forEach(runner => this.registerRequestRunner(runner));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepeaterFactory.js","sourceRoot":"","sources":["../../../../../packages/repeater/src/lib/RepeaterFactory.ts"],"names":[],"mappings":";;;;AAAA,yCAAsC;AACtC,sDAK2B;AAE3B,gCAA0C;AAC1C,gCAAyC;AACzC,0CAAgD;AAChD,+BAAoC;AACpC,uCAA2D;AAE3D;;GAEG;AAEH,IAAa,eAAe,GAA5B,MAAa,eAAe;
|
|
1
|
+
{"version":3,"file":"RepeaterFactory.js","sourceRoot":"","sources":["../../../../../packages/repeater/src/lib/RepeaterFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { RequestRunner, RequestRunnerOptions } from '../request-runner';
|
|
2
2
|
export interface RepeaterOptions {
|
|
3
3
|
namePrefix?: string;
|
|
4
|
+
projectId?: string;
|
|
4
5
|
description?: string;
|
|
6
|
+
disableRandomNameGeneration?: boolean;
|
|
5
7
|
requestRunnerOptions?: RequestRunnerOptions;
|
|
6
8
|
requestRunners?: (RequestRunner | {
|
|
7
9
|
new (...args: any[]): RequestRunner;
|