newman-reporter-qase 1.0.0-alpha2 → 1.0.5
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 +18 -3
- package/dist/index.d.ts +5 -2
- package/dist/index.js +60 -63
- package/dist/index.js.map +1 -1
- package/example/package-lock.json +7713 -0
- package/example/package.json +16 -0
- package/example/sample-collection.json +34 -0
- package/example/screenshots/screenshot.png +0 -0
- package/package.json +8 -6
package/README.md
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
# Qase Newman
|
|
1
|
+
> # Qase TMS Newman reporter
|
|
2
|
+
>
|
|
3
|
+
> Publish results simple and easy.
|
|
4
|
+
|
|
5
|
+
## How to integrate
|
|
2
6
|
|
|
3
|
-
Install reporter:
|
|
4
7
|
```bash
|
|
5
8
|
npm install -g newman-reporter-qase
|
|
6
9
|
```
|
|
7
10
|
|
|
8
|
-
##
|
|
11
|
+
## Example of usage
|
|
9
12
|
|
|
10
13
|
### Define in tests
|
|
11
14
|
```js
|
|
@@ -26,5 +29,17 @@ newman run \
|
|
|
26
29
|
--reporter-qase-projectCode PRJCODE \ # Specify Project Code
|
|
27
30
|
--reporter-qase-apiToken <api token> \ # Specify API token
|
|
28
31
|
--reporter-qase-runId 34 \ # Specify Run ID using CLI parameters
|
|
32
|
+
--reporter-qase-runName "..." \ # Specify Run name using CLI parameters
|
|
33
|
+
--reporter-qase-runDescription "..." \ # Specify Run description using CLI parameters
|
|
29
34
|
-x # WA for issue https://github.com/postmanlabs/newman/issues/2148#issuecomment-665229759
|
|
30
35
|
```
|
|
36
|
+
|
|
37
|
+

