@nsshunt/ststestrunner 1.1.1 → 1.1.3

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nsshunt/ststestrunner",
3
- "version": "1.1.1",
3
+ "version": "1.1.3",
4
4
  "description": "STS Test Runner Module",
5
5
  "type": "module",
6
6
  "main": "./dist/ststestrunner.cjs",
@@ -1,3 +1,4 @@
1
+ import { IRunnerOptions } from '@nsshunt/stsrunnerframework';
1
2
  export interface IExecutionProfile {
2
3
  iterations: number;
3
4
  duration: number;
@@ -39,4 +40,44 @@ export interface IMasterRunnerConfig {
39
40
  runnerPlan: IRunnerPlan;
40
41
  authOptions: IAuthOptions;
41
42
  }
43
+ export interface ITestCaseFhirBaseOptions extends IRunnerOptions {
44
+ runId: string;
45
+ workerIndex: number;
46
+ runnerIndex: number;
47
+ GetName?: (index: number) => {
48
+ firstName: string;
49
+ lastName: string;
50
+ };
51
+ redisStoreConnection: string;
52
+ clientResetMod: number;
53
+ queryTestingMode: 'like-no-bucket' | 'like-bucket' | 'equal-exact' | 'equal-normalized';
54
+ personPrefix: string;
55
+ useDirectQuery: boolean;
56
+ fhirOptions: {
57
+ fhirServerEndpoint: string;
58
+ stsfhirport: string;
59
+ stsfhirapiroot: string;
60
+ stsfhirbaseurl: string;
61
+ };
62
+ nodeAgentOptions?: {
63
+ keepAlive: boolean;
64
+ maxSockets: number;
65
+ maxTotalSockets: number;
66
+ maxFreeSockets: number;
67
+ timeout: number;
68
+ rejectUnauthorized: boolean;
69
+ };
70
+ authOptions: {
71
+ asoauthapiroot: string;
72
+ asendpoint: string;
73
+ asport: string;
74
+ };
75
+ socketClientMode: 'no-socket-client' | 'socket-client-all-in-one' | 'socket-client-individual-methods';
76
+ socketClientOptions: {
77
+ socketClientCustomPath: string;
78
+ socketClientFhirServerEndpoint: string;
79
+ socketClientName: string;
80
+ socketClientTimeout: number;
81
+ };
82
+ }
42
83
  //# sourceMappingURL=commonTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commonTypes.d.ts","sourceRoot":"","sources":["../src/commonTypes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,wBAAwB,EAAE,MAAM,CAAC;IACjC,wBAAwB,EAAE,MAAM,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IAEnB,gBAAgB,EAAE,iBAAiB,CAAC;IAEpC,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,kBAAkB,GAAG,0BAA0B,GAAG,kCAAkC,CAAC;IACvG,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IAEvB,WAAW,EAAE,YAAY,CAAC;IAC1B,UAAU,EAAE,WAAW,CAAC;IACxB,WAAW,EAAE,YAAY,CAAC;CAC7B"}
1
+ {"version":3,"file":"commonTypes.d.ts","sourceRoot":"","sources":["../src/commonTypes.ts"],"names":[],"mappings":"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"}
package/types/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
+ export * from './commonTypes.js';
1
2
  export * from './workerTestCases.js';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA"}
@@ -1,50 +1,13 @@
1
1
  import { AuthUtilsNode } from '@nsshunt/stsauthclient';
2
2
  import { IAgentManager } from '@nsshunt/stsutils';
3
3
  import { FhirSocketClient, FhirRESTClient, Person } from '@nsshunt/stsfhirclient';
4
- import { IRunner, AbstractRunnerExecutionWorker, IRunnerOptions } from '@nsshunt/stsrunnerframework';
4
+ import { IRunner, AbstractRunnerExecutionWorker } from '@nsshunt/stsrunnerframework';
5
5
  export interface IGetAPITokenFromAuthServerUsingScopeOptions {
6
6
  clientId: string;
7
7
  authClientSecret: string;
8
8
  scope: string;
9
9
  endPoint: string;
10
10
  }
11
- export interface ITestCaseFhirBaseOptions extends IRunnerOptions {
12
- runId: string;
13
- workerIndex: number;
14
- runnerIndex: number;
15
- useRedisForNames: boolean;
16
- redisStoreConnection: string;
17
- clientResetMod: number;
18
- queryTestingMode: 'like-no-bucket' | 'like-bucket' | 'equal-exact' | 'equal-normalized';
19
- personPrefix: string;
20
- useDirectQuery: boolean;
21
- fhirOptions: {
22
- fhirServerEndpoint: string;
23
- stsfhirport: string;
24
- stsfhirapiroot: string;
25
- stsfhirbaseurl: string;
26
- };
27
- nodeAgentOptions?: {
28
- keepAlive: boolean;
29
- maxSockets: number;
30
- maxTotalSockets: number;
31
- maxFreeSockets: number;
32
- timeout: number;
33
- rejectUnauthorized: boolean;
34
- };
35
- authOptions: {
36
- asoauthapiroot: string;
37
- asendpoint: string;
38
- asport: string;
39
- };
40
- socketClientMode: 'no-socket-client' | 'socket-client-all-in-one' | 'socket-client-individual-methods';
41
- socketClientOptions: {
42
- socketClientCustomPath: string;
43
- socketClientFhirServerEndpoint: string;
44
- socketClientName: string;
45
- socketClientTimeout: number;
46
- };
47
- }
48
11
  export declare abstract class TestCaseFhirBase {
49
12
  #private;
50
13
  protected accessTokenTime: number;
@@ -71,10 +34,6 @@ export declare abstract class TestCaseFhirBase {
71
34
  GetAPITokenFromAuthServerUsingScope: (options: IGetAPITokenFromAuthServerUsingScopeOptions, errorCb: (error: Error) => void) => Promise<string>;
72
35
  protected GetAccessTokenForSocketClientAccess: () => Promise<string>;
73
36
  protected GetAccessToken: () => Promise<string>;
74
- GetFakerName: (index: number) => {
75
- firstName: string;
76
- lastName: string;
77
- };
78
37
  GetPersonRecord: (prefix: string, index: number, version: string) => Promise<Person>;
79
38
  StartTestDataLoad: () => Promise<void>;
80
39
  PublishTelemetry: () => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"testCaseFhirBase.d.ts","sourceRoot":"","sources":["../src/testCaseFhirBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testCaseFhirBase.d.ts","sourceRoot":"","sources":["../src/testCaseFhirBase.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,aAAa,EAA4D,MAAM,mBAAmB,CAAA;AAC3G,OAAO,EAAuC,gBAAgB,EAE1D,cAAc,EAAE,MAAM,EAA0B,MAAM,wBAAwB,CAAA;AAElF,OAAO,EAAE,OAAO,EAAE,6BAA6B,EAAkB,MAAM,6BAA6B,CAAA;AAapG,MAAM,WAAW,2CAA2C;IACxD,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACnB;AAED,8BAAsB,gBAAgB;;IAclC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAqB;IACtD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAc;IAEhD,SAAS,CAAC,UAAU,EAAE,gBAAgB,GAAI,IAAI,CAAQ;IAEtD,SAAS,CAAC,cAAc,EAAE,cAAc,GAAI,IAAI,CAAQ;IAExD,SAAS,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC;IAEzC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;gBAW3B,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,EAAE,OAAO;IAwKjF,SAAS,KAAK,qBAAqB,kCAElC;IAED,SAAS,CAAC,WAAW,aAKpB;IAED,SAAS,CAAC,aAAa,QAAa,OAAO,CAAC,cAAc,CAAC,CA6C1D;IAED,SAAS,CAAC,mBAAmB,QAAa,OAAO,CAAC,gBAAgB,CAAC,CA8DlE;IAMD,eAAe,GAAI,SAAS,GAAG,UAE9B;IAED,KAAK,GAAI,SAAS,GAAG,UAEpB;IAED,OAAO,GAAI,SAAS,GAAG,UAEtB;IAED,IAAI,YAAY,IAAI,MAAM,GAAG,IAAI,CAEhC;IACD,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAEpC;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAUzB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMvC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBlC,aAAa,GAAI,KAAK,MAAM,mBAG3B;IAED,mCAAmC,GAAU,SAAS,2CAA2C,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,KAAG,OAAO,CAAC,MAAM,CAAC,CA+InJ;IAED,SAAS,CAAC,mCAAmC,QAAO,OAAO,CAAC,MAAM,CAAC,CAYlE;IAED,SAAS,CAAC,cAAc,QAAa,OAAO,CAAC,MAAM,CAAC,CAuBnD;IA2DD,eAAe,GAAU,QAAQ,MAAM,EAAE,OAAO,MAAM,EAAE,SAAS,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,CAsCxF;IAED,iBAAiB,sBA2ChB;IAoBD,gBAAgB,sBAiBf;IASD,WAAW,QAAa,OAAO,CAAC,OAAO,CAAC,CAKvC;IAED,UAAU,QAAa,OAAO,CAAC,OAAO,CAAC,CAMtC;IAED,eAAe,QAAa,OAAO,CAAC,OAAO,CAAC,CAM3C;IAED,SAAS,QAAa,OAAO,CAAC,OAAO,CAAC,CAQrC;IAED,WAAW,QAAa,OAAO,CAAC,OAAO,CAAC,CAIvC;IAED,YAAY,QAAa,OAAO,CAAC,OAAO,CAAC,CAIxC;IAED,WAAW,QAAa,OAAO,CAAC,OAAO,CAAC,CAIvC;IAED,YAAY,QAAa,OAAO,CAAC,OAAO,CAAC,CAIxC;CAwNJ"}