allure-js-commons
Version:
Allure JS Commons
98 lines (97 loc) • 4.31 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.MessageReader = void 0;
var _facade = require("../../../facade.js");
var _envInfo = require("../utils/envInfo.js");
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
var parseJsonResult = data => {
return JSON.parse(Buffer.from(data, "base64").toString("utf-8"));
};
class MessageReader {
constructor() {
var _this = this;
_defineProperty(this, "results", {
tests: [],
groups: [],
attachments: {}
});
_defineProperty(this, "handleMessage", jsonMessage => {
var {
path,
type = "undefined",
data
} = JSON.parse(jsonMessage);
switch (type) {
case "container":
this.results.groups.push(parseJsonResult(data));
return;
case "result":
this.results.tests.push(parseJsonResult(data));
return;
case "attachment":
this.results.attachments[path] = data;
return;
case "misc":
switch (path) {
case "environment.properties":
this.results.envInfo = (0, _envInfo.parseEnvInfo)(Buffer.from(data, "base64").toString());
break;
case "categories.json":
this.results.categories = parseJsonResult(data);
break;
default:
break;
}
return;
default:
this.handleCustomMessage(type, data, path);
return;
}
});
// eslint-disable-next-line @typescript-eslint/no-unused-vars
_defineProperty(this, "handleCustomMessage", (type, data, path) => {});
_defineProperty(this, "attachResults", /*#__PURE__*/_asyncToGenerator(function* () {
yield (0, _facade.step)("allure-results", /*#__PURE__*/_asyncToGenerator(function* () {
if (_this.results.categories) {
yield (0, _facade.attachment)("categories.json", JSON.stringify(_this.results.categories), "application/json");
}
if (_this.results.envInfo) {
yield (0, _facade.attachment)("environment.properties", (0, _envInfo.stringifyEnvInfo)(_this.results.envInfo), "text/plain");
}
if (_this.results.attachments) {
for (var key of Object.keys(_this.results.attachments)) {
var content = _this.results.attachments[key];
yield (0, _facade.attachment)(key, content, {
contentType: "text/plain",
encoding: "base64"
});
}
}
if (_this.results.tests) {
for (var tr of _this.results.tests) {
yield (0, _facade.attachment)("".concat(tr.uuid, "-result.json"), JSON.stringify(tr, null, 2), {
contentType: "application/json",
encoding: "utf-8"
});
}
}
if (_this.results.groups) {
for (var trc of _this.results.groups) {
yield (0, _facade.attachment)("".concat(trc.uuid, "-container.json"), JSON.stringify(trc, null, 2), {
contentType: "application/json",
encoding: "utf-8"
});
}
}
}));
}));
}
}
exports.MessageReader = MessageReader;
//# sourceMappingURL=MessageReader.js.map
;