|
|
38
|
+
A test run will be performed and available at:
|
|
39
|
+
```
|
|
40
|
+
https://app.qase.io/run/QASE_PROJECT_CODE
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
<!-- references -->
|
|
44
|
+
|
|
45
|
+
[auth]: https://developers.qase.io/#authentication
|
package/dist/index.d.ts
CHANGED
|
@@ -5,16 +5,19 @@ interface QaseOptions {
|
|
|
5
5
|
apiToken: string;
|
|
6
6
|
projectCode: string;
|
|
7
7
|
runId?: string;
|
|
8
|
+
runName?: string;
|
|
9
|
+
runDescription?: string;
|
|
8
10
|
logging?: boolean;
|
|
9
11
|
}
|
|
10
12
|
declare class NewmanQaseReporter {
|
|
11
13
|
private api;
|
|
12
14
|
private prePending;
|
|
13
15
|
private pending;
|
|
14
|
-
private results;
|
|
16
|
+
private readonly results;
|
|
15
17
|
private options;
|
|
16
18
|
private collectionOptions;
|
|
17
19
|
private runId?;
|
|
20
|
+
private readonly runIdP;
|
|
18
21
|
constructor(emitter: EventEmitter, options: QaseOptions, collectionRunOptions: NewmanRunOptions);
|
|
19
22
|
private getEnv;
|
|
20
23
|
private log;
|
|
@@ -22,7 +25,7 @@ declare class NewmanQaseReporter {
|
|
|
22
25
|
private extractIds;
|
|
23
26
|
private checkProject;
|
|
24
27
|
private checkRun;
|
|
25
|
-
private
|
|
28
|
+
private createRun;
|
|
26
29
|
private itemName;
|
|
27
30
|
private logTestItem;
|
|
28
31
|
private publishCaseResult;
|
package/dist/index.js
CHANGED
|
@@ -26,6 +26,7 @@ var NewmanQaseReporter = /** @class */ (function () {
|
|
|
26
26
|
this.prePending = {};
|
|
27
27
|
this.pending = [];
|
|
28
28
|
this.results = [];
|
|
29
|
+
this.runIdP = Promise.resolve(null);
|
|
29
30
|
this.options = options;
|
|
30
31
|
this.collectionOptions = collectionRunOptions;
|
|
31
32
|
this.api = new qaseio_1.QaseApi(this.options.apiToken);
|
|
@@ -33,26 +34,29 @@ var NewmanQaseReporter = /** @class */ (function () {
|
|
|
33
34
|
return;
|
|
34
35
|
}
|
|
35
36
|
this.addRunnerListeners(emitter);
|
|
36
|
-
this.checkProject(this.options.projectCode, function (prjExists) {
|
|
37
|
-
if (prjExists) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
_this.checkRun(
|
|
37
|
+
this.runIdP = this.checkProject(this.options.projectCode, function (prjExists) {
|
|
38
|
+
if (!prjExists) {
|
|
39
|
+
return Promise.reject(chalk_1.default(templateObject_1 || (templateObject_1 = __makeTemplateObject(["{red Project ", " does not exist}"], ["{red Project ", " does not exist}"])), _this.options.projectCode));
|
|
40
|
+
}
|
|
41
|
+
_this.log(chalk_1.default(templateObject_2 || (templateObject_2 = __makeTemplateObject(["{green Project ", " exists}"], ["{green Project ", " exists}"])), _this.options.projectCode));
|
|
42
|
+
var providedRunId = _this.getEnv(Envs.runId) || _this.options.runId;
|
|
43
|
+
if (providedRunId) {
|
|
44
|
+
return _this.checkRun(providedRunId, function (runExists) {
|
|
44
45
|
if (runExists) {
|
|
45
|
-
_this.log(chalk_1.default(
|
|
46
|
-
|
|
46
|
+
_this.log(chalk_1.default(templateObject_3 || (templateObject_3 = __makeTemplateObject(["{green Using run ", " to publish test results}"], ["{green Using run ", " to publish test results}"])), providedRunId));
|
|
47
|
+
return Promise.resolve(providedRunId);
|
|
47
48
|
}
|
|
48
49
|
else {
|
|
49
|
-
|
|
50
|
+
return Promise.reject(chalk_1.default(templateObject_4 || (templateObject_4 = __makeTemplateObject(["{red Run ", " does not exist}"], ["{red Run ", " does not exist}"])), providedRunId));
|
|
50
51
|
}
|
|
51
52
|
});
|
|
52
53
|
}
|
|
53
54
|
else {
|
|
54
|
-
_this.
|
|
55
|
+
return _this.createRun(_this.options.runName, _this.options.runDescription);
|
|
55
56
|
}
|
|
57
|
+
}).catch(function (err) {
|
|
58
|
+
_this.log(err);
|
|
59
|
+
return null;
|
|
56
60
|
});
|
|
57
61
|
}
|
|
58
62
|
NewmanQaseReporter.prototype.getEnv = function (name) {
|
|
@@ -70,7 +74,7 @@ var NewmanQaseReporter = /** @class */ (function () {
|
|
|
70
74
|
NewmanQaseReporter.prototype.addRunnerListeners = function (runner) {
|
|
71
75
|
var _this = this;
|
|
72
76
|
runner.on('beforeItem', function (err, args) {
|
|
73
|
-
var item = args.item
|
|
77
|
+
var item = args.item;
|
|
74
78
|
var name = _this.itemName(args);
|
|
75
79
|
var ids = _this.extractIds(item.events);
|
|
76
80
|
if (name) {
|
|
@@ -130,37 +134,33 @@ var NewmanQaseReporter = /** @class */ (function () {
|
|
|
130
134
|
return ids;
|
|
131
135
|
};
|
|
132
136
|
NewmanQaseReporter.prototype.checkProject = function (projectCode, cb) {
|
|
133
|
-
|
|
134
|
-
this.api.projects.exists(projectCode)
|
|
135
|
-
.then(cb)
|
|
136
|
-
.catch(function (err) {
|
|
137
|
-
_this.log(err);
|
|
138
|
-
});
|
|
137
|
+
return this.api.projects.exists(projectCode).then(cb);
|
|
139
138
|
};
|
|
140
139
|
NewmanQaseReporter.prototype.checkRun = function (runId, cb) {
|
|
141
|
-
var _this = this;
|
|
142
140
|
if (runId !== undefined) {
|
|
143
|
-
this.api.runs.exists(this.options.projectCode, runId)
|
|
144
|
-
.then(cb)
|
|
145
|
-
.catch(function (err) {
|
|
146
|
-
_this.log(err);
|
|
147
|
-
});
|
|
141
|
+
return this.api.runs.exists(this.options.projectCode, runId).then(cb);
|
|
148
142
|
}
|
|
149
143
|
else {
|
|
150
|
-
cb(false);
|
|
144
|
+
return cb(false);
|
|
151
145
|
}
|
|
152
146
|
};
|
|
153
|
-
NewmanQaseReporter.prototype.
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
147
|
+
NewmanQaseReporter.prototype.createRun = function (name, description) {
|
|
148
|
+
var _this = this;
|
|
149
|
+
return this.api.runs.create(this.options.projectCode, new models_1.RunCreate(name || "Automated run " + new Date().toISOString(), [], {
|
|
150
|
+
description: description || 'Newman automated run',
|
|
151
|
+
// eslint-disable-next-line camelcase
|
|
152
|
+
is_autotest: true,
|
|
153
|
+
})).catch(function (err) { return Promise.reject("Error on creating run " + err); })
|
|
154
|
+
.then(function (res) {
|
|
155
|
+
var _a;
|
|
156
|
+
var runId = (_a = res.data) === null || _a === void 0 ? void 0 : _a.id;
|
|
157
|
+
if (runId) {
|
|
158
|
+
return runId;
|
|
162
159
|
}
|
|
163
|
-
|
|
160
|
+
else {
|
|
161
|
+
return Promise.reject(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));
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
164
|
};
|
|
165
165
|
NewmanQaseReporter.prototype.itemName = function (args) {
|
|
166
166
|
if (args.item) {
|
|
@@ -171,9 +171,9 @@ var NewmanQaseReporter = /** @class */ (function () {
|
|
|
171
171
|
};
|
|
172
172
|
NewmanQaseReporter.prototype.logTestItem = function (test) {
|
|
173
173
|
var map = {
|
|
174
|
-
failed: chalk_1.default(
|
|
175
|
-
passed: chalk_1.default(
|
|
176
|
-
pending: chalk_1.default(
|
|
174
|
+
failed: chalk_1.default(templateObject_7 || (templateObject_7 = __makeTemplateObject(["{red Test ", " ", "}"], ["{red Test ", " ", "}"])), test.name, test.result),
|
|
175
|
+
passed: chalk_1.default(templateObject_8 || (templateObject_8 = __makeTemplateObject(["{green Test ", " ", "}"], ["{green Test ", " ", "}"])), test.name, test.result),
|
|
176
|
+
pending: chalk_1.default(templateObject_9 || (templateObject_9 = __makeTemplateObject(["{blueBright Test ", " ", "}"], ["{blueBright Test ", " ", "}"])), test.name, test.result),
|
|
177
177
|
};
|
|
178
178
|
if (test.result) {
|
|
179
179
|
this.log(map[test.result]);
|
|
@@ -183,34 +183,31 @@ var NewmanQaseReporter = /** @class */ (function () {
|
|
|
183
183
|
var _this = this;
|
|
184
184
|
this.logTestItem(test);
|
|
185
185
|
var publishTest = function (runId) {
|
|
186
|
-
if (test.ids.length
|
|
187
|
-
|
|
188
|
-
var _a;
|
|
189
|
-
_this.log(chalk_1.default(templateObject_9 || (templateObject_9 = __makeTemplateObject(["{gray Result publishing: ", " case: ", "}"], ["{gray Result publishing: ", " case: ", "}"])), test.name, caseId));
|
|
190
|
-
_this.api.results.create(_this.options.projectCode, runId, new models_1.ResultCreate(parseInt(caseId, 10), test.result, {
|
|
191
|
-
time: test.duration,
|
|
192
|
-
stacktrace: (_a = test.err) === null || _a === void 0 ? void 0 : _a.stack,
|
|
193
|
-
comment: test.err ? test.err.message : "Qase Newman Reporter " + new Date().toLocaleString(),
|
|
194
|
-
}))
|
|
195
|
-
.then(function (res) {
|
|
196
|
-
_this.results.push({ test: test, result: res.data });
|
|
197
|
-
_this.log(chalk_1.default(templateObject_10 || (templateObject_10 = __makeTemplateObject(["{gray Result published: ", " case ", "}"], ["{gray Result published: ", " case ", "}"])), test.name, caseId));
|
|
198
|
-
})
|
|
199
|
-
.catch(function (err) {
|
|
200
|
-
_this.log("Got error on publishing: " + err);
|
|
201
|
-
});
|
|
202
|
-
});
|
|
186
|
+
if (runId === null || test.ids.length === 0) {
|
|
187
|
+
return;
|
|
203
188
|
}
|
|
189
|
+
test.ids.forEach(function (caseId) {
|
|
190
|
+
var _a;
|
|
191
|
+
_this.log(chalk_1.default(templateObject_10 || (templateObject_10 = __makeTemplateObject(["{gray Result publishing: ", " case: ", "}"], ["{gray Result publishing: ", " case: ", "}"])), test.name, caseId));
|
|
192
|
+
_this.api.results.create(_this.options.projectCode, runId, new models_1.ResultCreate(parseInt(caseId, 10), test.result, {
|
|
193
|
+
// eslint-disable-next-line camelcase
|
|
194
|
+
time_ms: test.duration,
|
|
195
|
+
stacktrace: (_a = test.err) === null || _a === void 0 ? void 0 : _a.stack,
|
|
196
|
+
comment: test.err ? test.err.message : "Qase Newman Reporter " + new Date().toLocaleString(),
|
|
197
|
+
}))
|
|
198
|
+
.then(function (res) {
|
|
199
|
+
_this.results.push({ test: test, result: res.data });
|
|
200
|
+
_this.log(chalk_1.default(templateObject_11 || (templateObject_11 = __makeTemplateObject(["{gray Result published: ", " case ", "}"], ["{gray Result published: ", " case ", "}"])), test.name, caseId));
|
|
201
|
+
})
|
|
202
|
+
.catch(function (err) {
|
|
203
|
+
_this.log("Got error on publishing: " + err);
|
|
204
|
+
});
|
|
205
|
+
});
|
|
204
206
|
};
|
|
205
|
-
|
|
206
|
-
publishTest(this.runId);
|
|
207
|
-
}
|
|
208
|
-
else {
|
|
209
|
-
this.pending.push(publishTest);
|
|
210
|
-
}
|
|
207
|
+
void this.runIdP.then(publishTest);
|
|
211
208
|
};
|
|
212
209
|
return NewmanQaseReporter;
|
|
213
210
|
}());
|
|
214
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10;
|
|
211
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11;
|
|
215
212
|
module.exports = NewmanQaseReporter;
|
|
216
213
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|