testcafe-reporter-qase 1.2.0-alpha.0 → 1.2.0-alpha.1

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/README.md CHANGED
@@ -25,7 +25,17 @@ test
25
25
  await t
26
26
  });
27
27
  ```
28
+ You should also have an active item in the project settings at
28
29
 
30
+ ```
31
+ https://app.qase.io/project/QASE_PROJECT_CODE/settings/options
32
+ ```
33
+
34
+ options in the `Test Runs` block:
35
+
36
+ ```
37
+ Allow submitting results in bulk
38
+ ```
29
39
  You can run your tests by providing custom reporter:
30
40
  ```bash
31
41
  npx testcafe chrome test.js -r spec,qase
@@ -34,8 +44,13 @@ or
34
44
  ```
35
45
  npm test
36
46
  ```
37
- ![Output of run](examples/screenshots/screenshot.png)​
47
+
48
+ <p align="center">
49
+ <img width="65%" src="./examples/screenshots/screenshot.png">
50
+ </p>
51
+
38
52
  A test run will be performed and available at:
53
+
39
54
  ```
40
55
  https://app.qase.io/run/QASE_PROJECT_CODE
41
56
  ```
@@ -59,6 +74,7 @@ using `.qaserc` file and using ENV variables.
59
74
  - `%DATE%`
60
75
  - `%AGENTS%`
61
76
  - `runDescription` - Set custom Run description, when new run is created
77
+ - `uploadAttachments` - Uploading attachment to Qase TMS
62
78
  - `runComplete` - Complete run after all tests are finished
63
79
  - `logging` - Enabled debug logging from reporter or not
64
80
 
@@ -83,6 +99,7 @@ Supported ENV variables:
83
99
  - `QASE_RUN_DESCRIPTION` - Same as `runDescription`
84
100
  - `QASE_RUN_COMPLETE` - Same as `runComplete`
85
101
  - `QASE_LOGGING` - Same as `logging`
102
+ - `QASE_UPLOAD_ATTACHMENTS` - Same as `uploadAttachments`
86
103
 
87
104
  <!-- references -->
88
105
 
@@ -0,0 +1,6 @@
1
+ import FormData from 'form-data';
2
+ export declare let customBoundary: string;
3
+ export declare class CustomBoundaryFormData extends FormData {
4
+ constructor();
5
+ getBoundary(): string;
6
+ }
@@ -0,0 +1,37 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
16
+ return (mod && mod.__esModule) ? mod : { "default": mod };
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.CustomBoundaryFormData = exports.customBoundary = void 0;
20
+ var form_data_1 = __importDefault(require("form-data"));
21
+ var crypto_1 = __importDefault(require("crypto"));
22
+ exports.customBoundary = '----------------------------';
23
+ crypto_1.default.randomBytes(24).forEach(function (value) {
24
+ exports.customBoundary += Math.floor(value * 10).toString(16);
25
+ });
26
+ var CustomBoundaryFormData = /** @class */ (function (_super) {
27
+ __extends(CustomBoundaryFormData, _super);
28
+ function CustomBoundaryFormData() {
29
+ return _super.call(this) || this;
30
+ }
31
+ CustomBoundaryFormData.prototype.getBoundary = function () {
32
+ return exports.customBoundary;
33
+ };
34
+ return CustomBoundaryFormData;
35
+ }(form_data_1.default));
36
+ exports.CustomBoundaryFormData = CustomBoundaryFormData;
37
+ //# sourceMappingURL=CustomBoundaryFormData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomBoundaryFormData.js","sourceRoot":"","sources":["../src/CustomBoundaryFormData.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,wDAAiC;AACjC,kDAA4B;AAGjB,QAAA,cAAc,GAAG,8BAA8B,CAAC;AAC3D,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAC,KAAK;IACjC,sBAAc,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEH;IAA4C,0CAAQ;IAChD;eACI,iBAAO;IACX,CAAC;IACM,4CAAW,GAAlB;QACI,OAAO,sBAAc,CAAC;IAC1B,CAAC;IACL,6BAAC;AAAD,CAAC,AAPD,CAA4C,mBAAQ,GAOnD;AAPY,wDAAsB"}
package/dist/index.d.ts CHANGED
@@ -23,7 +23,6 @@ interface TestRunInfo {
23
23
  skipped: boolean;
24
24
  }
