@qavajs/format-report-portal 0.14.3 → 0.15.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/CHANGELOG.MD +3 -0
- package/index.js +41 -0
- package/package.json +4 -4
package/CHANGELOG.MD
CHANGED
package/index.js
CHANGED
|
@@ -265,6 +265,12 @@ class RPFormatter extends Formatter {
|
|
|
265
265
|
message: attachment.body,
|
|
266
266
|
time: startTime
|
|
267
267
|
});
|
|
268
|
+
} else if (attachment.mediaType === 'text/x.response.json') {
|
|
269
|
+
log = await this.rpClient.sendLog(testItem.tempId, {
|
|
270
|
+
level: 'INFO',
|
|
271
|
+
message: this.responseBody(attachment.body),
|
|
272
|
+
time: startTime
|
|
273
|
+
});
|
|
268
274
|
} else {
|
|
269
275
|
const attachmentData = {
|
|
270
276
|
name: 'attachment',
|
|
@@ -279,6 +285,41 @@ class RPFormatter extends Formatter {
|
|
|
279
285
|
}
|
|
280
286
|
await log.promise;
|
|
281
287
|
}
|
|
288
|
+
|
|
289
|
+
renderHeaders(headers) {
|
|
290
|
+
return Object.entries(headers).map(([key, value]) => `${key}: ${value}`).join('\n');
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
responseBody(log) {
|
|
294
|
+
const payload = JSON.parse(log);
|
|
295
|
+
const isText = header => ['application/json', 'text/plain', 'text/html'].some(mime => (header ?? '').includes(mime));
|
|
296
|
+
const reqBody = isText(payload.request.headers['content-type'])
|
|
297
|
+
? Buffer.from(payload.request.body, 'base64').toString()
|
|
298
|
+
: payload.request.body;
|
|
299
|
+
const resBody = isText(payload.response.headers['content-type'])
|
|
300
|
+
? Buffer.from(payload.response.body, 'base64').toString()
|
|
301
|
+
: payload.request.body;
|
|
302
|
+
return `${payload.request.method} ${payload.request.url} - ${payload.response.status}
|
|
303
|
+
**Request**
|
|
304
|
+
body:
|
|
305
|
+
\`\`\`
|
|
306
|
+
${reqBody}
|
|
307
|
+
\`\`\`
|
|
308
|
+
headers:
|
|
309
|
+
\`\`\`
|
|
310
|
+
${this.renderHeaders(payload.request.headers)}
|
|
311
|
+
\`\`\`
|
|
312
|
+
**Response**
|
|
313
|
+
body:
|
|
314
|
+
\`\`\`
|
|
315
|
+
${resBody}
|
|
316
|
+
\`\`\`
|
|
317
|
+
headers:
|
|
318
|
+
\`\`\`
|
|
319
|
+
${this.renderHeaders(payload.response.headers)}
|
|
320
|
+
\`\`\`
|
|
321
|
+
`
|
|
322
|
+
}
|
|
282
323
|
}
|
|
283
324
|
|
|
284
325
|
module.exports = RPFormatter
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qavajs/format-report-portal",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "cucumber formatter for report portal",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -21,11 +21,11 @@
|
|
|
21
21
|
},
|
|
22
22
|
"homepage": "https://github.com/qavajs/format-report-portal#readme",
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@reportportal/client-javascript": "^5.1.
|
|
24
|
+
"@reportportal/client-javascript": "^5.1.4"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@cucumber/cucumber": "^10.
|
|
28
|
-
"@qavajs/cli": "^0.
|
|
27
|
+
"@cucumber/cucumber": "^10.8.0",
|
|
28
|
+
"@qavajs/cli": "^0.39.0",
|
|
29
29
|
"@qavajs/memory": "^1.7.0",
|
|
30
30
|
"jest": "^29.7.0"
|
|
31
31
|
}
|