@sap_oss/wdio-qmate-service 2.12.2 → 2.13.0
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/lib/index.js +5 -2
- package/lib/index.js.map +1 -1
- package/lib/scripts/hooks/onComplete.d.ts +1 -1
- package/lib/scripts/hooks/onComplete.js +14 -1
- package/lib/scripts/hooks/onComplete.js.map +1 -1
- package/lib/scripts/hooks/onPrepare.d.ts +1 -1
- package/lib/scripts/hooks/onPrepare.js +20 -1
- package/lib/scripts/hooks/onPrepare.js.map +1 -1
- package/lib/scripts/stats/createUsage.d.ts +10 -0
- package/lib/scripts/stats/createUsage.js +34 -0
- package/lib/scripts/stats/createUsage.js.map +1 -0
- package/lib/scripts/stats/getConfigurationInformation.d.ts +1 -0
- package/lib/scripts/stats/getConfigurationInformation.js +57 -0
- package/lib/scripts/stats/getConfigurationInformation.js.map +1 -0
- package/lib/scripts/stats/getEnvironment.d.ts +1 -0
- package/lib/scripts/stats/getEnvironment.js +8 -0
- package/lib/scripts/stats/getEnvironment.js.map +1 -0
- package/lib/scripts/stats/getOperatingSystem.d.ts +3 -0
- package/lib/scripts/stats/getOperatingSystem.js +39 -0
- package/lib/scripts/stats/getOperatingSystem.js.map +1 -0
- package/lib/scripts/stats/getRepositoryInformation.d.ts +1 -0
- package/lib/scripts/stats/getRepositoryInformation.js +49 -0
- package/lib/scripts/stats/getRepositoryInformation.js.map +1 -0
- package/lib/scripts/stats/getUserId.d.ts +1 -0
- package/lib/scripts/stats/getUserId.js +76 -0
- package/lib/scripts/stats/getUserId.js.map +1 -0
- package/lib/scripts/stats/getVersion.d.ts +1 -0
- package/lib/scripts/stats/getVersion.js +7 -0
- package/lib/scripts/stats/getVersion.js.map +1 -0
- package/lib/scripts/stats/stats.d.ts +2 -0
- package/lib/scripts/stats/stats.js +40 -0
- package/lib/scripts/stats/stats.js.map +1 -0
- package/lib/scripts/stats/updateUsage.d.ts +3 -0
- package/lib/scripts/stats/updateUsage.js +29 -0
- package/lib/scripts/stats/updateUsage.js.map +1 -0
- package/package.json +9 -4
package/lib/index.js
CHANGED
|
@@ -24,6 +24,7 @@ module.exports = class CustomWorkerService {
|
|
|
24
24
|
*/
|
|
25
25
|
// @ts-ignore
|
|
26
26
|
constructor(serviceOptions, capabilities, config) {
|
|
27
|
+
this._statsUsageId = null;
|
|
27
28
|
this.config = config;
|
|
28
29
|
}
|
|
29
30
|
/**
|
|
@@ -42,7 +43,9 @@ module.exports = class CustomWorkerService {
|
|
|
42
43
|
`;
|
|
43
44
|
console.log(logo);
|
|
44
45
|
try {
|
|
45
|
-
await (0, onPrepare_1.default)(config, capabilities)
|
|
46
|
+
await (0, onPrepare_1.default)(config, capabilities, (statsUsageId) => {
|
|
47
|
+
this._statsUsageId = statsUsageId;
|
|
48
|
+
});
|
|
46
49
|
}
|
|
47
50
|
catch (e) {
|
|
48
51
|
console.error(`onPrepare hook failed: ${e}`);
|
|
@@ -147,7 +150,7 @@ module.exports = class CustomWorkerService {
|
|
|
147
150
|
*/
|
|
148
151
|
async onComplete(exitCode, config, capabilities, results) {
|
|
149
152
|
try {
|
|
150
|
-
await (0, onComplete_1.default)(exitCode, config, capabilities, results);
|
|
153
|
+
await (0, onComplete_1.default)(exitCode, config, capabilities, results, this._statsUsageId);
|
|
151
154
|
}
|
|
152
155
|
catch (e) {
|
|
153
156
|
util.console.error(`onComplete hook failed: ${e}`);
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,YAAY,CAAC;;;;;AAEb,kFAA+D;AAC/D,oEAAiD;AACjD,0EAAsD;AACtD,4EAAwD;AACxD,kEAA8C;AAC9C,6EAA0E;AAC1E,MAAM,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEtC,MAAM,CAAC,OAAO,GAAG,MAAM,mBAAmB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,YAAY,CAAC;;;;;AAEb,kFAA+D;AAC/D,oEAAiD;AACjD,0EAAsD;AACtD,4EAAwD;AACxD,kEAA8C;AAC9C,6EAA0E;AAC1E,MAAM,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEtC,MAAM,CAAC,OAAO,GAAG,MAAM,mBAAmB;IAGxC;;;;;;;;;OASG;IACH,aAAa;IACb,YAAY,cAAc,EAAE,YAAY,EAAE,MAAM;QAbxC,kBAAa,GAAkB,IAAI,CAAC;QAc1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,aAAa;IACb,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY;QAClC,MAAM,IAAI,GAAG;;;;;4BAKW,EAAE,CAAC,OAAO;OAC/B,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,IAAA,mBAAa,EAAC,MAAM,EAAE,YAAY,EAAE,CAAC,YAAY,EAAE,EAAE;gBACzD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;YACpC,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,aAAa;IACb,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK;QAC7C,IAAI,CAAC;YACH,IAAI,IAAA,mCAAgB,GAAE,EAAE,CAAC;gBACvB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;YAC1B,CAAC;YACD,MAAM,IAAA,uBAAkB,EAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtB,mEAAmE;gBACnE,OAAO,CAAC,KAAK,CAAC,0DAA0D,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7F,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,EAAE,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,aAAa;IACb,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO;QACvC,8GAA8G;QAC9G,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC7B,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YACvC,MAAM,IAAA,gBAAW,EAAC,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtB,mEAAmE;gBACnE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mDAAmD,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC3F,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,KAAU;QAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,aAAa;IACb,KAAK,CAAC,SAAS,CAAC,IAAS,EAAE,OAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;QACnF,mCAAmC;QACnC,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC;QAChD,sDAAsD;QACtD,IAAI,CAAC,KAAK,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,QAAQ,aAAa,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACzF,CAAC;aAAM,IAAI,KAAK,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,QAAQ,aAAa,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,YAAiB,EAAE,KAAU;QACvD,IAAI,CAAC;YACH,MAAM,IAAA,eAAS,EAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,MAAW,EAAE,YAAiB,EAAE,OAAY;QAC7E,IAAI,CAAC;YACH,MAAM,IAAA,oBAAc,EAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACpF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
* @param {Array.<Object>} capabilities list of capabilities details
|
|
7
7
|
* @param {<Object>} results object containing test results
|
|
8
8
|
*/
|
|
9
|
-
export default function (exitCode: any, config: any, capabilities: any, results: any): Promise<void>;
|
|
9
|
+
export default function (exitCode: any, config: any, capabilities: any, results: any, statsUsageId: string | null): Promise<void>;
|
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.default = default_1;
|
|
7
7
|
const dataExchangeCommands_1 = __importDefault(require("./utils/dataExchangeCommands"));
|
|
8
|
+
const stats_1 = require("../stats/stats");
|
|
8
9
|
/**
|
|
9
10
|
* Gets executed after all workers got shut down and the process is about to exit. An error
|
|
10
11
|
* thrown in the onComplete hook will result in the test run failing.
|
|
@@ -13,8 +14,20 @@ const dataExchangeCommands_1 = __importDefault(require("./utils/dataExchangeComm
|
|
|
13
14
|
* @param {Array.<Object>} capabilities list of capabilities details
|
|
14
15
|
* @param {<Object>} results object containing test results
|
|
15
16
|
*/
|
|
16
|
-
async function default_1(exitCode, config, capabilities, results) {
|
|
17
|
+
async function default_1(exitCode, config, capabilities, results, statsUsageId) {
|
|
17
18
|
await dataExchangeCommands_1.default.writeExportData();
|
|
19
|
+
if (statsUsageId !== null) {
|
|
20
|
+
if (config.params && config.params.qmateStatsOptions) {
|
|
21
|
+
if (!config.params.qmateStatsOptions.optOut) {
|
|
22
|
+
if (exitCode === 0) {
|
|
23
|
+
(0, stats_1.updateUsageRequests)(statsUsageId, 'success');
|
|
24
|
+
}
|
|
25
|
+
else if (exitCode === 1) {
|
|
26
|
+
(0, stats_1.updateUsageRequests)(statsUsageId, 'fail');
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
18
31
|
}
|
|
19
32
|
;
|
|
20
33
|
//# sourceMappingURL=onComplete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onComplete.js","sourceRoot":"","sources":["../../../src/scripts/hooks/onComplete.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"onComplete.js","sourceRoot":"","sources":["../../../src/scripts/hooks/onComplete.ts"],"names":[],"mappings":";;;;;AAYA,4BAcC;AA1BD,wFAAgE;AAChE,0CAAqD;AAErD;;;;;;;GAOG;AAEY,KAAK,oBAAW,QAAa,EAAE,MAAW,EAAE,YAAiB,EAAE,OAAY,EAAE,YAA2B;IACrH,MAAM,8BAAoB,CAAC,eAAe,EAAE,CAAC;IAE7C,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAC5C,IAAI,QAAQ,KAAK,CAAC,EAAC,CAAC;oBAClB,IAAA,2BAAmB,EAAC,YAAY,EAAG,SAAS,CAAC,CAAC;gBAChD,CAAC;qBAAM,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;oBAC1B,IAAA,2BAAmB,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAAA,CAAC"}
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* @param {Object} config wdio configuration object
|
|
4
4
|
* @param {Array.<Object>} capabilities list of capabilities details
|
|
5
5
|
*/
|
|
6
|
-
export default function (config: any, capabilities: Array<object
|
|
6
|
+
export default function (config: any, capabilities: Array<object>, callbackStatsUsageId: (statsUsageId: string) => void): Promise<void>;
|
|
@@ -5,20 +5,39 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.default = default_1;
|
|
7
7
|
const path = require("path");
|
|
8
|
+
const stats_1 = require("../stats/stats");
|
|
8
9
|
const dataExchangeCommands_1 = __importDefault(require("./utils/dataExchangeCommands"));
|
|
9
10
|
/**
|
|
10
11
|
* Gets executed once before all workers get launched.
|
|
11
12
|
* @param {Object} config wdio configuration object
|
|
12
13
|
* @param {Array.<Object>} capabilities list of capabilities details
|
|
13
14
|
*/
|
|
14
|
-
async function default_1(config, capabilities) {
|
|
15
|
+
async function default_1(config, capabilities, callbackStatsUsageId) {
|
|
16
|
+
// Set the CONFIG_PATH environment variable to the directory of the config file
|
|
15
17
|
if (!process.env.CONFIG_PATH) {
|
|
16
18
|
process.env.CONFIG_PATH = path.dirname(config._[0]);
|
|
17
19
|
}
|
|
20
|
+
// Send usage requests
|
|
21
|
+
if (config.params && config.params.qmateStatsOptions) {
|
|
22
|
+
if (!config.params.qmateStatsOptions.optOut) {
|
|
23
|
+
try {
|
|
24
|
+
(0, stats_1.sendUsageRequests)().then((res) => {
|
|
25
|
+
if (res != null) {
|
|
26
|
+
callbackStatsUsageId(res);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
// Intentionally left empty -> call only succeeds when done SAP internally
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
// Set Qmate custom timeouts
|
|
18
36
|
if (config.params && config.params.qmateCustomTimeout) {
|
|
19
37
|
process.env.QMATE_CUSTOM_TIMEOUT = config.params.qmateCustomTimeout;
|
|
20
38
|
process.env.LOAD_PROPERTY_TIMEOUT = config.params.loadPropertyTimeout;
|
|
21
39
|
}
|
|
40
|
+
// Create a temporary data folder
|
|
22
41
|
await dataExchangeCommands_1.default.createTmpDataFolder();
|
|
23
42
|
}
|
|
24
43
|
;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onPrepare.js","sourceRoot":"","sources":["../../../src/scripts/hooks/onPrepare.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"onPrepare.js","sourceRoot":"","sources":["../../../src/scripts/hooks/onPrepare.ts"],"names":[],"mappings":";;;;;AASA,4BA8BC;AAvCD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,0CAAmD;AACnD,wFAAgE;AAEhE;;;;GAIG;AACY,KAAK,oBAAW,MAAW,EAAE,YAA2B,EAAE,oBAAoD;IAC3H,+EAA+E;IAC/E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,sBAAsB;IACtB,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,IAAA,yBAAiB,GAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC/B,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;wBAChB,oBAAoB,CAAC,GAAG,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,0EAA0E;YAC5E,CAAC;QACH,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC;IAExE,CAAC;IAED,iCAAiC;IACjC,MAAM,8BAAoB,CAAC,mBAAmB,EAAE,CAAC;AACnD,CAAC;AAAA,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createUsage = createUsage;
|
|
4
|
+
const undici_1 = require("undici");
|
|
5
|
+
async function createUsage(usageData) {
|
|
6
|
+
const urlUsage = "https://stats.qmate.proc.only.sap/api/usage/qmate";
|
|
7
|
+
try {
|
|
8
|
+
const response = await (0, undici_1.fetch)(urlUsage, {
|
|
9
|
+
method: "POST",
|
|
10
|
+
headers: {
|
|
11
|
+
"Content-Type": "application/json",
|
|
12
|
+
},
|
|
13
|
+
body: JSON.stringify(usageData),
|
|
14
|
+
dispatcher: new undici_1.Agent({
|
|
15
|
+
connect: {
|
|
16
|
+
rejectUnauthorized: false,
|
|
17
|
+
// ca: process.env.SAP_GLOBAL_ROOT_CA
|
|
18
|
+
}
|
|
19
|
+
})
|
|
20
|
+
});
|
|
21
|
+
if (!response.ok) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
const responseText = await response.text();
|
|
26
|
+
const responseData = JSON.parse(responseText);
|
|
27
|
+
return responseData.id;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=createUsage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createUsage.js","sourceRoot":"","sources":["../../../src/scripts/stats/createUsage.ts"],"names":[],"mappings":";;AAEA,kCAoCC;AAtCD,mCAAsC;AAE/B,KAAK,UAAU,WAAW,CAAC,SASjC;IACC,MAAM,QAAQ,GAAG,mDAAmD,CAAC;IACrE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,cAAK,EAAC,QAAQ,EAAE;YACrC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YAC/B,UAAU,EAAE,IAAI,cAAK,CAAC;gBACpB,OAAO,EAAE;oBACP,kBAAkB,EAAE,KAAK;oBACzB,qCAAqC;iBACtC;aACF,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC9C,OAAO,YAAY,CAAC,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getConfigurationHash(): string;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getConfigurationHash = getConfigurationHash;
|
|
7
|
+
const child_process_1 = require("child_process");
|
|
8
|
+
const sha_js_1 = __importDefault(require("sha.js"));
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
function azureGetGitRoot() {
|
|
11
|
+
if (process.env.BUILD_REPOSITORY_LOCALPATH) {
|
|
12
|
+
return process.env.BUILD_REPOSITORY_LOCALPATH;
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
throw Error();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function getGitRoot() {
|
|
19
|
+
try {
|
|
20
|
+
return (0, child_process_1.execSync)("git rev-parse --show-toplevel").toString().trim();
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
// Intentionally left blank
|
|
24
|
+
}
|
|
25
|
+
try {
|
|
26
|
+
return azureGetGitRoot();
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
// Intentionally left blank
|
|
30
|
+
}
|
|
31
|
+
throw Error();
|
|
32
|
+
}
|
|
33
|
+
function getConfigurationHash() {
|
|
34
|
+
const FALLBACK_NO_CONFIG_HASH = "FALLBACK_NO_CONFIG_HASH";
|
|
35
|
+
const FALLBACK_NO_GIT_PATH = "FALLBACK_NO_GIT_PATH";
|
|
36
|
+
const FALLBACK_HASHING_FAILED = "FALLBACK_HASHING_FAILED";
|
|
37
|
+
if (process.env.CONFIG_PATH) {
|
|
38
|
+
const configPath = process.env.CONFIG_PATH;
|
|
39
|
+
try {
|
|
40
|
+
const gitRoot = getGitRoot();
|
|
41
|
+
const relativePath = path_1.default.relative(gitRoot, configPath);
|
|
42
|
+
try {
|
|
43
|
+
return (0, sha_js_1.default)("sha256").update(relativePath).digest("hex");
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
return FALLBACK_HASHING_FAILED;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
return FALLBACK_NO_GIT_PATH;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
return FALLBACK_NO_CONFIG_HASH;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=getConfigurationInformation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getConfigurationInformation.js","sourceRoot":"","sources":["../../../src/scripts/stats/getConfigurationInformation.ts"],"names":[],"mappings":";;;;;AA4BA,oDAqBC;AAjDD,iDAAyC;AACzC,oDAA2B;AAC3B,gDAAwB;AAExB,SAAS,eAAe;IACtB,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAA;IAC/C,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,OAAO,IAAA,wBAAQ,EAAC,+BAA+B,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;IACrE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2BAA2B;IAC7B,CAAC;IAED,IAAI,CAAC;QACH,OAAO,eAAe,EAAE,CAAA;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2BAA2B;IAC7B,CAAC;IAED,MAAM,KAAK,EAAE,CAAC;AAChB,CAAC;AAED,SAAgB,oBAAoB;IAClC,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;IAC1D,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;IACpD,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;IAE1D,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,cAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACxD,IAAI,CAAC;gBACH,OAAO,IAAA,gBAAK,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,uBAAuB,CAAC;YACjC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,oBAAoB,CAAC;QAC9B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,uBAAuB,CAAC;IACjC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getEnvironmentVariables(): string[];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getEnvironmentVariables = getEnvironmentVariables;
|
|
4
|
+
const ENVIRONMENT_VARIABLES = ["JENKINS_URL", "GITHUB_ACTIONS", "TF_BUILD", "QMATE_EXEC_CONFIG"];
|
|
5
|
+
function getEnvironmentVariables() {
|
|
6
|
+
return ENVIRONMENT_VARIABLES.filter((variableName) => process.env[variableName] !== undefined);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=getEnvironment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getEnvironment.js","sourceRoot":"","sources":["../../../src/scripts/stats/getEnvironment.ts"],"names":[],"mappings":";;AAEA,0DAEC;AAJD,MAAM,qBAAqB,GAAG,CAAC,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;AAEjG,SAAgB,uBAAuB;IACrC,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,SAAS,CAAC,CAAC;AACjG,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.getOperatingSystemType = getOperatingSystemType;
|
|
27
|
+
exports.getOperatingSystemRelease = getOperatingSystemRelease;
|
|
28
|
+
exports.getOperatingSystemVersion = getOperatingSystemVersion;
|
|
29
|
+
const os = __importStar(require("os"));
|
|
30
|
+
function getOperatingSystemType() {
|
|
31
|
+
return os.type();
|
|
32
|
+
}
|
|
33
|
+
function getOperatingSystemRelease() {
|
|
34
|
+
return os.release();
|
|
35
|
+
}
|
|
36
|
+
function getOperatingSystemVersion() {
|
|
37
|
+
return os.version();
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=getOperatingSystem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getOperatingSystem.js","sourceRoot":"","sources":["../../../src/scripts/stats/getOperatingSystem.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wDAEC;AAED,8DAEC;AAED,8DAEC;AAZD,uCAAyB;AAEzB,SAAgB,sBAAsB;IAClC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;AACrB,CAAC;AAED,SAAgB,yBAAyB;IACrC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;AACxB,CAAC;AAED,SAAgB,yBAAyB;IACrC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getCwdGitRemoteUrlHash(): string;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getCwdGitRemoteUrlHash = getCwdGitRemoteUrlHash;
|
|
7
|
+
const child_process_1 = require("child_process");
|
|
8
|
+
const sha_js_1 = __importDefault(require("sha.js"));
|
|
9
|
+
function azureGetGitRemoteUrl() {
|
|
10
|
+
if (process.env.BUILD_REPOSITORY_URI) {
|
|
11
|
+
return process.env.BUILD_REPOSITORY_URI;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
throw Error();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function getGitRemoteUrl() {
|
|
18
|
+
try {
|
|
19
|
+
return (0, child_process_1.execSync)("git config --get remote.origin.url").toString().trim();
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
// Intentionally left blank
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
return azureGetGitRemoteUrl();
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
// Intentionally left blank
|
|
29
|
+
}
|
|
30
|
+
throw Error();
|
|
31
|
+
}
|
|
32
|
+
function getCwdGitRemoteUrlHash() {
|
|
33
|
+
const FALLBACK_NO_GIT_ORIGIN_REMOTE = "FALLBACK_NO_GIT_ORIGIN_REMOTE";
|
|
34
|
+
const FALLBACK_HASHING_FAILED = "FALLBACK_HASHING_FAILED";
|
|
35
|
+
try {
|
|
36
|
+
const remoteUrl = getGitRemoteUrl();
|
|
37
|
+
try {
|
|
38
|
+
const remoteUrlHash = (0, sha_js_1.default)("sha256").update(remoteUrl).digest("hex");
|
|
39
|
+
return remoteUrlHash;
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
return FALLBACK_HASHING_FAILED;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
return FALLBACK_NO_GIT_ORIGIN_REMOTE;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=getRepositoryInformation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getRepositoryInformation.js","sourceRoot":"","sources":["../../../src/scripts/stats/getRepositoryInformation.ts"],"names":[],"mappings":";;;;;AA2BA,wDAeC;AA1CD,iDAAyC;AACzC,oDAA2B;AAE3B,SAAS,oBAAoB;IAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAA;IACzC,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,eAAe;IACtB,IAAI,CAAC;QACH,OAAO,IAAA,wBAAQ,EAAC,oCAAoC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;IAC1E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2BAA2B;IAC7B,CAAC;IAED,IAAI,CAAC;QACH,OAAO,oBAAoB,EAAE,CAAA;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2BAA2B;IAC7B,CAAC;IAED,MAAM,KAAK,EAAE,CAAC;AAChB,CAAC;AAED,SAAgB,sBAAsB;IACpC,MAAM,6BAA6B,GAAG,+BAA+B,CAAC;IACtE,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;IAE1D,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,IAAA,gBAAK,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtE,OAAO,aAAa,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,uBAAuB,CAAC;QACjC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,6BAA6B,CAAA;IACtC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getUserId(): Promise<string | null>;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.getUserId = getUserId;
|
|
30
|
+
const os = __importStar(require("os"));
|
|
31
|
+
const path_1 = __importDefault(require("path"));
|
|
32
|
+
const node_localstorage_1 = require("node-localstorage");
|
|
33
|
+
const undici_1 = require("undici");
|
|
34
|
+
const localStorage = new node_localstorage_1.LocalStorage(path_1.default.join(os.homedir(), '.qmate-userId'));
|
|
35
|
+
async function getUserId() {
|
|
36
|
+
const urlUser = "https://stats.qmate.proc.only.sap/api/user";
|
|
37
|
+
if (isUserIdStored()) {
|
|
38
|
+
return getUserIdFromStore();
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
try {
|
|
42
|
+
const response = await (0, undici_1.fetch)(urlUser, {
|
|
43
|
+
method: "POST",
|
|
44
|
+
dispatcher: new undici_1.Agent({
|
|
45
|
+
connect: {
|
|
46
|
+
rejectUnauthorized: false,
|
|
47
|
+
// ca: process.env.SAP_GLOBAL_ROOT_CA
|
|
48
|
+
}
|
|
49
|
+
})
|
|
50
|
+
});
|
|
51
|
+
if (!response.ok) {
|
|
52
|
+
console.log(`Failed to create Qmate Stats User: ${response.status} ${response.statusText}`);
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
const responseText = await response.text();
|
|
57
|
+
const responseData = JSON.parse(responseText);
|
|
58
|
+
saveUserIdToStore(responseData.id);
|
|
59
|
+
return responseData.id;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function isUserIdStored() {
|
|
68
|
+
return localStorage.getItem("UserId") !== null;
|
|
69
|
+
}
|
|
70
|
+
function saveUserIdToStore(userId) {
|
|
71
|
+
localStorage.setItem("UserId", userId);
|
|
72
|
+
}
|
|
73
|
+
function getUserIdFromStore() {
|
|
74
|
+
return localStorage.getItem("UserId");
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=getUserId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getUserId.js","sourceRoot":"","sources":["../../../src/scripts/stats/getUserId.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,8BA4BC;AAnCD,uCAAyB;AACzB,gDAAwB;AACxB,yDAAiD;AACjD,mCAAsC;AAEtC,MAAM,YAAY,GAAG,IAAI,gCAAY,CAAC,cAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;AAEzE,KAAK,UAAU,SAAS;IAC7B,MAAM,OAAO,GAAG,4CAA4C,CAAC;IAC7D,IAAI,cAAc,EAAE,EAAE,CAAC;QACrB,OAAO,kBAAkB,EAAE,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAA,cAAK,EAAC,OAAO,EAAE;gBACpC,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,IAAI,cAAK,CAAC;oBACpB,OAAO,EAAE;wBACP,kBAAkB,EAAE,KAAK;wBACzB,qCAAqC;qBACtC;iBACF,CAAC;aACH,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,sCAAsC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC5F,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC9C,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBACnC,OAAO,YAAY,CAAC,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc;IACrB,OAAO,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;AACjD,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc;IACvC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getVersion(): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getVersion.js","sourceRoot":"","sources":["../../../src/scripts/stats/getVersion.ts"],"names":[],"mappings":";;AAAA,gCAEC;AAFD,SAAgB,UAAU;IACxB,OAAO,OAAO,CAAC,GAAG,CAAC,aAAuB,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sendUsageRequests = sendUsageRequests;
|
|
4
|
+
exports.updateUsageRequests = updateUsageRequests;
|
|
5
|
+
const createUsage_1 = require("./createUsage");
|
|
6
|
+
const getConfigurationInformation_1 = require("./getConfigurationInformation");
|
|
7
|
+
const getEnvironment_1 = require("./getEnvironment");
|
|
8
|
+
const getOperatingSystem_1 = require("./getOperatingSystem");
|
|
9
|
+
const getRepositoryInformation_1 = require("./getRepositoryInformation");
|
|
10
|
+
const getUserId_1 = require("./getUserId");
|
|
11
|
+
const getVersion_1 = require("./getVersion");
|
|
12
|
+
const updateUsage_1 = require("./updateUsage");
|
|
13
|
+
async function sendUsageRequests() {
|
|
14
|
+
const user = await (0, getUserId_1.getUserId)();
|
|
15
|
+
if (user === null) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
const usageData = {
|
|
19
|
+
"userId": user,
|
|
20
|
+
"version": (0, getVersion_1.getVersion)(),
|
|
21
|
+
"osType": (0, getOperatingSystem_1.getOperatingSystemType)(),
|
|
22
|
+
"osRelease": (0, getOperatingSystem_1.getOperatingSystemRelease)(),
|
|
23
|
+
"osVersion": (0, getOperatingSystem_1.getOperatingSystemVersion)(),
|
|
24
|
+
"environment": (0, getEnvironment_1.getEnvironmentVariables)(),
|
|
25
|
+
"configHash": (0, getConfigurationInformation_1.getConfigurationHash)(),
|
|
26
|
+
"repoHash": (0, getRepositoryInformation_1.getCwdGitRemoteUrlHash)(),
|
|
27
|
+
};
|
|
28
|
+
const usageId = await (0, createUsage_1.createUsage)(usageData);
|
|
29
|
+
if (usageId === null) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
return usageId;
|
|
33
|
+
}
|
|
34
|
+
async function updateUsageRequests(usageId, result) {
|
|
35
|
+
const usageData = {
|
|
36
|
+
"result": result
|
|
37
|
+
};
|
|
38
|
+
(0, updateUsage_1.updateQmateUsage)(usageId, usageData);
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=stats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/scripts/stats/stats.ts"],"names":[],"mappings":";;AASA,8CAsBC;AAED,kDAMC;AAvCD,+CAA4C;AAC5C,+EAAqE;AACrE,qDAA2D;AAC3D,6DAAoH;AACpH,yEAAoE;AACpE,2CAAwC;AACxC,6CAA0C;AAC1C,+CAAiD;AAE1C,KAAK,UAAU,iBAAiB;IACrC,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAS,GAAE,CAAC;IAC/B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG;QAChB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAA,uBAAU,GAAE;QACvB,QAAQ,EAAE,IAAA,2CAAsB,GAAE;QAClC,WAAW,EAAE,IAAA,8CAAyB,GAAE;QACxC,WAAW,EAAE,IAAA,8CAAyB,GAAE;QACxC,aAAa,EAAE,IAAA,wCAAuB,GAAE;QACxC,YAAY,EAAE,IAAA,kDAAoB,GAAE;QACpC,UAAU,EAAE,IAAA,iDAAsB,GAAE;KACrC,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,IAAA,yBAAW,EAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,mBAAmB,CAAC,OAAe,EAAE,MAAc;IACvE,MAAM,SAAS,GAAG;QAChB,QAAQ,EAAE,MAAM;KACjB,CAAA;IAED,IAAA,8BAAgB,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateQmateUsage = updateQmateUsage;
|
|
4
|
+
const undici_1 = require("undici");
|
|
5
|
+
async function updateQmateUsage(id, usageData) {
|
|
6
|
+
const urlUsage = `https://stats.qmate.proc.only.sap/api/usage/qmate/${id}`;
|
|
7
|
+
try {
|
|
8
|
+
const response = await (0, undici_1.fetch)(urlUsage, {
|
|
9
|
+
method: "PUT",
|
|
10
|
+
headers: {
|
|
11
|
+
"Content-Type": "application/json",
|
|
12
|
+
},
|
|
13
|
+
body: JSON.stringify(usageData),
|
|
14
|
+
dispatcher: new undici_1.Agent({
|
|
15
|
+
connect: {
|
|
16
|
+
rejectUnauthorized: false,
|
|
17
|
+
// ca: process.env.SAP_GLOBAL_ROOT_CA
|
|
18
|
+
}
|
|
19
|
+
})
|
|
20
|
+
});
|
|
21
|
+
if (!response.ok) {
|
|
22
|
+
// Intentionally ignore
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
// Intentionally ignore
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=updateUsage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateUsage.js","sourceRoot":"","sources":["../../../src/scripts/stats/updateUsage.ts"],"names":[],"mappings":";;AAEA,4CAuBC;AAzBD,mCAAsC;AAE/B,KAAK,UAAU,gBAAgB,CAAC,EAAU,EAAE,SAA6B;IAC9E,MAAM,QAAQ,GAAG,qDAAqD,EAAE,EAAE,CAAC;IAC3E,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,cAAK,EAAC,QAAQ,EAAE;YACrC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YAC/B,UAAU,EAAE,IAAI,cAAK,CAAC;gBACpB,OAAO,EAAE;oBACP,kBAAkB,EAAE,KAAK;oBACzB,qCAAqC;iBACtC;aACF,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,uBAAuB;QACzB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACd,uBAAuB;IAC1B,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sap_oss/wdio-qmate-service",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.13.0",
|
|
4
4
|
"author": "SAP SE",
|
|
5
5
|
"types": "./@types/index.d.ts",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -135,23 +135,28 @@
|
|
|
135
135
|
"axios": "^1.7.7",
|
|
136
136
|
"deepmerge": "^4.2.2",
|
|
137
137
|
"fs-extra": "^10.0.0",
|
|
138
|
+
"node-localstorage": "^3.0.5",
|
|
138
139
|
"path": "^0.12.7",
|
|
139
140
|
"pdf-parse": "^1.1.1",
|
|
140
141
|
"query-string": "^7.1.0",
|
|
142
|
+
"sha.js": "^2.4.11",
|
|
141
143
|
"supertest": "^7.0.0",
|
|
144
|
+
"undici": "^7.1.0",
|
|
142
145
|
"xlsx": "^0.18.5",
|
|
143
146
|
"xml2js": "^0.6.0",
|
|
144
147
|
"yargs": "^17.1.1"
|
|
145
148
|
},
|
|
146
149
|
"devDependencies": {
|
|
147
150
|
"@types/fs-extra": "^11.0.1",
|
|
151
|
+
"@types/node-localstorage": "^1.3.3",
|
|
148
152
|
"@types/pdf-parse": "^1.1.1",
|
|
153
|
+
"@types/sha.js": "^2.4.4",
|
|
149
154
|
"@types/xml2js": "^0.4.11",
|
|
155
|
+
"@wdio/appium-service": "^8.39.1",
|
|
150
156
|
"@wdio/cli": "^8.29.7",
|
|
151
157
|
"@wdio/local-runner": "^8.29.7",
|
|
152
158
|
"@wdio/mocha-framework": "^8.29.3",
|
|
153
159
|
"@wdio/sauce-service": "^8.27.0",
|
|
154
|
-
"@wdio/appium-service": "^8.39.1",
|
|
155
160
|
"@wdio/shared-store-service": "^8.29.7",
|
|
156
161
|
"@wdio/spec-reporter": "^8.29.7",
|
|
157
162
|
"@wdio/static-server-service": "^8.29.1",
|
|
@@ -159,7 +164,6 @@
|
|
|
159
164
|
"appium": "2.12.0",
|
|
160
165
|
"appium-uiautomator2-driver": "^3.7.4",
|
|
161
166
|
"appium-xcuitest-driver": "^7.24.3",
|
|
162
|
-
"wdio-chromedriver-service": "^8.0.0",
|
|
163
167
|
"chai": "^4.3.4",
|
|
164
168
|
"chromedriver": "^120.0.1",
|
|
165
169
|
"concurrently": "^7.6.0",
|
|
@@ -173,7 +177,8 @@
|
|
|
173
177
|
"prettier": "^2.8.1",
|
|
174
178
|
"rimraf": "^3.0.2",
|
|
175
179
|
"ts-node": "^10.9.2",
|
|
176
|
-
"typescript": "^5.3.3"
|
|
180
|
+
"typescript": "^5.3.3",
|
|
181
|
+
"wdio-chromedriver-service": "^8.0.0"
|
|
177
182
|
},
|
|
178
183
|
"overrides": {
|
|
179
184
|
"got": "^11.8.5"
|