testit-js-commons 2.1.4 → 2.1.5

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.
@@ -20,6 +20,19 @@ export interface EnvironmentOptions {
20
20
  TMS_ADAPTER_MODE: AdapterMode;
21
21
  TMS_CONFIG_FILE: string;
22
22
  TMS_AUTOMATIC_CREATION_TEST_CASES: boolean;
23
+ TMS_CERT_VALIDATION: boolean;
24
+ }
25
+ export interface ProcessEnvOptions {
26
+ TMS_URL?: string;
27
+ TMS_PRIVATE_TOKEN?: string;
28
+ TMS_PROJECT_ID?: string;
29
+ TMS_CONFIGURATION_ID?: string;
30
+ TMS_TEST_RUN_ID?: string;
31
+ TMS_TEST_RUN_NAME?: string;
32
+ TMS_ADAPTER_MODE?: AdapterMode;
33
+ TMS_CONFIG_FILE?: string;
34
+ TMS_AUTOMATIC_CREATION_TEST_CASES?: boolean;
35
+ TMS_CERT_VALIDATION?: boolean;
23
36
  }
24
37
  export interface AdapterConfig {
25
38
  url: string;
@@ -30,4 +43,5 @@ export interface AdapterConfig {
30
43
  testRunName?: string;
31
44
  adapterMode?: AdapterMode;
32
45
  automaticCreationTestCases?: boolean;
46
+ certValidation?: boolean;
33
47
  }
@@ -5,6 +5,7 @@ export declare class ConfigComposer implements IConfigComposer {
5
5
  compose(base?: Partial<AdapterConfig>): AdapterConfig;
6
6
  mergeAll(file: AdapterConfig, env?: Partial<EnvironmentOptions>, base?: Partial<AdapterConfig>): AdapterConfig;
7
7
  merge(env?: Partial<EnvironmentOptions>, base?: Partial<AdapterConfig>): AdapterConfig;
8
+ mergeEnv(dotEnv?: Partial<EnvironmentOptions>, processEnv?: Partial<EnvironmentOptions>): Partial<EnvironmentOptions>;
8
9
  private resolveAllProperties;
9
10
  private resolveProperties;
10
11
  }
@@ -29,9 +29,11 @@ const common_1 = require("../../common");
29
29
  exports.DEFAULT_CONFIG_FILE = "tms.config.json";
30
30
  class ConfigComposer {
31
31
  compose(base) {
32
- var _a;
33
- const environment = parseEnvConfig();
34
- const content = common_1.Utils.readFile((_a = environment === null || environment === void 0 ? void 0 : environment.TMS_CONFIG_FILE) !== null && _a !== void 0 ? _a : exports.DEFAULT_CONFIG_FILE);
32
+ var _a, _b;
33
+ const processEnvironment = parseProcessEnvConfig();
34
+ const dotEnvironment = parseDotEnvConfig();
35
+ const environment = this.mergeEnv(dotEnvironment, processEnvironment);
36
+ const content = common_1.Utils.readFile((_b = (_a = dotEnvironment === null || dotEnvironment === void 0 ? void 0 : dotEnvironment.TMS_CONFIG_FILE) !== null && _a !== void 0 ? _a : processEnvironment.TMS_CONFIG_FILE) !== null && _b !== void 0 ? _b : exports.DEFAULT_CONFIG_FILE);
35
37
  if (content !== "") {
36
38
  const config = JSON.parse(content);
37
39
  if (config.privateToken) {
@@ -44,20 +46,21 @@ class ConfigComposer {
44
46
  return this.merge(environment, base);
45
47
  }
46
48
  mergeAll(file, env, base) {
47
- var _a, _b, _c, _d, _e, _f;
49
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
48
50
  return {
49
51
  url: this.resolveAllProperties(file.url, env === null || env === void 0 ? void 0 : env.TMS_URL, base === null || base === void 0 ? void 0 : base.url),
50
52
  projectId: this.resolveAllProperties(file.projectId, env === null || env === void 0 ? void 0 : env.TMS_PROJECT_ID, base === null || base === void 0 ? void 0 : base.projectId),
51
53
  testRunId: this.resolveAllProperties(file.testRunId, env === null || env === void 0 ? void 0 : env.TMS_TEST_RUN_ID, base === null || base === void 0 ? void 0 : base.testRunId),
52
54
  testRunName: this.resolveAllProperties(file.testRunName, env === null || env === void 0 ? void 0 : env.TMS_TEST_RUN_NAME, base === null || base === void 0 ? void 0 : base.testRunName) == "" ? undefined : this.resolveAllProperties(file.testRunName, env === null || env === void 0 ? void 0 : env.TMS_TEST_RUN_NAME, base === null || base === void 0 ? void 0 : base.testRunName),
53
55
  privateToken: this.resolveAllProperties(file.privateToken, env === null || env === void 0 ? void 0 : env.TMS_PRIVATE_TOKEN, base === null || base === void 0 ? void 0 : base.privateToken),
54
- adapterMode: (_c = (_b = (_a = file.adapterMode) !== null && _a !== void 0 ? _a : env === null || env === void 0 ? void 0 : env.TMS_ADAPTER_MODE) !== null && _b !== void 0 ? _b : base === null || base === void 0 ? void 0 : base.adapterMode) !== null && _c !== void 0 ? _c : 0,
56
+ adapterMode: (_c = (_b = (_a = base === null || base === void 0 ? void 0 : base.adapterMode) !== null && _a !== void 0 ? _a : env === null || env === void 0 ? void 0 : env.TMS_ADAPTER_MODE) !== null && _b !== void 0 ? _b : file === null || file === void 0 ? void 0 : file.adapterMode) !== null && _c !== void 0 ? _c : 0,
55
57
  configurationId: this.resolveAllProperties(file.configurationId, env === null || env === void 0 ? void 0 : env.TMS_CONFIGURATION_ID, base === null || base === void 0 ? void 0 : base.configurationId),
56
58
  automaticCreationTestCases: (_f = (_e = (_d = file.automaticCreationTestCases) !== null && _d !== void 0 ? _d : env === null || env === void 0 ? void 0 : env.TMS_AUTOMATIC_CREATION_TEST_CASES) !== null && _e !== void 0 ? _e : base === null || base === void 0 ? void 0 : base.automaticCreationTestCases) !== null && _f !== void 0 ? _f : false,
59
+ certValidation: (_j = (_h = (_g = file.certValidation) !== null && _g !== void 0 ? _g : env === null || env === void 0 ? void 0 : env.TMS_CERT_VALIDATION) !== null && _h !== void 0 ? _h : base === null || base === void 0 ? void 0 : base.certValidation) !== null && _j !== void 0 ? _j : true
57
60
  };
58
61
  }
59
62
  merge(env, base) {
60
- var _a, _b, _c, _d;
63
+ var _a, _b, _c, _d, _e, _f;
61
64
  return {
62
65
  url: this.resolveProperties(env === null || env === void 0 ? void 0 : env.TMS_URL, base === null || base === void 0 ? void 0 : base.url),
63
66
  projectId: this.resolveProperties(env === null || env === void 0 ? void 0 : env.TMS_PROJECT_ID, base === null || base === void 0 ? void 0 : base.projectId),
@@ -67,6 +70,21 @@ class ConfigComposer {
67
70
  adapterMode: (_b = (_a = base === null || base === void 0 ? void 0 : base.adapterMode) !== null && _a !== void 0 ? _a : env === null || env === void 0 ? void 0 : env.TMS_ADAPTER_MODE) !== null && _b !== void 0 ? _b : 0,
68
71
  configurationId: this.resolveProperties(env === null || env === void 0 ? void 0 : env.TMS_CONFIGURATION_ID, base === null || base === void 0 ? void 0 : base.configurationId),
69
72
  automaticCreationTestCases: (_d = (_c = env === null || env === void 0 ? void 0 : env.TMS_AUTOMATIC_CREATION_TEST_CASES) !== null && _c !== void 0 ? _c : base === null || base === void 0 ? void 0 : base.automaticCreationTestCases) !== null && _d !== void 0 ? _d : false,
73
+ certValidation: (_f = (_e = env === null || env === void 0 ? void 0 : env.TMS_CERT_VALIDATION) !== null && _e !== void 0 ? _e : base === null || base === void 0 ? void 0 : base.certValidation) !== null && _f !== void 0 ? _f : true
74
+ };
75
+ }
76
+ mergeEnv(dotEnv, processEnv) {
77
+ var _a, _b, _c;
78
+ return {
79
+ TMS_URL: this.resolveProperties(dotEnv === null || dotEnv === void 0 ? void 0 : dotEnv.TMS_URL, processEnv === null || processEnv === void 0 ? void 0 : processEnv.TMS_URL),
80
+ TMS_PROJECT_ID: this.resolveProperties(dotEnv === null || dotEnv === void 0 ? void 0 : dotEnv.TMS_PROJECT_ID, processEnv === null || processEnv === void 0 ? void 0 : processEnv.TMS_PROJECT_ID),
81
+ TMS_TEST_RUN_ID: this.resolveProperties(dotEnv === null || dotEnv === void 0 ? void 0 : dotEnv.TMS_TEST_RUN_ID, processEnv === null || processEnv === void 0 ? void 0 : processEnv.TMS_TEST_RUN_ID),
82
+ TMS_TEST_RUN_NAME: this.resolveProperties(dotEnv === null || dotEnv === void 0 ? void 0 : dotEnv.TMS_TEST_RUN_NAME, processEnv === null || processEnv === void 0 ? void 0 : processEnv.TMS_TEST_RUN_NAME),
83
+ TMS_PRIVATE_TOKEN: this.resolveProperties(dotEnv === null || dotEnv === void 0 ? void 0 : dotEnv.TMS_PRIVATE_TOKEN, processEnv === null || processEnv === void 0 ? void 0 : processEnv.TMS_PRIVATE_TOKEN),
84
+ TMS_ADAPTER_MODE: (_a = dotEnv === null || dotEnv === void 0 ? void 0 : dotEnv.TMS_ADAPTER_MODE) !== null && _a !== void 0 ? _a : processEnv === null || processEnv === void 0 ? void 0 : processEnv.TMS_ADAPTER_MODE,
85
+ TMS_CONFIGURATION_ID: this.resolveProperties(dotEnv === null || dotEnv === void 0 ? void 0 : dotEnv.TMS_CONFIGURATION_ID, processEnv === null || processEnv === void 0 ? void 0 : processEnv.TMS_CONFIGURATION_ID),
86
+ TMS_AUTOMATIC_CREATION_TEST_CASES: (_b = dotEnv === null || dotEnv === void 0 ? void 0 : dotEnv.TMS_AUTOMATIC_CREATION_TEST_CASES) !== null && _b !== void 0 ? _b : processEnv === null || processEnv === void 0 ? void 0 : processEnv.TMS_AUTOMATIC_CREATION_TEST_CASES,
87
+ TMS_CERT_VALIDATION: (_c = dotEnv === null || dotEnv === void 0 ? void 0 : dotEnv.TMS_CERT_VALIDATION) !== null && _c !== void 0 ? _c : processEnv === null || processEnv === void 0 ? void 0 : processEnv.TMS_CERT_VALIDATION
70
88
  };
71
89
  }
72
90
  resolveAllProperties(file, env, base) {
@@ -96,6 +114,35 @@ class ConfigComposer {
96
114
  }
97
115
  }
98
116
  exports.ConfigComposer = ConfigComposer;
99
- function parseEnvConfig() {
117
+ function parseDotEnvConfig() {
100
118
  return dotenv.config({ path: ".env" }).parsed;
101
119
  }
120
+ function parseProcessEnvConfig() {
121
+ return {
122
+ TMS_URL: process.env.TMS_URL,
123
+ TMS_PRIVATE_TOKEN: process.env.TMS_PRIVATE_TOKEN,
124
+ TMS_PROJECT_ID: process.env.TMS_PROJECT_ID,
125
+ TMS_CONFIGURATION_ID: process.env.TMS_CONFIGURATION_ID,
126
+ TMS_TEST_RUN_ID: process.env.TMS_TEST_RUN_ID,
127
+ TMS_TEST_RUN_NAME: process.env.TMS_TEST_RUN_NAME,
128
+ TMS_ADAPTER_MODE: process.env.TMS_ADAPTER_MODE ? stringToAdapterMode(process.env.TMS_ADAPTER_MODE) : undefined,
129
+ TMS_CERT_VALIDATION: process.env.TMS_CERT_VALIDATION ? stringToBoolean(process.env.TMS_CERT_VALIDATION) : undefined,
130
+ TMS_AUTOMATIC_CREATION_TEST_CASES: process.env.TMS_AUTOMATIC_CREATION_TEST_CASES ? stringToBoolean(process.env.TMS_AUTOMATIC_CREATION_TEST_CASES) : undefined,
131
+ TMS_CONFIG_FILE: process.env.TMS_PRIVATE_TOKEN,
132
+ };
133
+ }
134
+ function stringToAdapterMode(str) {
135
+ switch (str) {
136
+ case "2":
137
+ return 2;
138
+ case "1":
139
+ return 1;
140
+ case "0":
141
+ return 0;
142
+ default:
143
+ return undefined;
144
+ }
145
+ }
146
+ function stringToBoolean(str) {
147
+ return ((str === null || str === void 0 ? void 0 : str.toLowerCase()) === "true") ? true : false;
148
+ }
@@ -2,5 +2,6 @@ import { AdapterConfig, EnvironmentOptions } from "../../common";
2
2
  export interface IConfigComposer {
3
3
  compose(base?: Partial<AdapterConfig>): AdapterConfig;
4
4
  mergeAll(file: AdapterConfig, env?: Partial<EnvironmentOptions>, base?: Partial<AdapterConfig>): AdapterConfig;
5
+ mergeEnv(dotEnv?: Partial<EnvironmentOptions>, processEnv?: Partial<EnvironmentOptions>): Partial<EnvironmentOptions>;
5
6
  merge(env?: Partial<EnvironmentOptions>, base?: Partial<AdapterConfig>): AdapterConfig;
6
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "testit-js-commons",
3
- "version": "2.1.4",
3
+ "version": "2.1.5",
4
4
  "description": "JavaScript commons for Test IT",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",