cypress-qase-reporter 1.4.2-alpha.3 → 2.0.0-beta.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/dist/index.js DELETED
@@ -1,423 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
16
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
17
- return cooked;
18
- };
19
- var __assign = (this && this.__assign) || function () {
20
- __assign = Object.assign || function(t) {
21
- for (var s, i = 1, n = arguments.length; i < n; i++) {
22
- s = arguments[i];
23
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
24
- t[p] = s[p];
25
- }
26
- return t;
27
- };
28
- return __assign.apply(this, arguments);
29
- };
30
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
31
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
32
- return new (P || (P = Promise))(function (resolve, reject) {
33
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
34
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
35
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
36
- step((generator = generator.apply(thisArg, _arguments || [])).next());
37
- });
38
- };
39
- var __generator = (this && this.__generator) || function (thisArg, body) {
40
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
41
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
42
- function verb(n) { return function (v) { return step([n, v]); }; }
43
- function step(op) {
44
- if (f) throw new TypeError("Generator is already executing.");
45
- while (_) try {
46
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
47
- if (y = 0, t) op = [op[0] & 2, t.value];
48
- switch (op[0]) {
49
- case 0: case 1: t = op; break;
50
- case 4: _.label++; return { value: op[1], done: false };
51
- case 5: _.label++; y = op[1]; op = [0]; continue;
52
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
53
- default:
54
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
55
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
56
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
57
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
58
- if (t[2]) _.ops.pop();
59
- _.trys.pop(); continue;
60
- }
61
- op = body.call(thisArg, _);
62
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
63
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
64
- }
65
- };
66
- var __spreadArrays = (this && this.__spreadArrays) || function () {
67
- for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
68
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
69
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
70
- r[k] = a[j];
71
- return r;
72
- };
73
- var __importDefault = (this && this.__importDefault) || function (mod) {
74
- return (mod && mod.__esModule) ? mod : { "default": mod };
75
- };
76
- /* eslint-disable no-console */
77
- /* eslint-disable camelcase */
78
- /* eslint-disable @typescript-eslint/unbound-method */
79
- var src_1 = require("qaseio/dist/src");
80
- var mocha_1 = require("mocha");
81
- var child_process_1 = require("child_process");
82
- var qaseio_1 = require("qaseio");
83
- var chalk_1 = __importDefault(require("chalk"));
84
- var fs_1 = require("fs");
85
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
86
- var _a = mocha_1.Runner.constants, EVENT_TEST_FAIL = _a.EVENT_TEST_FAIL, EVENT_TEST_PASS = _a.EVENT_TEST_PASS, EVENT_TEST_PENDING = _a.EVENT_TEST_PENDING, EVENT_RUN_END = _a.EVENT_RUN_END;
87
- var Envs;
88
- (function (Envs) {
89
- Envs["report"] = "QASE_REPORT";
90
- Envs["apiToken"] = "QASE_API_TOKEN";
91
- Envs["basePath"] = "QASE_API_BASE_URL";
92
- Envs["projectCode"] = "QASE_PROJECT_CODE";
93
- Envs["runId"] = "QASE_RUN_ID";
94
- Envs["runName"] = "QASE_RUN_NAME";
95
- Envs["runDescription"] = "QASE_RUN_DESCRIPTION";
96
- Envs["environmentId"] = "QASE_ENVIRONMENT_ID";
97
- Envs["screenshotFolder"] = "QASE_SCREENSHOT_FOLDER";
98
- Envs["sendScreenshot"] = "QASE_SCREENSHOT_SENDING";
99
- Envs["runComplete"] = "QASE_RUN_COMPLETE";
100
- Envs["rootSuiteTitle"] = "QASE_ROOT_SUITE_TITLE";
101
- })(Envs || (Envs = {}));
102
- var CypressQaseReporter = /** @class */ (function (_super) {
103
- __extends(CypressQaseReporter, _super);
104
- function CypressQaseReporter(runner, options) {
105
- var _this = _super.call(this, runner, options) || this;
106
- _this.testCasesForPublishingCount = 0;
107
- _this.pending = [];
108
- _this.shouldPublish = [];
109
- _this.results = [];
110
- _this.isDisabled = false;
111
- _this.resultsForPublishing = [];
112
- _this.options = options.reporterOptions;
113
- _this.options.rootSuiteTitle = CypressQaseReporter.getEnv(Envs.rootSuiteTitle) ||
114
- options.reporterOptions.rootSuiteTitle
115
- || '';
116
- _this.options.projectCode = options.reporterOptions.projectCode || CypressQaseReporter.getEnv(Envs.projectCode);
117
- _this.api = new qaseio_1.QaseApi(_this.options.apiToken || CypressQaseReporter.getEnv(Envs.apiToken) || '', CypressQaseReporter.getEnv(Envs.basePath) || _this.options.basePath, CypressQaseReporter.createHeaders());
118
- if (!CypressQaseReporter.getEnv(Envs.report)) {
119
- return _this;
120
- }
121
- _this.log(chalk_1.default(templateObject_1 || (templateObject_1 = __makeTemplateObject(["{yellow Current PID: ", "}"], ["{yellow Current PID: ", "}"])), process.pid));
122
- _this.addRunnerListeners(runner);
123
- void _this.checkProject(_this.options.projectCode, function (prjExists) { return __awaiter(_this, void 0, void 0, function () {
124
- var _this = this;
125
- return __generator(this, function (_a) {
126
- switch (_a.label) {
127
- case 0:
128
- if (!prjExists) return [3 /*break*/, 5];
129
- this.log(chalk_1.default(templateObject_2 || (templateObject_2 = __makeTemplateObject(["{green Project ", " exists}"], ["{green Project ", " exists}"])), this.options.projectCode));
130
- if (!(CypressQaseReporter.getEnv(Envs.runId) || this.options.runId)) return [3 /*break*/, 2];
131
- this.saveRunId(CypressQaseReporter.getEnv(Envs.runId) || this.options.runId);
132
- return [4 /*yield*/, this.checkRun(this.runId, function (runExists) {
133
- var run = _this.runId;
134
- if (runExists) {
135
- _this.log(chalk_1.default(templateObject_3 || (templateObject_3 = __makeTemplateObject(["{green Using run ", " to publish test results}"], ["{green Using run ", " to publish test results}"])), run));
136
- }
137
- else {
138
- _this.log(chalk_1.default(templateObject_4 || (templateObject_4 = __makeTemplateObject(["{red Run ", " does not exist}"], ["{red Run ", " does not exist}"])), run));
139
- }
140
- })];
141
- case 1:
142
- _a.sent();
143
- return [3 /*break*/, 4];
144
- case 2:
145
- if (!!this.runId) return [3 /*break*/, 4];
146
- return [4 /*yield*/, this.createRun(CypressQaseReporter.getEnv(Envs.runName), CypressQaseReporter.getEnv(Envs.runDescription), function (created) {
147
- var _a;
148
- if (created) {
149
- _this.runId = (_a = created.result) === null || _a === void 0 ? void 0 : _a.id;
150
- process.env.QASE_RUN_ID = String(_this === null || _this === void 0 ? void 0 : _this.runId);
151
- _this.log(chalk_1.default(templateObject_5 || (templateObject_5 = __makeTemplateObject(["{green Using run ", " to publish test results}"], ["{green Using run ", " to publish test results}"])), _this.runId));
152
- }
153
- else {
154
- _this.log(chalk_1.default(templateObject_6 || (templateObject_6 = __makeTemplateObject(["{red Could not create run in project ", "}"], ["{red Could not create run in project ", "}"])), _this.options.projectCode));
155
- _this.isDisabled = true;
156
- }
157
- })];
158
- case 3:
159
- _a.sent();
160
- _a.label = 4;
161
- case 4: return [3 /*break*/, 6];
162
- case 5:
163
- this.log(chalk_1.default(templateObject_7 || (templateObject_7 = __makeTemplateObject(["{red Project ", " does not exist}"], ["{red Project ", " does not exist}"])), this.options.projectCode));
164
- _a.label = 6;
165
- case 6: return [2 /*return*/];
166
- }
167
- });
168
- }); });
169
- return _this;
170
- }
171
- CypressQaseReporter.getEnv = function (name) {
172
- return process.env[name];
173
- };
174
- CypressQaseReporter.getCaseId = function (test) {
175
- var regexp = /(\(Qase ID: ([\d,]+)\))/;
176
- var results = regexp.exec(test.title);
177
- if (results && results.length === 3) {
178
- return results[2].split(',').map(function (value) { return Number.parseInt(value, 10); });
179
- }
180
- return [];
181
- };
182
- CypressQaseReporter.createRunObject = function (name, cases, args) {
183
- return __assign({ title: name, cases: cases }, args);
184
- };
185
- CypressQaseReporter.createHeaders = function () {
186
- var nodeVersion = process.version, os = process.platform, arch = process.arch;
187
- var npmVersion = child_process_1.execSync('npm -v', { encoding: 'utf8' }).replace(/['"\n]+/g, '');
188
- var qaseapiVersion = CypressQaseReporter.getPackageVersion('qaseio');
189
- var cypressVersion = CypressQaseReporter.getPackageVersion('cypress');
190
- var cypressCaseReporterVersion = this.getPackageVersion('cypress-qase-reporter');
191
- var xPlatformHeader = "node=" + nodeVersion + "; npm=" + npmVersion + "; os=" + os + "; arch=" + arch;
192
- var xClientHeader = "cypress=" + cypressVersion + "; qase-cypress=" + cypressCaseReporterVersion + "; qaseapi=" + qaseapiVersion;
193
- return {
194
- 'X-Client': xClientHeader,
195
- 'X-Platform': xPlatformHeader,
196
- };
197
- };
198
- CypressQaseReporter.getSuitePath = function (suite) {
199
- if (suite.parent) {
200
- var parentSuite = String(CypressQaseReporter.getSuitePath(suite.parent));
201
- if (parentSuite) {
202
- return parentSuite + '\t' + String(suite === null || suite === void 0 ? void 0 : suite.title);
203
- }
204
- else {
205
- return String(suite === null || suite === void 0 ? void 0 : suite.title);
206
- }
207
- }
208
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
209
- return suite.title;
210
- };
211
- CypressQaseReporter.getPackageVersion = function (name) {
212
- var UNDEFINED = 'undefined';
213
- try {
214
- var pathToPackageJson = require.resolve(name + "/package.json", {
215
- paths: [process.cwd()],
216
- });
217
- if (pathToPackageJson) {
218
- try {
219
- var packageString = fs_1.readFileSync(pathToPackageJson, {
220
- encoding: 'utf8',
221
- });
222
- if (packageString) {
223
- var packageObject = JSON.parse(packageString);
224
- return packageObject.version;
225
- }
226
- return UNDEFINED;
227
- }
228
- catch (error) {
229
- return UNDEFINED;
230
- }
231
- }
232
- }
233
- catch (error) {
234
- return UNDEFINED;
235
- }
236
- };
237
- CypressQaseReporter.prototype.log = function (message) {
238
- var optionalParams = [];
239
- for (var _i = 1; _i < arguments.length; _i++) {
240
- optionalParams[_i - 1] = arguments[_i];
241
- }
242
- if (this.options.logging) {
243
- console.log.apply(console, __spreadArrays([chalk_1.default(templateObject_8 || (templateObject_8 = __makeTemplateObject(["{bold {blue qase:}} ", ""], ["{bold {blue qase:}} ", ""])), message)], optionalParams));
244
- }
245
- };
246
- CypressQaseReporter.prototype.addRunnerListeners = function (runner) {
247
- var _this = this;
248
- runner.on(EVENT_TEST_PASS, function (test) {
249
- _this.transformCaseResultToBulkObject(test, src_1.ResultCreateStatusEnum.PASSED);
250
- });
251
- runner.on(EVENT_TEST_PENDING, function (test) {
252
- _this.transformCaseResultToBulkObject(test, src_1.ResultCreateStatusEnum.SKIPPED);
253
- });
254
- runner.on(EVENT_TEST_FAIL, function (test) {
255
- _this.transformCaseResultToBulkObject(test, src_1.ResultCreateStatusEnum.FAILED);
256
- });
257
- runner.addListener(EVENT_RUN_END, function () {
258
- if (_this.resultsForPublishing.length === 0) {
259
- _this.log('Nothing to send.');
260
- }
261
- else if (_this.runId) {
262
- var config = {
263
- apiToken: CypressQaseReporter.getEnv(Envs.apiToken) || _this.options.apiToken || '',
264
- basePath: CypressQaseReporter.getEnv(Envs.basePath) || _this.options.basePath,
265
- headers: CypressQaseReporter.createHeaders(),
266
- code: _this.options.projectCode,
267
- runId: Number(_this.runId),
268
- body: {
269
- results: _this.resultsForPublishing,
270
- },
271
- runComplete: CypressQaseReporter.getEnv(Envs.runComplete) || _this.options.runComplete || false,
272
- };
273
- var screenshotsConfig = {
274
- screenshotFolder: CypressQaseReporter.getEnv(Envs.screenshotFolder)
275
- || _this.options.screenshotFolder
276
- || 'screenshots',
277
- sendScreenshot: CypressQaseReporter.getEnv(Envs.screenshotFolder)
278
- || _this.options.sendScreenshot
279
- || false,
280
- };
281
- child_process_1.spawnSync('node', [__dirname + "/reportBulk.js"], {
282
- stdio: 'inherit',
283
- env: Object.assign(process.env, {
284
- reporting_config: JSON.stringify(config),
285
- screenshots_config: JSON.stringify(screenshotsConfig),
286
- }),
287
- });
288
- }
289
- });
290
- };
291
- CypressQaseReporter.prototype.checkProject = function (projectCode, cb) {
292
- var _a;
293
- return __awaiter(this, void 0, void 0, function () {
294
- var resp, err_1;
295
- return __generator(this, function (_b) {
296
- switch (_b.label) {
297
- case 0:
298
- _b.trys.push([0, 3, , 4]);
299
- return [4 /*yield*/, this.api.projects.getProject(projectCode)];
300
- case 1:
301
- resp = _b.sent();
302
- return [4 /*yield*/, cb(Boolean((_a = resp.data.result) === null || _a === void 0 ? void 0 : _a.code))];
303
- case 2:
304
- _b.sent();
305
- return [3 /*break*/, 4];
306
- case 3:
307
- err_1 = _b.sent();
308
- this.log(err_1);
309
- this.isDisabled = true;
310
- return [3 /*break*/, 4];
311
- case 4: return [2 /*return*/];
312
- }
313
- });
314
- });
315
- };
316
- CypressQaseReporter.prototype.createRun = function (name, description, cb) {
317
- return __awaiter(this, void 0, void 0, function () {
318
- var environmentId, runObject, res, err_2;
319
- return __generator(this, function (_a) {
320
- switch (_a.label) {
321
- case 0:
322
- _a.trys.push([0, 2, , 3]);
323
- environmentId = Number(CypressQaseReporter.getEnv(Envs.environmentId)) ||
324
- this.options.environmentId;
325
- runObject = CypressQaseReporter.createRunObject(name || "Automated run " + new Date().toISOString(), [], {
326
- description: description || 'Cypress automated run',
327
- environment_id: environmentId,
328
- is_autotest: true,
329
- });
330
- return [4 /*yield*/, this.api.runs.createRun(this.options.projectCode, runObject)];
331
- case 1:
332
- res = _a.sent();
333
- cb(res.data);
334
- return [3 /*break*/, 3];
335
- case 2:
336
- err_2 = _a.sent();
337
- this.log("Error on creating run " + err_2);
338
- this.isDisabled = true;
339
- return [3 /*break*/, 3];
340
- case 3: return [2 /*return*/];
341
- }
342
- });
343
- });
344
- };
345
- // eslint-disable-next-line @typescript-eslint/require-await
346
- CypressQaseReporter.prototype.checkRun = function (runId, cb) {
347
- return __awaiter(this, void 0, void 0, function () {
348
- var _this = this;
349
- return __generator(this, function (_a) {
350
- if (runId === undefined) {
351
- cb(false);
352
- return [2 /*return*/];
353
- }
354
- return [2 /*return*/, this.api.runs
355
- .getRun(this.options.projectCode, Number(runId))
356
- .then(function (resp) {
357
- var _a, _b;
358
- _this.log("Get run result on checking run " + ((_a = resp.data.result) === null || _a === void 0 ? void 0 : _a.id));
359
- cb(Boolean((_b = resp.data.result) === null || _b === void 0 ? void 0 : _b.id));
360
- })
361
- .catch(function (err) {
362
- _this.log("Error on checking run " + err);
363
- _this.isDisabled = true;
364
- })];
365
- });
366
- });
367
- };
368
- CypressQaseReporter.prototype.saveRunId = function (runId) {
369
- this.runId = runId;
370
- if (this.runId) {
371
- while (this.pending.length) {
372
- this.log("Number of pending: " + this.pending.length);
373
- var cb = this.pending.shift();
374
- if (cb) {
375
- cb(this.runId);
376
- }
377
- }
378
- }
379
- };
380
- CypressQaseReporter.prototype.logTestItem = function (test) {
381
- var map = {
382
- failed: chalk_1.default(templateObject_9 || (templateObject_9 = __makeTemplateObject(["{red Test ", " ", "}"], ["{red Test ", " ", "}"])), test.title, test.state),
383
- passed: chalk_1.default(templateObject_10 || (templateObject_10 = __makeTemplateObject(["{green Test ", " ", "}"], ["{green Test ", " ", "}"])), test.title, test.state),
384
- pending: chalk_1.default(templateObject_11 || (templateObject_11 = __makeTemplateObject(["{blueBright Test ", " ", "}"], ["{blueBright Test ", " ", "}"])), test.title, test.state),
385
- };
386
- if (test.state) {
387
- this.log(map[test.state]);
388
- }
389
- };
390
- CypressQaseReporter.prototype.transformCaseResultToBulkObject = function (test, status) {
391
- var _this = this;
392
- var _a;
393
- this.logTestItem(test);
394
- var caseIds = CypressQaseReporter.getCaseId(test);
395
- var caseObject = {
396
- status: status,
397
- time_ms: test.duration || 0,
398
- stacktrace: (_a = test.err) === null || _a === void 0 ? void 0 : _a.stack,
399
- comment: test.err ? test.err.name + ": " + test.err.message : '',
400
- defect: status === src_1.ResultCreateStatusEnum.FAILED,
401
- };
402
- if (caseIds.length === 0) {
403
- caseObject.case = {
404
- title: test.title,
405
- suite_title: this.options.rootSuiteTitle
406
- ? this.options.rootSuiteTitle + "\t" + CypressQaseReporter.getSuitePath(test.parent)
407
- : CypressQaseReporter.getSuitePath(test.parent),
408
- };
409
- this.resultsForPublishing.push(caseObject);
410
- this.log(chalk_1.default(templateObject_12 || (templateObject_12 = __makeTemplateObject(["{gray Result prepared for publish: ", " }"], ["{gray Result prepared for publish: ", " }"])), test.title));
411
- }
412
- else {
413
- caseIds.forEach(function (caseId) {
414
- var caseObjectWithId = __assign({ case_id: caseId }, caseObject);
415
- _this.resultsForPublishing.push(caseObjectWithId);
416
- });
417
- }
418
- };
419
- return CypressQaseReporter;
420
- }(mocha_1.reporters.Base));
421
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12;
422
- module.exports = CypressQaseReporter;
423
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/mocha.d.ts DELETED
@@ -1,4 +0,0 @@
1
- declare const _default: {
2
- qase: <T>(caseId: number | string | number[] | string[], test: T) => T;
3
- };
4
- export = _default;
package/dist/mocha.js DELETED
@@ -1,20 +0,0 @@
1
- "use strict";
2
- module.exports = {
3
- qase: function (caseId, test) {
4
- if (!test) {
5
- return test;
6
- }
7
- var testNew = test;
8
- var caseIds;
9
- if (typeof caseId === 'string' || typeof caseId === 'number') {
10
- caseIds = [caseId.toString()];
11
- }
12
- else {
13
- caseIds = caseId;
14
- }
15
- Object.assign(test, { title: testNew.title + " (Qase ID: " + caseIds.join(',') + ")" });
16
- console.log(test);
17
- return test;
18
- },
19
- };
20
- //# sourceMappingURL=mocha.js.map
package/dist/mocha.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"mocha.js","sourceRoot":"","sources":["../src/mocha.ts"],"names":[],"mappings":";AACA,iBAAS;IACL,IAAI,EAAE,UAAI,MAA6C,EAAE,IAAO;QAC5D,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,IAAI,CAAC;SACf;QACD,IAAM,OAAO,GAAG,IAAwC,CAAC;QACzD,IAAI,OAA4B,CAAC;QACjC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC1D,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;SACjC;aAAM;YACH,OAAO,GAAG,MAAM,CAAC;SACpB;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAK,OAAO,CAAC,KAAK,mBAAc,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAG,EAAE,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAC"}
@@ -1,174 +0,0 @@
1
- /* eslint-disable no-console */
2
- /* eslint-disable camelcase */
3
- /* eslint-disable @typescript-eslint/explicit-member-accessibility */
4
- /* eslint-disable @typescript-eslint/restrict-template-expressions */
5
- /* eslint-disable @typescript-eslint/no-unsafe-return */
6
-
7
- const { QaseApi } = require('qaseio');
8
- const FormData = require('form-data');
9
- const chalk = require('chalk');
10
- const crypto = require('crypto');
11
- const fs = require('fs');
12
- const path = require('path');
13
-
14
- const config = JSON.parse(process.env?.reporting_config);
15
- const screenshotsConfig = JSON.parse(process.env?.screenshots_config);
16
-
17
- let hashesMap = {};
18
-
19
- let customBoundary = '----------------------------';
20
- crypto.randomBytes(24).forEach((value) => {
21
- customBoundary += Math.floor(value * 10).toString(16);
22
- });
23
-
24
- class CustomBoundaryFormData extends FormData {
25
- constructor() {
26
- super();
27
- }
28
-
29
- getBoundary() {
30
- return customBoundary;
31
- }
32
- }
33
-
34
- const getCaseId = (str) => {
35
- const regexp = /(\(Qase ID ([\d,]+)\))/;
36
- const results = regexp.exec(str);
37
- if (results && results.length === 3) {
38
- return results[2].split(',').map((value) => Number.parseInt(value, 10));
39
- }
40
- return [];
41
- };
42
-
43
- const getFiles = (pathToFile) => {
44
- const files = [];
45
- for (const file of fs.readdirSync(pathToFile)) {
46
- const fullPath = `${pathToFile}/${file}`;
47
-
48
- if(fs.lstatSync(fullPath).isDirectory()) {
49
- getFiles(fullPath).forEach((x) => files.push(`${file}/${x}`));
50
- } else {
51
- files.push(file);
52
- }
53
- }
54
- return files;
55
- };
56
-
57
- const parseScreenshotDirectory = () => {
58
- const pathToScreenshotDir = path.join(process.cwd(), `cypress/${screenshotsConfig.screenshotFolder}`);
59
- const files = getFiles(pathToScreenshotDir);
60
- const filePathesByCaseIdMap = {};
61
-
62
- files.forEach((file) => {
63
- if(file.includes('Qase ID')) {
64
- const caseIds = getCaseId(file);
65
-
66
- if (caseIds) {
67
- caseIds.forEach((caseId) => {
68
- const attachmentObject = {
69
- caseId,
70
- file: [file],
71
- };
72
-
73
- filePathesByCaseIdMap[caseId] = attachmentObject;
74
- });
75
- }
76
- }
77
- });
78
-
79
- return filePathesByCaseIdMap;
80
- };
81
-
82
- const publishBulkResult = async () => {
83
- if (config) {
84
- console.log('Publication is started');
85
-
86
- const api = new QaseApi(config.apiToken, config.basePath, config.headers, CustomBoundaryFormData);
87
-
88
- if (screenshotsConfig.screenshotFolder && screenshotsConfig.sendScreenshot) {
89
- try {
90
- const filePathesByCaseIdMap = parseScreenshotDirectory();
91
-
92
- if (filePathesByCaseIdMap) {
93
- const filesMap = Object.values(filePathesByCaseIdMap);
94
- const uploadAttachmentsPromisesArray = filesMap.map(async (failedCase) => {
95
- const caseId = failedCase.caseId;
96
-
97
- const pathToFile = `./cypress/${screenshotsConfig.screenshotFolder}/${failedCase.file[0]}`;
98
-
99
- const data = fs.createReadStream(pathToFile);
100
-
101
- const options = {
102
- headers: {
103
- 'Content-Type':
104
- 'multipart/form-data; boundary=' + customBoundary,
105
- },
106
- };
107
-
108
- if (data) {
109
- const resp = await api.attachments.uploadAttachment(
110
- config.code,
111
- [data],
112
- options
113
- );
114
-
115
- return {
116
- hash: resp.data.result?.[0].hash,
117
- caseId,
118
- };
119
- }
120
- });
121
-
122
- const responses = await Promise.all(uploadAttachmentsPromisesArray);
123
-
124
- hashesMap = responses.reduce((accum, value) => {
125
- accum[value.caseId] = value.hash;
126
- return accum;
127
- }, {});
128
- }
129
- } catch (error) {
130
- console.log(chalk`{red Error during sending screenshots ${error}}`);
131
- }
132
- }
133
-
134
- try {
135
- const { body } = config;
136
-
137
- if (hashesMap) {
138
- const results = body.results;
139
-
140
- const resultsWithAttachmentHashes = results.map(((result) => {
141
- if (hashesMap[result.case_id]) {
142
- return {
143
- ...result,
144
- attachments: [hashesMap[result.case_id]],
145
- };
146
- }
147
-
148
- return result;
149
- }));
150
-
151
- body.results = resultsWithAttachmentHashes;
152
- }
153
-
154
- const res = await api.results.createResultBulk(
155
- config.code,
156
- config.runId,
157
- body
158
- );
159
-
160
- if (res.status === 200) {
161
- console.log(chalk`{green Results sent}`);
162
- }
163
-
164
- if(config.runComplete) {
165
- await api.runs.completeRun(config.code, config.runId);
166
- console.log(chalk`{green Run compleated}`);
167
- }
168
- } catch (error) {
169
- console.log('Error till publishing', error);
170
- }
171
- }
172
- };
173
-
174
- publishBulkResult();