@nsshunt/stsappframework 3.1.159 → 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.
Files changed (44) hide show
  1. package/dist/testertesting/app.js +194 -0
  2. package/dist/testertesting/app.js.map +1 -0
  3. package/dist/testertesting/commonTypes.js +16 -0
  4. package/dist/testertesting/commonTypes.js.map +1 -0
  5. package/dist/testertesting/requestResponseHelper.js +83 -0
  6. package/dist/testertesting/requestResponseHelper.js.map +1 -0
  7. package/dist/testertesting/stsTestWorkerDefinitions.js +34 -0
  8. package/dist/testertesting/stsTestWorkerDefinitions.js.map +1 -0
  9. package/dist/testertesting/workerInstance.js +131 -0
  10. package/dist/testertesting/workerInstance.js.map +1 -0
  11. package/dist/testertesting/workerManager.js +417 -0
  12. package/dist/testertesting/workerManager.js.map +1 -0
  13. package/dist/testertesting/workerPrimaryTestRunner01.js +62 -0
  14. package/dist/testertesting/workerPrimaryTestRunner01.js.map +1 -0
  15. package/dist/testertesting/workerWorkerTestRunner01.js +146 -0
  16. package/dist/testertesting/workerWorkerTestRunner01.js.map +1 -0
  17. package/dist/webworkertesting/app.js +2 -0
  18. package/dist/webworkertesting/app.js.map +1 -1
  19. package/package.json +2 -2
  20. package/src/testertesting/app.ts +238 -0
  21. package/src/testertesting/commonTypes.ts +50 -0
  22. package/src/testertesting/requestResponseHelper.ts +95 -0
  23. package/src/testertesting/stsTestWorkerDefinitions.ts +150 -0
  24. package/src/testertesting/workerInstance.ts +154 -0
  25. package/src/testertesting/workerManager.ts +478 -0
  26. package/src/testertesting/workerPrimaryTestRunner01.ts +81 -0
  27. package/src/testertesting/workerWorkerTestRunner01.ts +184 -0
  28. package/src/webworkertesting/app.ts +4 -0
  29. package/types/testertesting/app.d.ts +2 -0
  30. package/types/testertesting/app.d.ts.map +1 -0
  31. package/types/testertesting/commonTypes.d.ts +44 -0
  32. package/types/testertesting/commonTypes.d.ts.map +1 -0
  33. package/types/testertesting/requestResponseHelper.d.ts +8 -0
  34. package/types/testertesting/requestResponseHelper.d.ts.map +1 -0
  35. package/types/testertesting/stsTestWorkerDefinitions.d.ts +124 -0
  36. package/types/testertesting/stsTestWorkerDefinitions.d.ts.map +1 -0
  37. package/types/testertesting/workerInstance.d.ts +18 -0
  38. package/types/testertesting/workerInstance.d.ts.map +1 -0
  39. package/types/testertesting/workerManager.d.ts +14 -0
  40. package/types/testertesting/workerManager.d.ts.map +1 -0
  41. package/types/testertesting/workerPrimaryTestRunner01.d.ts +8 -0
  42. package/types/testertesting/workerPrimaryTestRunner01.d.ts.map +1 -0
  43. package/types/testertesting/workerWorkerTestRunner01.d.ts +16 -0
  44. package/types/testertesting/workerWorkerTestRunner01.d.ts.map +1 -0
