phoezz-report
Version:
This package must be used with Phoezz package to generate report files"
39 lines (31 loc) • 1.44 kB
JavaScript
var fs = require('fs');
var ju_testsuite = function(file, tests, config) {
var testsuite = '';
var e = 0; // Error count
tests.forEach(function(t) {
testsuite += '<testcase name="<![CDATA['+t.method+' '+t.target+' ['+t.fuzz+']]]" time="0.01" classname="' + t.file + '">';
if (t.response.statusCode != t.request.expected) {
testsuite += '<error message="Error ' + t.response.statusCode + '"><![CDATA[' + JSON.stringify(t) + ']]></error>';
e++;
}
testsuite += '</testcase>';
});
testsuite = '<testsuite name="' + file + '" tests="' + tests.length + '" failures="0" disabled="0" errors="' + e + '" time="0.1">' + testsuite;
testsuite += '</testsuite>';
return {total: tests.length, e: e, testsuite: testsuite};
}
function ju_generate(testsuites, errors, total, config) {
var content = '';
content += '<?xml version="1.0" encoding="UTF-8"?>';
content += '<testsuites tests="' + total + '" failures="0" disabled="0" errors="' + errors + '" timestamp="' + new Date() + '" time="1" name="report">';
content += testsuites;
content += '</testsuites>';
fs.writeFile(config.report_path + config.report_filename, content, {
flags: 'wx+'
}, function(err) {
if (err) throw err;
console.log('Report file generated');
});
}
module.exports.ju_testsuite = ju_testsuite;
module.exports.ju_generate = ju_generate;