testcafe-reporter-qase 1.1.1 → 1.2.0-alpha.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/README.md CHANGED
@@ -48,10 +48,12 @@ using `.qaserc` file and using ENV variables.
48
48
  - `enabled` - Enable reporter
49
49
  - `apiToken` - Token for API access, you can find more information
50
50
  [here](https://developers.qase.io/#authentication)
51
+ - `basePath` - Qase.io URL
51
52
  - `projectCode` - Code of your project (can be extracted from main
52
53
  page of your project: `https://app.qase.io/project/DEMOTR` -
53
54
  `DEMOTR` is project code here)
54
55
  - `runId` - Pass Run ID
56
+ - `environmentId` - Environment ID from Qase TMS
55
57
  - `runName` - Set custom Run name, when new run is created.
56
58
  Supports two parameters:
57
59
  - `%DATE%`
package/dist/index.d.ts CHANGED
@@ -33,6 +33,11 @@ declare class TestcafeQaseReporter {
33
33
  private screenshots;
34
34
  private queued;
35
35
  constructor();
36
+ private static getCaseId;
37
+ private static createHeaders;
38
+ private static createRunObject;
39
+ private static createResultObject;
40
+ private static getPackageVersion;
36
41
  reportTaskStart: (_startTime: number, userAgents: string[]) => Promise<void>;
37
42
  reportTestDone: (name: string, testRunInfo: TestRunInfo, meta: Meta, formatError: (x: Record<string, unknown>) => string) => Promise<void>;
38
43
  reportTaskDone: (endTime: any, passed: any, warnings: any, result: any) => Promise<void>;
@@ -42,7 +47,6 @@ declare class TestcafeQaseReporter {
42
47
  private createRun;
43
48
  private checkRun;
44
49
  private saveRunId;
45
- private getCaseId;
46
50
  private logTestItem;
47
51
  private publishCaseResult;
48
52
  }
package/dist/index.js CHANGED
@@ -3,6 +3,17 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
3
3
  if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
4
  return cooked;
5
5
  };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
6
17
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7
18
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
8
19
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -50,16 +61,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
50
61
  return (mod && mod.__esModule) ? mod : { "default": mod };
51
62
  };
52
63
  /* eslint-disable no-console,@typescript-eslint/require-await */
53
- var models_1 = require("qaseio/dist/src/models");
64
+ /* eslint-disable camelcase */
65
+ /* eslint-disable no-unused-vars */
66
+ var src_1 = require("qaseio/dist/src");
54
67
  var qaseio_1 = require("qaseio");
55
68
  var chalk_1 = __importDefault(require("chalk"));
56
- var fs_1 = __importDefault(require("fs"));
69
+ var child_process_1 = require("child_process");
57
70
  var moment_1 = __importDefault(require("moment"));
58
71
  var path_1 = __importDefault(require("path"));
72
+ var fs_1 = require("fs");
59
73
  var RuntimeError = WebAssembly.RuntimeError;