@@ -0,0 +1,81 @@
1
+ import { MessagePort } from 'worker_threads';
2
+
3
+ import chalk from 'chalk';
4
+ // Force chalk level
5
+ chalk.level = 3;
6
+
7
+ import { IPrimaryWorker, IWorkerOptions, PublishMessageCommandsTestRunner,
8
+ IIWMessagePayload, IIWMessagePayloadContentBase } from './stsTestWorkerDefinitions'
9
+
10
+ //import { STSOAuth2Manager, STSOAuth2ManagerPluginKey } from '@nsshunt/stsoauth2plugin'
11
+
12
+ // This will execute within the primary thread context and have access to plugins and other Vue application features
13
+ export class WorkerPrimaryTestRunner01 implements IPrimaryWorker {
14
+ // #STSOAuth2Manager: STSOAuth2Manager
15
+ #options: IWorkerOptions
16
+
17
+ #debug = (message: string) => {
18
+ console.log(chalk.magenta(`pid: [${process.pid}] WorkerPrimaryTestRunner01::${message}`));
19
+ }
20
+
21
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
22
+ constructor(app: any, options: IWorkerOptions) {
23
+ this.#debug(`constructor`)
24
+ this.#options = options;
25
+ this.#debug(`constructor::options: [${JSON.stringify(this.#options)}]`);
26
+ // this.#STSOAuth2Manager = app.config.globalProperties.$sts[STSOAuth2ManagerPluginKey]
27
+ }
28
+
29
+ async ProcessMessageFromWorker(workerPort: MessagePort, publishMessagePayload: IIWMessagePayload) {
30
+ this.#debug(`ProcessMessageFromWorker`)
31
+ // Process messages received back from the worker
32
+ switch (publishMessagePayload.command as PublishMessageCommandsTestRunner) {
33
+ case PublishMessageCommandsTestRunner.GetAccessToken : {
34
+ //const access_token = await this.#GetAccessToken();
35
+ const access_token = '1234';
36
+ workerPort.postMessage({
37
+ command: PublishMessageCommandsTestRunner.GetAccessTokenResponse,
38
+ payload: {
39
+ messageId: publishMessagePayload.payload.messageId,
40
+ access_token
41
+ } as IIWMessagePayloadContentBase
42
+ })}
43
+ break;
44
+ case PublishMessageCommandsTestRunner.ExecuteRefreshToken : {
45
+ //const access_token = await this.#ExecuteRefreshToken();
46
+ const access_token = '5678';
47
+ workerPort.postMessage({
48
+ command: PublishMessageCommandsTestRunner.ExecuteRefreshTokenResponse,
49
+ payload: {
50
+ messageId: publishMessagePayload.payload.messageId,
51
+ access_token
52
+ } as IIWMessagePayloadContentBase
53
+ })}
54
+ break;
55
+ default :
56
+ throw new Error(`publishMessagePayload.command: [${publishMessagePayload.command}] not allowed`);
57
+ }
58
+ }
59
+
60
+ /*
61
+ #GetAccessToken = async() : Promise<string | null> => {
62
+ debug(`WorkerPrimaryTestRunner01::GetAccessToken`)
63
+ return await this.#STSOAuth2Manager.GetAccessToken();
64
+ }
65
+
66
+ #ExecuteRefreshToken = async (): Promise<string | null> => {
67
+ debug(`WorkerPrimaryTestRunner01::ExecuteRefreshToken`)
68
+ const retVal = await this.#STSOAuth2Manager.ExecuteRefreshToken();
69
+ if (retVal) {
70
+ const access_token = await this.#STSOAuth2Manager.GetAccessToken();
71
+ if (access_token) {
72
+ return access_token;
73
+ } else {
74
+ return null;
75
+ }
76
+ } else {
77
+ return null;
78
+ }
79
+ }
80
+ */
81
+ }
@@ -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 ...`);
@@ -34,6 +34,8 @@ if (cluster.isPrimary) {
34
34
  LogInfoMessage(`cluster.primary (${process.pid}): message from message port = [${data}]`);
35
35
  });
36
36
 
37
+ LogInfoMessage(`cluster primary completed ...`);
38
+
37
39
 
38
40
  } else {
39
41
  LogInfoMessage(`Worker ${process.pid} started`);
@@ -49,4 +51,6 @@ if (cluster.isPrimary) {
49
51
  LogInfoMessage(`cluster.worker (${process.pid}): message from worker = [${JSON.stringify(data)}]`);
50
52
  });
51
53
 
54
+ LogInfoMessage(`cluster work completed ...`);
55
+
52
56
  }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=app.d.ts.map
@@ -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"}