testit-js-commons 2.1.4 → 2.1.6
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
|
|
34
|
-
const
|
|
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 =
|
|
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
|
|
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
|
}
|