60
74
  var loadJSON = function (file) {
61
75
  try {
62
- var data = fs_1.default.readFileSync(file, { encoding: 'utf8' });
76
+ var data = fs_1.readFileSync(file, { encoding: 'utf8' });
63
77
  if (data) {
64
78
  return JSON.parse(data);
65
79
  }
@@ -79,6 +93,7 @@ var prepareConfig = function (options) {
79
93
  return {
80
94
  enabled: process.env.QASE_ENABLED === 'true' || config.enabled || false,
81
95
  apiToken: process.env.QASE_API_TOKEN || config.apiToken,
96
+ basePath: process.env.QASE_API_BASE_URL || config.basePath,
82
97
  projectCode: process.env.QASE_PROJECT || config.projectCode || '',
83
98
  runId: process.env.QASE_RUN_ID || config.runId || '',
84
99
  runName: process.env.QASE_RUN_NAME ||
@@ -86,6 +101,7 @@ var prepareConfig = function (options) {
86
101
  'Automated Run %DATE%',
87
102
  runDescription: process.env.QASE_RUN_DESCRIPTION || config.runDescription,
88
103
  runComplete: process.env.QASE_RUN_COMPLETE === 'true' || config.runComplete,
104
+ environmentId: process.env.QASE_ENVIRONMENT_ID || config.environmentId || undefined,
89
105
  logging: process.env.QASE_LOGGING !== '' || config.logging,
90
106
  };
91
107
  };
@@ -119,38 +135,43 @@ var TestcafeQaseReporter = /** @class */ (function () {
119
135
  }
120
136
  this.userAgents = userAgents;
121
137
  this.config.runName = prepareReportName(this.config, this.userAgents);
122
- this.checkProject(this.config.projectCode, function (prjExists) {
123
- if (prjExists) {
124
- _this.log(chalk_1.default(templateObject_1 || (templateObject_1 = __makeTemplateObject(["{green Project ", " exists}"], ["{green Project ", " exists}"])), _this.config.projectCode));
125
- if (_this.config.runId) {
126
- _this.saveRunId(_this.config.runId);
127
- _this.checkRun(_this.config.runId, function (runExists) {
128
- var run = _this.config.runId;
129
- if (runExists) {
130
- _this.log(chalk_1.default(templateObject_2 || (templateObject_2 = __makeTemplateObject(["{green Using run ", " to publish test results}"], ["{green Using run ", " to publish test results}"])), run));
131
- }
132
- else {
133
- _this.log(chalk_1.default(templateObject_3 || (templateObject_3 = __makeTemplateObject(["{red Run ", " does not exist}"], ["{red Run ", " does not exist}"])), run));
134
- }
135
- });
136
- }
137
- else if (!_this.config.runId) {
138
- _this.createRun(_this.config.runName, _this.config.runDescription, function (created) {
139
- if (created) {
140
- _this.saveRunId(created.id);
141
- _this.log(chalk_1.default(templateObject_4 || (templateObject_4 = __makeTemplateObject(["{green Using run ", " to publish test results}"], ["{green Using run ", " to publish test results}"])), _this.config.runId));
142
- }
143
- else {
144
- _this.log(chalk_1.default(templateObject_5 || (templateObject_5 = __makeTemplateObject(["{red Could not create run in project ", "}"], ["{red Could not create run in project ", "}"])), _this.config.projectCode));
145
- }
146
- });
147
- }
148
- }
149
- else {
150
- _this.log(chalk_1.default(templateObject_6 || (templateObject_6 = __makeTemplateObject(["{red Project ", " does not exist}"], ["{red Project ", " does not exist}"])), _this.config.projectCode));
151
- }
152
- });
153
- return [2 /*return*/];
138
+ return [2 /*return*/, this.checkProject(this.config.projectCode, function (prjExists) { return __awaiter(_this, void 0, void 0, function () {
139
+ var _this = this;
140
+ return __generator(this, function (_a) {
141
+ if (!prjExists) {
142
+ this.log(chalk_1.default(templateObject_1 || (templateObject_1 = __makeTemplateObject(["{red Project ", " does not exist}"], ["{red Project ", " does not exist}"])), this.config.projectCode));
143
+ this.enabled = false;
144
+ return [2 /*return*/];
145
+ }
146
+ this.log(chalk_1.default(templateObject_2 || (templateObject_2 = __makeTemplateObject(["{green Project ", " exists}"], ["{green Project ", " exists}"])), this.config.projectCode));
147
+ if (this.config.runId) {
148
+ this.saveRunId(this.config.runId);
149
+ return [2 /*return*/, this.checkRun(this.config.runId, function (runExists) {
150
+ if (runExists) {
151
+ _this.log(chalk_1.default(templateObject_3 || (templateObject_3 = __makeTemplateObject(["{green Using run ", " to publish test results}"], ["{green Using run ", " to publish test results}"])), _this.config.runId));
152
+ }
153
+ else {
154
+ _this.log(chalk_1.default(templateObject_4 || (templateObject_4 = __makeTemplateObject(["{red Run ", " does not exist}"], ["{red Run ", " does not exist}"])), _this.config.runId));
155
+ _this.enabled = false;
156
+ }
157
+ })];
158
+ }
159
+ else {
160
+ return [2 /*return*/, this.createRun(this.config.runName, this.config.runDescription, function (created) {
161
+ var _a;
162
+ if (created) {
163
+ _this.saveRunId((_a = created.result) === null || _a === void 0 ? void 0 : _a.id);
164
+ _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.config.runId));
165
+ }
166
+ else {
167
+ _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.config.projectCode));
168
+ _this.enabled = false;
169
+ }
170
+ })];
171
+ }
172
+ return [2 /*return*/];
173
+ });
174
+ }); })];
154
175
  });