25
25
  declare class TestcafeQaseReporter {
26
- private formatError;
27
26
  private config;
28
27
  private api;
29
28
  private enabled;
@@ -32,15 +31,15 @@ declare class TestcafeQaseReporter {
32
31
  private results;
33
32
  private screenshots;
34
33
  private queued;
34
+ private sending;
35
35
  constructor();
36
36
  private static getCaseId;
37
37
  private static createHeaders;
38
38
  private static createRunObject;
39
- private static createResultObject;
40
39
  private static getPackageVersion;
41
40
  reportTaskStart: (_startTime: number, userAgents: string[]) => Promise<void>;
42
41
  reportTestDone: (name: string, testRunInfo: TestRunInfo, meta: Meta, formatError: (x: Record<string, unknown>) => string) => Promise<void>;
43
- reportTaskDone: (endTime: any, passed: any, warnings: any, result: any) => Promise<void>;
42
+ reportTaskDone: () => Promise<void>;
44
43
  private completeRun;
45
44
  private log;
46
45
  private checkProject;
@@ -48,13 +47,14 @@ declare class TestcafeQaseReporter {
48
47
  private checkRun;
49
48
  private saveRunId;
50
49
  private logTestItem;
51
- private publishCaseResult;
50
+ private prepareCaseResult;
51
+ private uploadAttachments;
52
52
  }
53
53
  declare const _default: () => {
54
54
  reportTaskStart: (_startTime: number, userAgents: string[]) => Promise<void>;
55
55
  reportFixtureStart: () => void;
56
56
  reportTestDone(name: string, testRunInfo: TestRunInfo, meta: Meta): Promise<void>;
57
- reportTaskDone: (endTime: any, passed: any, warnings: any, result: any) => Promise<void>;
57
+ reportTaskDone: () => Promise<void>;
58
58
  reporter: TestcafeQaseReporter;
59
59
  };
60
60
  export = _default;
package/dist/index.js CHANGED
@@ -63,13 +63,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
63
63
  /* eslint-disable no-console,@typescript-eslint/require-await */
64
64
  /* eslint-disable camelcase */
65
65
  /* eslint-disable no-unused-vars */
66
+ var CustomBoundaryFormData_1 = require("./CustomBoundaryFormData");
66
67
  var src_1 = require("qaseio/dist/src");
68
+ var fs_1 = require("fs");
67
69
  var qaseio_1 = require("qaseio");
68
70
  var chalk_1 = __importDefault(require("chalk"));
69
71
  var child_process_1 = require("child_process");
70
72
  var moment_1 = __importDefault(require("moment"));
71
73
  var path_1 = __importDefault(require("path"));
72
- var fs_1 = require("fs");
73
74
  var RuntimeError = WebAssembly.RuntimeError;
74
75
  var loadJSON = function (file) {
75
76
  try {
@@ -101,6 +102,7 @@ var prepareConfig = function (options) {
101
102
  'Automated Run %DATE%',
102
103
  runDescription: process.env.QASE_RUN_DESCRIPTION || config.runDescription,
103
104
  runComplete: process.env.QASE_RUN_COMPLETE === 'true' || config.runComplete,
105
+ uploadAttachments: process.env.QASE_UPLOAD_ATTACHMENTS === 'true' || config.uploadAttachments,
104
106
  environmentId: process.env.QASE_ENVIRONMENT_ID || config.environmentId || undefined,
105
107
  logging: process.env.QASE_LOGGING !== '' || config.logging,
106
108
  };
@@ -127,6 +129,8 @@ var TestcafeQaseReporter = /** @class */ (function () {
127
129
  function TestcafeQaseReporter() {
128
130
  var _this = this;
129
131
  this.pending = [];
132
+ this.results = [];
133
+ this.sending = false;
130
134
  this.reportTaskStart = function (_startTime, userAgents) { return __awaiter(_this, void 0, void 0, function () {
131
135
  var _this = this;
132
136
  return __generator(this, function (_a) {
@@ -175,66 +179,91 @@ var TestcafeQaseReporter = /** @class */ (function () {
175
179
  });
176
180
  }); };
177
181
  this.reportTestDone = function (name, testRunInfo, meta, formatError) { return __awaiter(_this, void 0, void 0, function () {
178
- var hasErr, testStatus, errorLog;
182
+ var hasErr, testStatus, errorLog, attachmentsArray;
179
183
  return __generator(this, function (_a) {
180
- if (!this.enabled) {
181
- return [2 /*return*/];
182
- }
183
- if (meta.CID) {
184
- hasErr = testRunInfo.errs.length;
185
- testStatus = void 0;
186
- if (testRunInfo.skipped) {
187
- testStatus = src_1.ResultCreateStatusEnum.SKIPPED;
188
- }
189
- else if (hasErr > 0) {
190
- testStatus = src_1.ResultCreateStatusEnum.FAILED;
191
- }
192
- else {
193
- testStatus = src_1.ResultCreateStatusEnum.PASSED;
194
- }
195
- errorLog = testRunInfo.errs
196
- .map(function (x) { return formatError(x).replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, ''); })
197
- .join('\n');
198
- this.publishCaseResult({ name: name, info: testRunInfo, meta: meta, error: errorLog }, testStatus);
184
+ switch (_a.label) {
185
+ case 0:
186
+ if (!this.enabled) {
187
+ return [2 /*return*/];
188
+ }
189
+ if (!meta.CID) return [3 /*break*/, 3];
190
+ this.queued++;
191
+ hasErr = testRunInfo.errs.length;
192
+ testStatus = void 0;
193
+ if (testRunInfo.skipped) {
194
+ testStatus = src_1.ResultCreateStatusEnum.SKIPPED;
195
+ }
196
+ else if (hasErr > 0) {
197
+ testStatus = src_1.ResultCreateStatusEnum.FAILED;
198
+ }
199
+ else {
200
+ testStatus = src_1.ResultCreateStatusEnum.PASSED;
201
+ }
202
+ errorLog = testRunInfo.errs
203
+ .map(function (x) { return formatError(x).replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, ''); })
204
+ .join('\n');
205
+ attachmentsArray = [];
206
+ if (!(this.config.uploadAttachments && testRunInfo.screenshots.length > 0)) return [3 /*break*/, 2];
207
+ return [4 /*yield*/, this.uploadAttachments(testRunInfo)];
208
+ case 1:
209
+ attachmentsArray = _a.sent();
210
+ _a.label = 2;
211
+ case 2:
212
+ this.prepareCaseResult({ name: name, info: testRunInfo, meta: meta, error: errorLog }, testStatus, attachmentsArray);
213
+ _a.label = 3;
214
+ case 3: return [2 /*return*/];
199
215
  }
200
- return [2 /*return*/];
201
216
  });
202
217
  }); };
203
- // It is necessary to declare function with parameters,
204
- // despite of there are unused, because when function signature not like expected,
205
- // testcafe does not call this function
206
- // eslint-disable-next-line no-unused-vars
207
- this.reportTaskDone = function (endTime, passed, warnings, result) { return __awaiter(_this, void 0, void 0, function () {
208
- var check;
218
+ this.reportTaskDone = function () { return __awaiter(_this, void 0, void 0, function () {
219
+ var body;
209
220
  var _this = this;
210
221
  return __generator(this, function (_a) {
211
- if (!this.enabled) {
212
- return [2 /*return*/];
213
- }
214
- check = function () {
215
- setTimeout(function () {
216
- if (_this.queued > 0) {
217
- check();
218
- }
219
- else {
220
- if (_this.results.length === 0) {
221
- console.warn("\n(Qase Reporter)\n \nNo testcases were matched.\n Ensure that your tests are declared correctly.\n");
222
- }
223
- if (_this.config.runComplete) {
224
- _this.completeRun(_this.config.runId);
225
- }
222
+ switch (_a.label) {
223
+ case 0:
224
+ if (!this.enabled) {
225
+ return [2 /*return*/];
226
226
  }
227
- }, 1000);
228
- };
229
- check();
230
- return [2 /*return*/];
227
+ return [4 /*yield*/, new Promise(function (resolve, reject) {
228
+ var timer = 0;
229
+ var interval = setInterval(function () {
230
+ timer++;
231
+ if (_this.config.runId && _this.queued === 0) {
232
+ clearInterval(interval);
233
+ resolve();
234
+ }
235
+ if (timer > 30) {
236
+ clearInterval(interval);
237
+ reject();
238
+ }
239
+ }, 1000);
240
+ })];
241
+ case 1:
242
+ _a.sent();
243
+ if (!(this.results.length === 0)) return [3 /*break*/, 2];
244
+ console.warn("\n(Qase Reporter)\n \nNo testcases were matched.\n Ensure that your tests are declared correctly.\n");
245
+ return [3 /*break*/, 5];
246
+ case 2:
247
+ body = {
248
+ results: this.results,
249
+ };
250
+ return [4 /*yield*/, this.api.results.createResultBulk(this.config.projectCode, Number(this.config.runId), body)];
251
+ case 3:
252
+ _a.sent();
253
+ this.log('Results sent to Qase');
254
+ if (!this.config.runComplete) return [3 /*break*/, 5];
255
+ return [4 /*yield*/, this.completeRun(this.config.runId)];
256
+ case 4:
257
+ _a.sent();
258
+ _a.label = 5;
259
+ case 5: return [2 /*return*/];
260
+ }
231
261
  });
232
262
  }); };
233
263
  this.config = prepareConfig();
234
264
  this.enabled = verifyConfig(this.config);
235
- this.api = new qaseio_1.QaseApi(this.config.apiToken, this.config.basePath, TestcafeQaseReporter.createHeaders());
265
+ this.api = new qaseio_1.QaseApi(this.config.apiToken, this.config.basePath, TestcafeQaseReporter.createHeaders(), CustomBoundaryFormData_1.CustomBoundaryFormData);
236
266
  this.queued = 0;
237
- this.results = [];
238
267
  this.screenshots = {};
239
268
  }
240
269
  TestcafeQaseReporter.getCaseId = function (meta) {
@@ -260,9 +289,6 @@ var TestcafeQaseReporter = /** @class */ (function () {
260
289
  TestcafeQaseReporter.createRunObject = function (name, cases, args) {
261
290
  return __assign({ title: name, cases: cases }, args);
262
291
  };
263
- TestcafeQaseReporter.createResultObject = function (caseId, status, args) {
264
- return __assign({ case_id: caseId, status: status }, args);
265
- };
266
292
  TestcafeQaseReporter.getPackageVersion = function (name) {
267
293
  var UNDEFINED = 'undefined';
268
294
  try {
@@ -286,16 +312,26 @@ var TestcafeQaseReporter = /** @class */ (function () {
286
312
  }
287
313
  };
288
314
  TestcafeQaseReporter.prototype.completeRun = function (runId) {
289
- var _this = this;
290
- if (runId !== undefined) {
291
- this.api.runs.completeRun(this.config.projectCode, Number(this.config.runId))
292
- .then(function () {
293
- _this.log('Run completed successfully');
294
- })
295
- .catch(function (err) {
296
- _this.log("Error on completing run " + err);
315
+ return __awaiter(this, void 0, void 0, function () {
316
+ var _this = this;
317
+ return __generator(this, function (_a) {
318
+ switch (_a.label) {
319
+ case 0:
320
+ if (!(runId !== undefined)) return [3 /*break*/, 2];
321
+ return [4 /*yield*/, this.api.runs.completeRun(this.config.projectCode, Number(this.config.runId))
322
+ .then(function () {
323
+ _this.log('Run completed successfully');
324
+ })
325
+ .catch(function (err) {
326
+ _this.log("Error on completing run " + err);
327
+ })];
328
+ case 1:
329
+ _a.sent();
330
+ _a.label = 2;
331
+ case 2: return [2 /*return*/];
332
+ }
297
333
  });
298
- }
334
+ });
299
335
  };
300
336
  TestcafeQaseReporter.prototype.log = function (message) {
301
337
  var optionalParams = [];
@@ -323,7 +359,7 @@ var TestcafeQaseReporter = /** @class */ (function () {
323
359
  return [3 /*break*/, 4];
324
360
  case 3:
325
361
  err_1 = _b.sent();
326
- this.log(err_1);
362
+ this.log("Error on checking project " + err_1);
327
363
  this.enabled = false;
328
364
  return [3 /*break*/, 4];
329
365
  case 4: return [2 /*return*/];
@@ -396,46 +432,66 @@ var TestcafeQaseReporter = /** @class */ (function () {
396
432
  failed: chalk_1.default(templateObject_8 || (templateObject_8 = __makeTemplateObject(["{red Test ", " ", "}"], ["{red Test ", " ", "}"])), name, status),
397
433
  passed: chalk_1.default(templateObject_9 || (templateObject_9 = __makeTemplateObject(["{green Test ", " ", "}"], ["{green Test ", " ", "}"])), name, status),
398
434
  pending: chalk_1.default(templateObject_10 || (templateObject_10 = __makeTemplateObject(["{blueBright Test ", " ", "}"], ["{blueBright Test ", " ", "}"])), name, status),
435
+ skipped: chalk_1.default(templateObject_11 || (templateObject_11 = __makeTemplateObject(["{blueBright Test ", " ", "}"], ["{blueBright Test ", " ", "}"])), name, status),
399
436
  };
400
437
  if (status) {
401
438
  this.log(map[status]);
402
439
  }
403
440
  };
404
- TestcafeQaseReporter.prototype.publishCaseResult = function (test, status) {
441
+ TestcafeQaseReporter.prototype.prepareCaseResult = function (test, status, attachments) {
405
442
  var _this = this;
406
443
  this.logTestItem(test.name, status);
444
+ this.queued--;
407
445
  var caseIds = TestcafeQaseReporter.getCaseId(test.meta);
408
446
  caseIds.forEach(function (caseId) {
409
- var publishTest = function (runId) {
410
- if (caseId) {
411
- var add_1 = caseIds.length > 1 ? chalk_1.default(templateObject_11 || (templateObject_11 = __makeTemplateObject([" {white For case ", "}"], [" {white For case ", "}"])), caseId) : '';
412
- _this.log(chalk_1.default(templateObject_12 || (templateObject_12 = __makeTemplateObject(["{gray Start publishing: ", "}", ""], ["{gray Start publishing: ", "}", ""])), test.name, add_1));
413
- _this.queued++;
414
- var resultObject = TestcafeQaseReporter.createResultObject(parseInt(caseId, 10), status, {
415
- time_ms: test.info.durationMs,
416
- stacktrace: test.error,
417
- comment: test.error ? test.error.split('\n')[0] : undefined,
418
- });
419
- _this.api.results.createResult(_this.config.projectCode, Number(runId), resultObject)
420
- .then(function (res) {
421
- _this.results.push({ test: test, result: res.data });
422
- _this.queued--;
423
- _this.log(chalk_1.default(templateObject_13 || (templateObject_13 = __makeTemplateObject(["{gray Result published: ", "}", ""], ["{gray Result published: ", "}", ""])), test.name, add_1));
424
- })
425
- .catch(function (err) {
426
- _this.queued--;
427
- _this.log(err);
428
- });
429
- }
430
- };
431
- if (_this.config.runId) {
432
- publishTest(_this.config.runId);
433
- }
434
- else {
435
- _this.pending.push(publishTest);
447
+ if (caseId) {
448
+ var add = caseIds.length > 1 ? chalk_1.default(templateObject_12 || (templateObject_12 = __makeTemplateObject([" {white For case ", "}"], [" {white For case ", "}"])), caseId) : '';
449
+ _this.log(chalk_1.default(templateObject_13 || (templateObject_13 = __makeTemplateObject(["{gray Ready for publishing: ", "}", ""], ["{gray Ready for publishing: ", "}", ""])), test.name, add));
450
+ var caseObject = {
451
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
452
+ case_id: parseInt(caseId, 10),
453
+ status: status,
454
+ time_ms: test.info.durationMs,
455
+ stacktrace: test.error,
456
+ comment: test.error ? test.error.split('\n')[0] : undefined,
457
+ attachments: attachments.length > 0
458
+ ? attachments
459
+ : undefined,
460
+ };
461
+ _this.results.push(caseObject);
436
462
  }
437
463
  });
438
464
  };
465
+ TestcafeQaseReporter.prototype.uploadAttachments = function (testRunInfo) {
466
+ return __awaiter(this, void 0, void 0, function () {
467
+ var _this = this;
468
+ return __generator(this, function (_a) {
469
+ switch (_a.label) {
470
+ case 0: return [4 /*yield*/, Promise.all(testRunInfo.screenshots.map(function (attachment) { return __awaiter(_this, void 0, void 0, function () {
471
+ var data, options, response;
472
+ var _a;
473
+ return __generator(this, function (_b) {
474
+ switch (_b.label) {
475
+ case 0:
476
+ data = fs_1.createReadStream(attachment === null || attachment === void 0 ? void 0 : attachment.screenshotPath);
477
+ options = {
478
+ headers: {
479
+ 'Content-Type': 'multipart/form-data; boundary=' + CustomBoundaryFormData_1.customBoundary,
480
+ },
481
+ };
482
+ return [4 /*yield*/, this.api.attachments.uploadAttachment(this.config.projectCode, [data], options)];
483
+ case 1:
484
+ response = _b.sent();
485
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
486
+ return [2 /*return*/, (_a = response.data.result) === null || _a === void 0 ? void 0 : _a[0].hash];
487
+ }
488
+ });
489
+ }); }))];
490
+ case 1: return [2 /*return*/, _a.sent()];
491
+ }
492
+ });
493
+ });
494
+ };
439
495
  return TestcafeQaseReporter;
440
496
  }());
441
497
  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, templateObject_13;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}