@nsshunt/ststestrunner 1.1.33 → 1.1.34

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.
@@ -1,9 +1,10 @@
1
1
  import { AbstractRunnerExecutionWorker } from "@nsshunt/stsrunnerframework";
2
- import { STSAxiosConfig, Sleep, createAgentManager, defaultLogger, isNode } from "@nsshunt/stsutils";
3
2
  import chalk from "chalk";
3
+ import { STSAxiosConfig, Sleep, createAgentManager, defaultLogger, emptyLogger, isNode } from "@nsshunt/stsutils";
4
4
  import { FhirRESTClient, FhirSocketClientAllInOne, FhirSocketClientIndividual, createRetryAxiosClient } from "@nsshunt/stsfhirclient";
5
5
  import http from "node:http";
6
6
  import https from "node:https";
7
+ import { SocketIoClient } from "@nsshunt/stssocketioutils";
7
8
  //#region \0rolldown/runtime.js
8
9
  var __defProp = Object.defineProperty;
9
10
  var __exportAll = (all, no_symbols) => {
@@ -35743,18 +35744,121 @@ var ResourceDataGenerator = class {
35743
35744
  };
35744
35745
  };
35745
35746
  //#endregion
35747
+ //#region src/libmodule/workerTestCaseLogPublisher.ts
35748
+ var WorkerTestCaseLogPublisher = class extends SocketIoClient {
35749
+ #id;
35750
+ #rooms;
35751
+ constructor(rooms) {
35752
+ super("ststestrunner:SocketClientLogPublisher");
35753
+ this.#rooms = rooms;
35754
+ this.#id = crypto.randomUUID();
35755
+ }
35756
+ Start = (im_endpoint, im_port, im_namespace) => {
35757
+ this.LogDebugMessage(chalk.cyan(`${this.logPrefix}Start()`));
35758
+ const url = `${im_endpoint}:${im_port}/${im_namespace}/`;
35759
+ this.LogDebugMessage(chalk.cyan(`${this.logPrefix}SetupSocket() url: [${url}]`));
35760
+ this.WithAddress(url).WithLogger(defaultLogger).SetupSocket();
35761
+ };
35762
+ get id() {
35763
+ return this.#id;
35764
+ }
35765
+ get logPrefix() {
35766
+ return `ststestrunner:SocketClientLogPublisher:`;
35767
+ }
35768
+ SocketConnect(socket) {
35769
+ this.LogDebugMessage(chalk.magenta(`${this.logPrefix}SocketConnect(): Socket ID: [${socket.id}], Joining Room: [${this.#rooms}]`));
35770
+ socket.emit("__STSjoinRoom", this.#rooms);
35771
+ }
35772
+ SocketError(error) {
35773
+ this.LogErrorMessage(chalk.red(`${this.logPrefix}SocketError(): Error: [${error}]`));
35774
+ }
35775
+ SetupSocketEvents(socket) {
35776
+ this.LogDebugMessage(chalk.magenta(`${this.logPrefix}SetupSocketEvents(): Socket ID: [${socket.id}]`));
35777
+ }
35778
+ SocketConnectError(error) {
35779
+ this.LogErrorMessage(chalk.red(`${this.logPrefix}SocketConnectError(): Error: [${error}]`));
35780
+ }
35781
+ SocketDisconnect(reason) {
35782
+ this.LogErrorMessage(chalk.red(`${this.logPrefix}SocketDisconnect(): reason: [${reason}]`));
35783
+ }
35784
+ };
35785
+ //#endregion
35786
+ //#region src/libmodule/workerTestCaseLogger.ts
35787
+ var WorkerTestCaseLogger = class {
35788
+ #options;
35789
+ #socketIoClient;
35790
+ #logger;
35791
+ constructor(opts) {
35792
+ this.#options = opts;
35793
+ if (this.#options.outputToDefaultLogger === true) this.#logger = defaultLogger;
35794
+ else this.#logger = emptyLogger;
35795
+ this.#socketIoClient = new WorkerTestCaseLogPublisher(this.#options.rooms);
35796
+ this.#socketIoClient.Start(opts.imendpoint, opts.import, opts.imsocketnamespace);
35797
+ }
35798
+ UsePrefix = (message) => {
35799
+ return `[][] ==>> ${message}`;
35800
+ };
35801
+ error(message) {
35802
+ this.log(0, message);
35803
+ this.#logger.error(this.UsePrefix(message));
35804
+ }
35805
+ warn(message) {
35806
+ this.log(1, message);
35807
+ this.#logger.warn(this.UsePrefix(message));
35808
+ }
35809
+ info(message) {
35810
+ this.log(2, message);
35811
+ this.#logger.info(this.UsePrefix(message));
35812
+ }
35813
+ http(message) {
35814
+ this.log(3, message);
35815
+ this.#logger.http(this.UsePrefix(message));
35816
+ }
35817
+ verbose(message) {
35818
+ this.log(4, message);
35819
+ this.#logger.verbose(this.UsePrefix(message));
35820
+ }
35821
+ debug(message) {
35822
+ this.log(5, message);
35823
+ this.#logger.debug(this.UsePrefix(message));
35824
+ }
35825
+ silly(message) {
35826
+ this.log(6, message);
35827
+ this.#logger.silly(this.UsePrefix(message));
35828
+ }
35829
+ log = (level, message) => {
35830
+ this.#socketIoClient.socket?.emit("__STSsendToRoom", this.#options.rooms, {
35831
+ command: "logmessage",
35832
+ payload: {
35833
+ level,
35834
+ message,
35835
+ dateTime: Date.now()
35836
+ }
35837
+ });
35838
+ };
35839
+ };
35840
+ //#endregion
35746
35841
  //#region src/libmodule/workerFhirTestCases.ts
35747
35842
  var WorkerFhirTestCases = class extends AbstractRunnerExecutionWorker {
35748
35843
  _resourceDataGenerator;
35844
+ _workerTestCaseLogger;
35845
+ _logRoom = `logs_workerTestCase`;
35749
35846
  constructor() {
35750
35847
  super();
35751
35848
  this._resourceDataGenerator = new ResourceDataGenerator();
35849
+ this._workerTestCaseLogger = new WorkerTestCaseLogger({
35850
+ outputToDefaultLogger: true,
35851
+ imendpoint: "https://stscore.stsmda.org",
35852
+ import: 3001,
35853
+ imsocketnamespace: "stsinstrumentmanager/stsmonitor",
35854
+ rooms: [this._logRoom]
35855
+ });
35752
35856
  }
35753
35857
  get resourceDataGenerator() {
35754
35858
  return this._resourceDataGenerator;
35755
35859
  }
35756
35860
  get logger() {
35757
- return defaultLogger;
35861
+ return this._workerTestCaseLogger;
35758
35862
  }
35759
35863
  CreateAsyncRunner = async (testRunnerTelemetryPayload) => {
35760
35864
  return AsyncRunnerFactory.CreateAsyncRunner(this, testRunnerTelemetryPayload);