155
176
  }); };
156
177
  this.reportTestDone = function (name, testRunInfo, meta, formatError) { return __awaiter(_this, void 0, void 0, function () {
@@ -163,13 +184,13 @@ var TestcafeQaseReporter = /** @class */ (function () {
163
184
  hasErr = testRunInfo.errs.length;
164
185
  testStatus = void 0;
165
186
  if (testRunInfo.skipped) {
166
- testStatus = models_1.ResultStatus.BLOCKED;
187
+ testStatus = src_1.ResultCreateStatusEnum.SKIPPED;
167
188
  }
168
189
  else if (hasErr > 0) {
169
- testStatus = models_1.ResultStatus.FAILED;
190
+ testStatus = src_1.ResultCreateStatusEnum.FAILED;
170
191
  }
171
192
  else {
172
- testStatus = models_1.ResultStatus.PASSED;
193
+ testStatus = src_1.ResultCreateStatusEnum.PASSED;
173
194
  }
174
195
  errorLog = testRunInfo.errs
175
196
  .map(function (x) { return formatError(x).replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, ''); })
@@ -211,15 +232,63 @@ var TestcafeQaseReporter = /** @class */ (function () {
211
232
  }); };
212
233
  this.config = prepareConfig();
213
234
  this.enabled = verifyConfig(this.config);
214
- this.api = new qaseio_1.QaseApi(this.config.apiToken);
235
+ this.api = new qaseio_1.QaseApi(this.config.apiToken, this.config.basePath, TestcafeQaseReporter.createHeaders());
215
236
  this.queued = 0;
216
237
  this.results = [];
217
238
  this.screenshots = {};
218
239
  }
240
+ TestcafeQaseReporter.getCaseId = function (meta) {
241
+ if (!meta.CID) {
242
+ return [];
243
+ }
244
+ return meta.CID;
245
+ };
246
+ TestcafeQaseReporter.createHeaders = function () {
247
+ var nodeVersion = process.version, os = process.platform, arch = process.arch;
248
+ var npmVersion = child_process_1.execSync('npm -v', { encoding: 'utf8' }).replace(/['"\n]+/g, '');
249
+ var qaseapiVersion = this.getPackageVersion('qaseio');
250
+ var testcafeVersion = this.getPackageVersion('testcafe');
251
+ var testcafeCaseReporterVersion = this.getPackageVersion('testcafe-reporter-qase');
252
+ var xPlatformHeader = "node=" + nodeVersion + "; npm=" + npmVersion + "; os=" + os + "; arch=" + arch;
253
+ // eslint-disable-next-line max-len
254
+ var xClientHeader = "testcafe=" + testcafeVersion + "; qase-testcafe=" + testcafeCaseReporterVersion + "; qaseapi=" + qaseapiVersion;
255
+ return {
256
+ 'X-Client': xClientHeader,
257
+ 'X-Platform': xPlatformHeader,
258
+ };
259
+ };
260
+ TestcafeQaseReporter.createRunObject = function (name, cases, args) {
261
+ return __assign({ title: name, cases: cases }, args);
262
+ };
263
+ TestcafeQaseReporter.createResultObject = function (caseId, status, args) {
264
+ return __assign({ case_id: caseId, status: status }, args);
265
+ };
266
+ TestcafeQaseReporter.getPackageVersion = function (name) {
267
+ var UNDEFINED = 'undefined';
268
+ try {
269
+ var pathToPackageJson = require.resolve(name + "/package.json", { paths: [process.cwd()] });
270
+ if (pathToPackageJson) {
271
+ try {
272
+ var packageString = fs_1.readFileSync(pathToPackageJson, { encoding: 'utf8' });
273
+ if (packageString) {
274
+ var packageObject = JSON.parse(packageString);
275
+ return packageObject.version;
276
+ }
277
+ return UNDEFINED;
278
+ }
279
+ catch (error) {
280
+ return UNDEFINED;
281
+ }
282
+ }
283
+ }
284
+ catch (error) {
285
+ return UNDEFINED;
286
+ }
287
+ };
219
288
  TestcafeQaseReporter.prototype.completeRun = function (runId) {
220
289
  var _this = this;
221
290
  if (runId !== undefined) {
222
- this.api.runs.complete(this.config.projectCode, runId)
291
+ this.api.runs.completeRun(this.config.projectCode, Number(this.config.runId))
223
292
  .then(function () {
224
293
  _this.log('Run completed successfully');
225
294
  })
@@ -238,36 +307,77 @@ var TestcafeQaseReporter = /** @class */ (function () {
238
307
  }
239
308
  };
240
309
  TestcafeQaseReporter.prototype.checkProject = function (projectCode, cb) {
241
- var _this = this;
242
- this.api.projects.exists(projectCode)
243
- .then(cb)
244
- .catch(function (err) {
245
- _this.log(err);
310
+ var _a;
311
+ return __awaiter(this, void 0, void 0, function () {
312
+ var resp, err_1;
313
+ return __generator(this, function (_b) {
314
+ switch (_b.label) {
315
+ case 0:
316
+ _b.trys.push([0, 3, , 4]);
317
+ return [4 /*yield*/, this.api.projects.getProject(projectCode)];
318
+ case 1:
319
+ resp = _b.sent();
320
+ return [4 /*yield*/, cb(Boolean((_a = resp.data.result) === null || _a === void 0 ? void 0 : _a.code))];
321
+ case 2:
322
+ _b.sent();
323
+ return [3 /*break*/, 4];
324
+ case 3:
325
+ err_1 = _b.sent();
326
+ this.log(err_1);
327
+ this.enabled = false;
328
+ return [3 /*break*/, 4];
329
+ case 4: return [2 /*return*/];
330
+ }
331
+ });
246
332
  });
247
333
  };
248
334
  TestcafeQaseReporter.prototype.createRun = function (name, description, cb) {
249
- var _this = this;
250
- this.api.runs.create(this.config.projectCode, new models_1.RunCreate(name || "Automated run " + new Date().toISOString(), [],
251
- // eslint-disable-next-line camelcase
252
- { description: description || 'Cypress automated run', is_autotest: true }))
253
- .then(function (res) { return res.data; })
254
- .then(cb)
255
- .catch(function (err) {
256
- _this.log("Error on creating run " + err);
335
+ return __awaiter(this, void 0, void 0, function () {
336
+ var runObject, res, err_2;
337
+ return __generator(this, function (_a) {
338
+ switch (_a.label) {
339
+ case 0:
340
+ _a.trys.push([0, 2, , 3]);
341
+ runObject = TestcafeQaseReporter.createRunObject(name || "Automated run " + new Date().toISOString(), [], {
342
+ description: description || 'TestCafe automated run',
343
+ environment_id: Number(this.config.environmentId),
344
+ is_autotest: true,
345
+ });
346
+ return [4 /*yield*/, this.api.runs.createRun(this.config.projectCode, runObject)];
347
+ case 1:
348
+ res = _a.sent();
349
+ cb(res.data);
350
+ return [3 /*break*/, 3];
351
+ case 2:
352
+ err_2 = _a.sent();
353
+ this.log("Error on creating run " + err_2);
354
+ this.enabled = false;
355
+ return [3 /*break*/, 3];
356
+ case 3: return [2 /*return*/];
357
+ }
358
+ });
257
359
  });
258
360
  };
259
361
  TestcafeQaseReporter.prototype.checkRun = function (runId, cb) {
260
- var _this = this;
261
- if (runId !== undefined) {
262
- this.api.runs.exists(this.config.projectCode, runId)
263
- .then(cb)
264
- .catch(function (err) {
265
- _this.log("Error on checking run " + err);
362
+ return __awaiter(this, void 0, void 0, function () {
363
+ var _this = this;
364
+ return __generator(this, function (_a) {
365
+ if (runId === undefined) {
366
+ cb(false);
367
+ return [2 /*return*/];
368
+ }
369
+ return [2 /*return*/, this.api.runs.getRun(this.config.projectCode, Number(runId))
370
+ .then(function (resp) {
371
+ var _a, _b;
372
+ _this.log("Get run result on checking run " + ((_a = resp.data.result) === null || _a === void 0 ? void 0 : _a.id));
373
+ cb(Boolean((_b = resp.data.result) === null || _b === void 0 ? void 0 : _b.id));
374
+ })
375
+ .catch(function (err) {
376
+ _this.log("Error on checking run " + err);
377
+ _this.enabled = false;
378
+ })];
266
379
  });
267
- }
268
- else {
269
- cb(false);
270
- }
380
+ });
271
381
  };
272
382
  TestcafeQaseReporter.prototype.saveRunId = function (runId) {
273
383
  this.config.runId = runId;
@@ -281,12 +391,6 @@ var TestcafeQaseReporter = /** @class */ (function () {
281
391
  }
282
392
  }
283
393
  };
284
- TestcafeQaseReporter.prototype.getCaseId = function (meta) {
285
- if (!meta.CID) {
286
- return [];
287
- }
288
- return meta.CID;
289
- };
290
394
  TestcafeQaseReporter.prototype.logTestItem = function (name, status) {
291
395
  var map = {
292
396
  failed: chalk_1.default(templateObject_8 || (templateObject_8 = __makeTemplateObject(["{red Test ", " ", "}"], ["{red Test ", " ", "}"])), name, status),
@@ -300,23 +404,23 @@ var TestcafeQaseReporter = /** @class */ (function () {
300
404
  TestcafeQaseReporter.prototype.publishCaseResult = function (test, status) {
301
405
  var _this = this;
302
406
  this.logTestItem(test.name, status);
303
- var caseIds = this.getCaseId(test.meta);
407
+ var caseIds = TestcafeQaseReporter.getCaseId(test.meta);
304
408
  caseIds.forEach(function (caseId) {
305
409
  var publishTest = function (runId) {
306
410
  if (caseId) {
307
411
  var add_1 = caseIds.length > 1 ? chalk_1.default(templateObject_11 || (templateObject_11 = __makeTemplateObject([" {white For case ", "}"], [" {white For case ", "}"])), caseId) : '';
308
412
  _this.log(chalk_1.default(templateObject_12 || (templateObject_12 = __makeTemplateObject(["{gray Start publishing: ", "}", ""], ["{gray Start publishing: ", "}", ""])), test.name, add_1));
309
413
  _this.queued++;
310
- _this.api.results.create(_this.config.projectCode, runId, new models_1.ResultCreate(parseInt(caseId, 10), status, {
311
- // eslint-disable-next-line camelcase
414
+ var resultObject = TestcafeQaseReporter.createResultObject(parseInt(caseId, 10), status, {
312
415
  time_ms: test.info.durationMs,
313
416
  stacktrace: test.error,
314
417
  comment: test.error ? test.error.split('\n')[0] : undefined,
315
- }))
418
+ });
419
+ _this.api.results.createResult(_this.config.projectCode, Number(runId), resultObject)
316
420
  .then(function (res) {
317
421
  _this.results.push({ test: test, result: res.data });
318
422
  _this.queued--;
319
- _this.log(chalk_1.default(templateObject_13 || (templateObject_13 = __makeTemplateObject(["{gray Result published: ", " ", "}", ""], ["{gray Result published: ", " ", "}", ""])), test.name, res.data.hash, add_1));
423
+ _this.log(chalk_1.default(templateObject_13 || (templateObject_13 = __makeTemplateObject(["{gray Result published: ", "}", ""], ["{gray Result published: ", "}", ""])), test.name, add_1));
320
424
  })
321
425
  .catch(function (err) {
322
426
  _this.queued--;
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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"}