@nsshunt/stsappframework 3.1.160 → 3.1.161
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/testertesting/app.js +194 -0
- package/dist/testertesting/app.js.map +1 -0
- package/dist/testertesting/commonTypes.js +16 -0
- package/dist/testertesting/commonTypes.js.map +1 -0
- package/dist/testertesting/requestResponseHelper.js +83 -0
- package/dist/testertesting/requestResponseHelper.js.map +1 -0
- package/dist/testertesting/stsTestWorkerDefinitions.js +34 -0
- package/dist/testertesting/stsTestWorkerDefinitions.js.map +1 -0
- package/dist/testertesting/workerInstance.js +131 -0
- package/dist/testertesting/workerInstance.js.map +1 -0
- package/dist/testertesting/workerManager.js +417 -0
- package/dist/testertesting/workerManager.js.map +1 -0
- package/dist/testertesting/workerPrimaryTestRunner01.js +62 -0
- package/dist/testertesting/workerPrimaryTestRunner01.js.map +1 -0
- package/dist/testertesting/workerWorkerTestRunner01.js +146 -0
- package/dist/testertesting/workerWorkerTestRunner01.js.map +1 -0
- package/package.json +1 -1
- package/src/testertesting/app.ts +238 -0
- package/src/testertesting/commonTypes.ts +50 -0
- package/src/testertesting/requestResponseHelper.ts +95 -0
- package/src/testertesting/stsTestWorkerDefinitions.ts +150 -0
- package/src/testertesting/workerInstance.ts +154 -0
- package/src/testertesting/workerManager.ts +478 -0
- package/src/testertesting/workerPrimaryTestRunner01.ts +81 -0
- package/src/testertesting/workerWorkerTestRunner01.ts +184 -0
- package/types/testertesting/app.d.ts +2 -0
- package/types/testertesting/app.d.ts.map +1 -0
- package/types/testertesting/commonTypes.d.ts +44 -0
- package/types/testertesting/commonTypes.d.ts.map +1 -0
- package/types/testertesting/requestResponseHelper.d.ts +8 -0
- package/types/testertesting/requestResponseHelper.d.ts.map +1 -0
- package/types/testertesting/stsTestWorkerDefinitions.d.ts +124 -0
- package/types/testertesting/stsTestWorkerDefinitions.d.ts.map +1 -0
- package/types/testertesting/workerInstance.d.ts +18 -0
- package/types/testertesting/workerInstance.d.ts.map +1 -0
- package/types/testertesting/workerManager.d.ts +14 -0
- package/types/testertesting/workerManager.d.ts.map +1 -0
- package/types/testertesting/workerPrimaryTestRunner01.d.ts +8 -0
- package/types/testertesting/workerPrimaryTestRunner01.d.ts.map +1 -0
- package/types/testertesting/workerWorkerTestRunner01.d.ts +16 -0
- package/types/testertesting/workerWorkerTestRunner01.d.ts.map +1 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/* eslint @typescript-eslint/no-unused-vars: 0, @typescript-eslint/no-explicit-any: 0 */ // --> OFF
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
// Force chalk level
|
|
4
|
+
chalk.level = 3;
|
|
5
|
+
|
|
6
|
+
import { IRunner, IRunnerOptions, IRunnerState } from './stsTestWorkerDefinitions'
|
|
7
|
+
|
|
8
|
+
import { WorkerInstance } from './workerInstance'
|
|
9
|
+
|
|
10
|
+
export interface IRunnerOptionsEx extends IRunnerOptions {
|
|
11
|
+
iterations: number
|
|
12
|
+
sleepDuration: number
|
|
13
|
+
messageMod: number
|
|
14
|
+
logMessageMod: number
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
declare interface LogMessageData {
|
|
18
|
+
indent: number
|
|
19
|
+
adder: number
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const debug = (message: string) => {
|
|
23
|
+
console.log(chalk.blue(`pid: [${process.pid}] workerWorkerTestRunner01::${message}`));
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
declare type LogMessageDataSet = Record<string, LogMessageData>;
|
|
27
|
+
|
|
28
|
+
// This will execute within a worker thread context
|
|
29
|
+
export class WorkerWorkerTestRunner01 extends WorkerInstance {
|
|
30
|
+
#logMessageDataSet: LogMessageDataSet = { };
|
|
31
|
+
|
|
32
|
+
constructor() {
|
|
33
|
+
super()
|
|
34
|
+
debug(`constructor`)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
override StartWork = async (runner: IRunner): Promise<void> => {
|
|
38
|
+
debug(`StartWork::Options: [${JSON.stringify(this.Options)}]`);
|
|
39
|
+
//this.#access_token = await this.#GetAccessToken();
|
|
40
|
+
//await Sleep(this.GetRandomInt(1000));
|
|
41
|
+
return this.PerformTest(runner);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
GenLogMessage = (runner: IRunner) => {
|
|
45
|
+
if (!this.#logMessageDataSet[runner.id]) {
|
|
46
|
+
this.#logMessageDataSet[runner.id] = {
|
|
47
|
+
adder: 1,
|
|
48
|
+
indent: 0
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
const logMessageData = this.#logMessageDataSet[runner.id];
|
|
52
|
+
|
|
53
|
+
let message = `${' '.repeat(logMessageData.indent)}>> Hello World <<`;
|
|
54
|
+
const colorCode = runner.asyncRunnerContext.asyncRunnerId % 4;
|
|
55
|
+
switch (colorCode) {
|
|
56
|
+
case 0:
|
|
57
|
+
message = chalk.green(`${message}`);
|
|
58
|
+
break;
|
|
59
|
+
case 1:
|
|
60
|
+
message = chalk.yellow(`${message}`);
|
|
61
|
+
break;
|
|
62
|
+
case 2:
|
|
63
|
+
message = chalk.magenta(`${message}`);
|
|
64
|
+
break;
|
|
65
|
+
case 3:
|
|
66
|
+
message = chalk.white(`${message}`);
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
console.log(message);
|
|
71
|
+
runner.instrumentData.message.push(message);
|
|
72
|
+
logMessageData.indent += logMessageData.adder;
|
|
73
|
+
if (logMessageData.indent > 20) {
|
|
74
|
+
logMessageData.adder = -1;
|
|
75
|
+
} else if (logMessageData.indent === 0) {
|
|
76
|
+
logMessageData.adder = 1;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
PerformTest = async(runner: IRunner): Promise<void> => {
|
|
81
|
+
debug(`WorkerWorkerTestRunner01::PerformTest`)
|
|
82
|
+
|
|
83
|
+
const message = `ID: [${runner.asyncRunnerContext.id}], Worker: [${runner.asyncRunnerContext.threadId}], Runner: [${runner.asyncRunnerContext.asyncRunnerId}] starting ...`;
|
|
84
|
+
console.log(message);
|
|
85
|
+
runner.instrumentData.message = [message]
|
|
86
|
+
this.PostTelemetry(runner);
|
|
87
|
+
runner.instrumentData.message = [ ];
|
|
88
|
+
|
|
89
|
+
/*
|
|
90
|
+
const tester = new TestRest01Service(this.#access_token, runner.options as IRunnerOptionsEx);
|
|
91
|
+
|
|
92
|
+
tester.on('rx', (val: string) => {
|
|
93
|
+
runner.instrumentData.rx += parseInt(val);
|
|
94
|
+
//console.log(runner.instrumentData.rx);
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
tester.on('tx', (val: string) => {
|
|
98
|
+
runner.instrumentData.tx += parseInt(val);
|
|
99
|
+
});
|
|
100
|
+
*/
|
|
101
|
+
|
|
102
|
+
while (runner.state !== IRunnerState.stopped) {
|
|
103
|
+
|
|
104
|
+
await Sleep(0);
|
|
105
|
+
//let retVal = await tester.StartTest();
|
|
106
|
+
|
|
107
|
+
runner.instrumentData.coreCount = 1;
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
const options = runner.options as IRunnerOptionsEx;
|
|
111
|
+
|
|
112
|
+
await Sleep(options.sleepDuration);
|
|
113
|
+
|
|
114
|
+
runner.instrumentData.timer++;
|
|
115
|
+
runner.instrumentData.requestCount++;
|
|
116
|
+
runner.instrumentData.velocity = options.messageMod;
|
|
117
|
+
|
|
118
|
+
//runner.instrumentData.tx += 256;
|
|
119
|
+
//runner.instrumentData.rx += 6500;
|
|
120
|
+
|
|
121
|
+
if (runner.instrumentData.requestCount % options.logMessageMod === 0) {
|
|
122
|
+
this.GenLogMessage(runner);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
if (runner.instrumentData.requestCount % options.messageMod === 0) {
|
|
126
|
+
this.PostTelemetry(runner);
|
|
127
|
+
runner.instrumentData.message = [ ];
|
|
128
|
+
runner.instrumentData.tx = 0;
|
|
129
|
+
runner.instrumentData.rx = 0;
|
|
130
|
+
}
|
|
131
|
+
if (runner.instrumentData.requestCount % 1000 === 0) {
|
|
132
|
+
const message = `Worker: [${runner.asyncRunnerContext.threadId}], Runner: [${runner.asyncRunnerContext.asyncRunnerId}] has completed: [${runner.instrumentData.requestCount}] iterations of max: [${options.iterations}]`;
|
|
133
|
+
console.log(message);
|
|
134
|
+
runner.instrumentData.message = [message]
|
|
135
|
+
this.PostTelemetry(runner);
|
|
136
|
+
runner.instrumentData.message = [ ];
|
|
137
|
+
runner.instrumentData.tx = 0;
|
|
138
|
+
runner.instrumentData.rx = 0;
|
|
139
|
+
|
|
140
|
+
}
|
|
141
|
+
if (runner.instrumentData.requestCount > options.iterations) {
|
|
142
|
+
runner.state = IRunnerState.stopped;
|
|
143
|
+
const message = `Worker: [${runner.asyncRunnerContext.threadId}], Runner: [${runner.asyncRunnerContext.asyncRunnerId}] stopping ...`;
|
|
144
|
+
console.log(message);
|
|
145
|
+
runner.instrumentData.message = [message]
|
|
146
|
+
this.PostTelemetry(runner);
|
|
147
|
+
runner.instrumentData.message = [ ];
|
|
148
|
+
runner.instrumentData.tx = 0;
|
|
149
|
+
runner.instrumentData.rx = 0;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
import {
|
|
157
|
+
parentPort,
|
|
158
|
+
MessagePort
|
|
159
|
+
} from 'worker_threads';
|
|
160
|
+
import { Sleep } from '@nsshunt/stsutils';
|
|
161
|
+
|
|
162
|
+
let messagePort: MessagePort;
|
|
163
|
+
|
|
164
|
+
const worker = new WorkerWorkerTestRunner01();
|
|
165
|
+
|
|
166
|
+
parentPort?.on('message', (data: any) => {
|
|
167
|
+
|
|
168
|
+
worker.ProcessMessage(data);
|
|
169
|
+
/*
|
|
170
|
+
|
|
171
|
+
if (data.cmd.localeCompare('portmessage') === 0) {
|
|
172
|
+
messagePort = data.port;
|
|
173
|
+
messagePort.on('message', (data) => {
|
|
174
|
+
LogInfoMessage(`webWorker (${process.pid}): message from passed message port = [${data}]`);
|
|
175
|
+
messagePort.postMessage(data);
|
|
176
|
+
});
|
|
177
|
+
} else {
|
|
178
|
+
LogInfoMessage(`webWorker (${process.pid}): message from parent = [${JSON.stringify(data)}]`);
|
|
179
|
+
parentPort?.postMessage(data);
|
|
180
|
+
}
|
|
181
|
+
*/
|
|
182
|
+
});
|
|
183
|
+
|
|
184
|
+
debug(`file completed ...`);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/testertesting/app.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { IContextBase } from '@nsshunt/stsobservability';
|
|
2
|
+
export declare const URI_BASE_VUEUTILS: string;
|
|
3
|
+
export interface IAsyncRunnerContext extends IContextBase {
|
|
4
|
+
id: string;
|
|
5
|
+
hostName: string;
|
|
6
|
+
agentName: string;
|
|
7
|
+
threadId: string;
|
|
8
|
+
asyncRunnerId: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Inter-Worker (IW) Payload context base.
|
|
12
|
+
*/
|
|
13
|
+
export interface IIWMessagePayloadContentBase {
|
|
14
|
+
messageId?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Inter-Worker (IW) message commands.
|
|
18
|
+
*/
|
|
19
|
+
export declare enum eIWMessageCommands {
|
|
20
|
+
InstrumentTelemetry = "__STS__InstrumentTelemetry",// Used to send instrument telemetry
|
|
21
|
+
MessagePort = "__STS__MessagePort",
|
|
22
|
+
MessagePortResponse = "__STS__MessagePortResponse",
|
|
23
|
+
AddAsyncRunner = "__STS__AddAsyncRunner",
|
|
24
|
+
StopAllAsyncRunners = "__STS__StopAllAsyncRunners"
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Inter-Worker (IW) message command.
|
|
28
|
+
*/
|
|
29
|
+
export type IIWMessageCommand = eIWMessageCommands;
|
|
30
|
+
/**
|
|
31
|
+
* Inter-Worker (IW) message payload.
|
|
32
|
+
*/
|
|
33
|
+
export interface IIWMessagePayload {
|
|
34
|
+
command: IIWMessageCommand;
|
|
35
|
+
payload: IIWMessagePayloadContentBase;
|
|
36
|
+
}
|
|
37
|
+
export interface IObservabilitySubscriberManagerOptions {
|
|
38
|
+
modelId: string;
|
|
39
|
+
consumeInstrumentationMode: string;
|
|
40
|
+
instrumentManagerEndpoint: string;
|
|
41
|
+
instrumentManagerPort: string;
|
|
42
|
+
instrumentManagerAPIRoot: string;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=commonTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commonTypes.d.ts","sourceRoot":"","sources":["../../src/testertesting/commonTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,eAAO,MAAM,iBAAiB,EAAE,MAAY,CAAC;AAE7C,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACxD,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC7B,mBAAmB,+BAA8B,CAAE,oCAAoC;IACvF,WAAW,uBAAuB;IAClC,mBAAmB,+BAA+B;IAClD,cAAc,0BAA0B;IACxC,mBAAmB,+BAA+B;CAClD;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,CAAA;AAElD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,iBAAiB,CAAA;IAC1B,OAAO,EAAE,4BAA4B,CAAA;CACxC;AAED,MAAM,WAAW,sCAAsC;IACnD,OAAO,EAAE,MAAM,CAAA;IACf,0BAA0B,EAAE,MAAM,CAAA;IAClC,yBAAyB,EAAE,MAAM,CAAA;IACjC,qBAAqB,EAAE,MAAM,CAAA;IAC7B,wBAAwB,EAAE,MAAM,CAAA;CACnC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MessagePort } from 'worker_threads';
|
|
2
|
+
import type { IIWMessagePayload } from './commonTypes';
|
|
3
|
+
export declare class RequestResponseHelper {
|
|
4
|
+
#private;
|
|
5
|
+
constructor(port: MessagePort);
|
|
6
|
+
PostMessage: (message: IIWMessagePayload) => Promise<IIWMessagePayload>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=requestResponseHelper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestResponseHelper.d.ts","sourceRoot":"","sources":["../../src/testertesting/requestResponseHelper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AActD,qBAAa,qBAAqB;;gBAMlB,IAAI,EAAE,WAAW;IAU7B,WAAW,YAAa,iBAAiB,KAAG,OAAO,CAAC,iBAAiB,CAAC,CAyCrE;CAoBJ"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { Worker, MessagePort } from 'worker_threads';
|
|
2
|
+
import { PublishInstrumentController } from '@nsshunt/stsobservability';
|
|
3
|
+
import { IAsyncRunnerContext } from './commonTypes';
|
|
4
|
+
export interface ISTSAgentWorkerMessagePort extends IIWMessagePayloadContentBase {
|
|
5
|
+
port: MessagePort;
|
|
6
|
+
options: IWorkerOptions;
|
|
7
|
+
}
|
|
8
|
+
export declare enum IRunnerState {
|
|
9
|
+
created = "created",
|
|
10
|
+
running = "running",
|
|
11
|
+
stopped = "stopped",
|
|
12
|
+
paused = "paused",
|
|
13
|
+
error = "error"
|
|
14
|
+
}
|
|
15
|
+
export interface IRunnerTelemetry {
|
|
16
|
+
requestCount: number;
|
|
17
|
+
errorCount: number;
|
|
18
|
+
retryCount: number;
|
|
19
|
+
authenticationCount: number;
|
|
20
|
+
authenticationErrorCount: number;
|
|
21
|
+
authenticationRetryCount: number;
|
|
22
|
+
velocity: number;
|
|
23
|
+
coreCount: number;
|
|
24
|
+
timer: number;
|
|
25
|
+
duration: number;
|
|
26
|
+
latency: number;
|
|
27
|
+
activeRequestCount: number;
|
|
28
|
+
message: string[];
|
|
29
|
+
childCount: number;
|
|
30
|
+
rx: number;
|
|
31
|
+
tx: number;
|
|
32
|
+
}
|
|
33
|
+
export interface IRunner {
|
|
34
|
+
id: number;
|
|
35
|
+
asyncRunnerContext: IAsyncRunnerContext;
|
|
36
|
+
options: IRunnerOptions;
|
|
37
|
+
state: IRunnerState;
|
|
38
|
+
instrumentData: IRunnerTelemetry;
|
|
39
|
+
}
|
|
40
|
+
export interface IRunnerEx extends IRunner {
|
|
41
|
+
publishInstrumentController: PublishInstrumentController;
|
|
42
|
+
Stop: () => Promise<boolean>;
|
|
43
|
+
}
|
|
44
|
+
export declare enum IWorkerState {
|
|
45
|
+
starting = "starting",
|
|
46
|
+
started = "started",
|
|
47
|
+
stopped = "stopped"
|
|
48
|
+
}
|
|
49
|
+
export interface IWorkerOptions {
|
|
50
|
+
hostName: string;
|
|
51
|
+
agentId: string;
|
|
52
|
+
userAgent: string;
|
|
53
|
+
}
|
|
54
|
+
export type Runners = Record<string, IRunner>;
|
|
55
|
+
export interface IWorker {
|
|
56
|
+
id: number;
|
|
57
|
+
state: IWorkerState;
|
|
58
|
+
primaryThreadWorkerOptions: IWorkerOptions;
|
|
59
|
+
workerThreadWorkerOptions: IWorkerOptions;
|
|
60
|
+
runners?: Runners;
|
|
61
|
+
}
|
|
62
|
+
export type Workers = Record<string, IWorker>;
|
|
63
|
+
export interface IPrimaryWorker {
|
|
64
|
+
ProcessMessageFromWorker(workerPort: MessagePort, publishMessagePayload: IIWMessagePayload): Promise<void>;
|
|
65
|
+
}
|
|
66
|
+
export interface IRunnerOptions {
|
|
67
|
+
}
|
|
68
|
+
export interface IWorkerEx extends IWorker {
|
|
69
|
+
worker: Worker;
|
|
70
|
+
primaryWorker: IPrimaryWorker;
|
|
71
|
+
runnersEx: Record<string, IRunnerEx>;
|
|
72
|
+
AddRunner: (runnerOptions: IRunnerOptions) => IRunnerEx;
|
|
73
|
+
StopRunner: (runner: IRunnerEx) => Promise<boolean>;
|
|
74
|
+
Stop: () => Promise<boolean>;
|
|
75
|
+
}
|
|
76
|
+
export interface ISTSTestWorkerOptions {
|
|
77
|
+
messageMod: number;
|
|
78
|
+
iterations: number;
|
|
79
|
+
}
|
|
80
|
+
export interface ITelemetryStore {
|
|
81
|
+
workers: Workers;
|
|
82
|
+
}
|
|
83
|
+
export interface ITestRunnerTelemetryPayload extends IIWMessagePayloadContentBase {
|
|
84
|
+
runner: IRunner;
|
|
85
|
+
}
|
|
86
|
+
export interface IWorkerFactory {
|
|
87
|
+
createPrimaryThreadWorker: (app: any, options: IWorkerOptions) => IPrimaryWorker;
|
|
88
|
+
createWorkerThreadWorker: () => Worker;
|
|
89
|
+
get workerThreadWorkerOptions(): IWorkerOptions;
|
|
90
|
+
get primaryThreadWorkerOptions(): IWorkerOptions;
|
|
91
|
+
}
|
|
92
|
+
export interface IWorkerManagerOptions {
|
|
93
|
+
workerFactory: IWorkerFactory;
|
|
94
|
+
publishInstrumentController: PublishInstrumentController;
|
|
95
|
+
}
|
|
96
|
+
export declare enum eIWMessageCommands {
|
|
97
|
+
InstrumentTelemetry = "__STS__InstrumentTelemetry",// Used to send instrument telemetry
|
|
98
|
+
MessagePort = "__STS__MessagePort",
|
|
99
|
+
MessagePortResponse = "__STS__MessagePortResponse",
|
|
100
|
+
AddAsyncRunner = "__STS__AddAsyncRunner",
|
|
101
|
+
StopAllAsyncRunners = "__STS__StopAllAsyncRunners"
|
|
102
|
+
}
|
|
103
|
+
export declare const PublishMessageCommandsTestRunner: {
|
|
104
|
+
readonly GetAccessToken: "__GetAccessToken";
|
|
105
|
+
readonly GetAccessTokenResponse: "__GetAccessTokenResponse";
|
|
106
|
+
readonly GetDataFromPrimary: "__GetDataFromPrimary";
|
|
107
|
+
readonly ExecuteRefreshToken: "__ExecuteRefreshToken";
|
|
108
|
+
readonly ExecuteRefreshTokenResponse: "__ExecuteRefreshTokenResponse";
|
|
109
|
+
readonly InstrumentTelemetry: eIWMessageCommands.InstrumentTelemetry;
|
|
110
|
+
readonly MessagePort: eIWMessageCommands.MessagePort;
|
|
111
|
+
readonly MessagePortResponse: eIWMessageCommands.MessagePortResponse;
|
|
112
|
+
readonly AddAsyncRunner: eIWMessageCommands.AddAsyncRunner;
|
|
113
|
+
readonly StopAllAsyncRunners: eIWMessageCommands.StopAllAsyncRunners;
|
|
114
|
+
};
|
|
115
|
+
export type PublishMessageCommandsTestRunner = typeof PublishMessageCommandsTestRunner[keyof typeof PublishMessageCommandsTestRunner];
|
|
116
|
+
export type IIWMessageCommand = eIWMessageCommands;
|
|
117
|
+
export interface IIWMessagePayloadContentBase {
|
|
118
|
+
messageId?: string;
|
|
119
|
+
}
|
|
120
|
+
export interface IIWMessagePayload {
|
|
121
|
+
command: IIWMessageCommand;
|
|
122
|
+
payload: IIWMessagePayloadContentBase;
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=stsTestWorkerDefinitions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stsTestWorkerDefinitions.d.ts","sourceRoot":"","sources":["../../src/testertesting/stsTestWorkerDefinitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { MessagePort } from 'worker_threads';
|
|
2
|
+
import type { IRunner } from './stsTestWorkerDefinitions';
|
|
3
|
+
import { RequestResponseHelper } from './requestResponseHelper';
|
|
4
|
+
export interface IWorkerInstanceOptions {
|
|
5
|
+
}
|
|
6
|
+
export declare abstract class WorkerInstance {
|
|
7
|
+
#private;
|
|
8
|
+
constructor();
|
|
9
|
+
GetRandomInt: (max: number) => number;
|
|
10
|
+
StartWork: (runner: IRunner) => Promise<void>;
|
|
11
|
+
PostTelemetry: (runner: IRunner) => void;
|
|
12
|
+
get RequestResponseHelper(): RequestResponseHelper | null;
|
|
13
|
+
get CollectorCollectorPort(): MessagePort | null;
|
|
14
|
+
get Options(): IWorkerInstanceOptions | null;
|
|
15
|
+
StartRunner: (runner: IRunner) => Promise<void>;
|
|
16
|
+
ProcessMessage: (data: any) => Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=workerInstance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workerInstance.d.ts","sourceRoot":"","sources":["../../src/testertesting/workerInstance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAI7C,OAAO,KAAK,EAA8B,OAAO,EAA+B,MAAM,4BAA4B,CAAA;AAGlH,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAO/D,MAAM,WAAW,sBAAsB;CAEtC;AAED,8BAAsB,cAAc;;;IAehC,YAAY,QAAS,MAAM,YAGzB;IAGF,SAAS,WAAkB,OAAO,KAAG,OAAO,CAAC,IAAI,CAAC,CAGjD;IAED,aAAa,WAAY,OAAO,UAW/B;IAED,IAAI,qBAAqB,IAAI,qBAAqB,GAAG,IAAI,CAExD;IAED,IAAI,sBAAsB,IAAI,WAAW,GAAG,IAAI,CAE/C;IAED,IAAI,OAAO,IAAI,sBAAsB,GAAG,IAAI,CAE3C;IA4BD,WAAW,WAAkB,OAAO,mBAKnC;IAwBD,cAAc,SAAe,GAAG,mBA2B/B;CACJ"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { IWorkerEx, IRunnerEx, IRunnerOptions, IWorkerManagerOptions, IWorkerFactory } from './stsTestWorkerDefinitions';
|
|
2
|
+
export declare class STSWorkerManager {
|
|
3
|
+
#private;
|
|
4
|
+
constructor(app: any, options?: IWorkerManagerOptions);
|
|
5
|
+
get WorkersEx(): Record<string, IWorkerEx>;
|
|
6
|
+
AddWorker: (useWorkerFactory?: IWorkerFactory) => Promise<IWorkerEx>;
|
|
7
|
+
AddRunnerToWorker: (stsWorkerEx: IWorkerEx, runnerOptions: IRunnerOptions) => IRunnerEx;
|
|
8
|
+
GetNextAvailableWorker: () => IWorkerEx | null;
|
|
9
|
+
GetBusyWorker: () => IWorkerEx | null;
|
|
10
|
+
get Options(): IWorkerManagerOptions;
|
|
11
|
+
set Options(options: IWorkerManagerOptions);
|
|
12
|
+
StopAllWorkers: () => Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=workerManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workerManager.d.ts","sourceRoot":"","sources":["../../src/testertesting/workerManager.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAA8B,SAAS,EAAW,SAAS,EACtC,cAAc,EAC3C,qBAAqB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAU7E,qBAAa,gBAAgB;;gBAWb,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,qBAAqB;IAerD,IAAI,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAEzC;IAED,SAAS,sBAA6B,cAAc,KAAG,OAAO,CAAC,SAAS,CAAC,CA0ExE;IAED,iBAAiB,gBAAiB,SAAS,iBAAiB,cAAc,KAAG,SAAS,CAMrF;IA2SD,sBAAsB,QAAO,SAAS,GAAG,IAAI,CAa5C;IAED,aAAa,QAAO,SAAS,GAAG,IAAI,CAanC;IAED,IAAI,OAAO,IAAI,qBAAqB,CAEnC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,qBAAqB,EAEzC;IAED,cAAc,sBAMb;CACJ"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MessagePort } from 'worker_threads';
|
|
2
|
+
import { IPrimaryWorker, IWorkerOptions, IIWMessagePayload } from './stsTestWorkerDefinitions';
|
|
3
|
+
export declare class WorkerPrimaryTestRunner01 implements IPrimaryWorker {
|
|
4
|
+
#private;
|
|
5
|
+
constructor(app: any, options: IWorkerOptions);
|
|
6
|
+
ProcessMessageFromWorker(workerPort: MessagePort, publishMessagePayload: IIWMessagePayload): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=workerPrimaryTestRunner01.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workerPrimaryTestRunner01.d.ts","sourceRoot":"","sources":["../../src/testertesting/workerPrimaryTestRunner01.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAM7C,OAAO,EAAE,cAAc,EAAE,cAAc,EACnC,iBAAiB,EAAgC,MAAM,4BAA4B,CAAA;AAKvF,qBAAa,yBAA0B,YAAW,cAAc;;gBAShD,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc;IAOvC,wBAAwB,CAAC,UAAU,EAAE,WAAW,EAAE,qBAAqB,EAAE,iBAAiB;CAoDnG"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IRunner, IRunnerOptions } from './stsTestWorkerDefinitions';
|
|
2
|
+
import { WorkerInstance } from './workerInstance';
|
|
3
|
+
export interface IRunnerOptionsEx extends IRunnerOptions {
|
|
4
|
+
iterations: number;
|
|
5
|
+
sleepDuration: number;
|
|
6
|
+
messageMod: number;
|
|
7
|
+
logMessageMod: number;
|
|
8
|
+
}
|
|
9
|
+
export declare class WorkerWorkerTestRunner01 extends WorkerInstance {
|
|
10
|
+
#private;
|
|
11
|
+
constructor();
|
|
12
|
+
StartWork: (runner: IRunner) => Promise<void>;
|
|
13
|
+
GenLogMessage: (runner: IRunner) => void;
|
|
14
|
+
PerformTest: (runner: IRunner) => Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=workerWorkerTestRunner01.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workerWorkerTestRunner01.d.ts","sourceRoot":"","sources":["../../src/testertesting/workerWorkerTestRunner01.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAgB,MAAM,4BAA4B,CAAA;AAElF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACpD,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;CACxB;AAcD,qBAAa,wBAAyB,SAAQ,cAAc;;;IAQ/C,SAAS,WAAkB,OAAO,KAAG,OAAO,CAAC,IAAI,CAAC,CAK1D;IAED,aAAa,WAAY,OAAO,UAkC/B;IAED,WAAW,WAAiB,OAAO,KAAG,OAAO,CAAC,IAAI,CAAC,CAwElD;CACJ"}
|