cat2log
Version:
Easy-to-user log file package
138 lines (123 loc) • 3.64 kB
JavaScript
var cat2log = require('./main.js')
function start () {
console.log("cat2log Testing Script");
var rendu = {
total: 0,
success: 0,
failed: 0
}
console.log("Starting ...");
checkDefaultFilePath(rendu);
};
function checkDefaultFilePath(rendu) {
var path = getPath('txt');
process.stdout.write('Get path txt..\t\t');
checkFile(path, function () {
rendu.total++; rendu.success++;
var path_md = getPath('md');
process.stdout.write('Get path md..\t\t');
checkFile(path_md, function () {
rendu.total++; rendu.success++;
var path_json = getPath('json');
process.stdout.write('Get path json..\t\t');
checkFile(path_json, function () {
rendu.total++; rendu.success++;
var data = {
tag: "TESTING tag",
status: "OK",
info: "This is info exemple"
}
add(data, rendu);
});
});
});
}; // end checkDefaultFilePath
function add(data, rendu) {
var cat2log = require('./main.js');
process.stdout.write('Add in txt ...\t\t');
cat2log.txt.add(data.tag, data.status, data.info, function (result) {
if (result) {
rendu.total++; rendu.success++;
console.log("SUCCESS");
} else {
rendu.total++; rendu.failed++;
console.log("FAILED");
}
process.stdout.write('Add in md ...\t\t');
cat2log.md.add(data.tag, data.status, data.info, function (result) {
if (result) {
rendu.total++; rendu.success++;
console.log("SUCCESS");
} else {
rendu.total++; rendu.failed++;
console.log("FAILED");
}
process.stdout.write('Add in json ...\t\t');
cat2log.json.add(data, function (result) {
if (result) {
rendu.total++; rendu.success++;
console.log("SUCCESS");
} else {
rendu.total++; rendu.failed++;
console.log("FAILED");
}
addAll(data, rendu);
});
});
});
}
function addAll(data, rendu) {
var cat2log = require('./main.js');
process.stdout.write('Add in ALL..\t\t');
cat2log.all.add(data.tag, data.status, data.info, function (result) {
if (result) {
rendu.total++; rendu.success++;
console.log("SUCCESS");
} else {
rendu.total++; rendu.failed++;
console.log("FAILED");
}
exit(rendu);
})
}
function exit (rendu) {
console.log("Stopping ...");
console.log(`${rendu.failed} failed, ${rendu.success} success\nFor a toal of: ${rendu.total}`);
var coverage = rendu.success/rendu.total * 100;
console.log(`Coverage: ${coverage}.0%`);
process.exit(0);
}
function checkFile(path, callback) {
var fs = require('fs');
if (fs.existsSync(path)) {
console.log('ABSENT');
if (callback !== undefined) {
callback(false);
} else {
return false;
}
} else {
console.log('PRESENT');
if (callback !== undefined) {
callback(true);
} else {
return true;
}
}
};
function getPath (type) {
switch (type) {
case 'txt':
var path = cat2log.config.path_txt + cat2log.config.file_name_txt;
return path;
case 'md':
var path = cat2log.config.path_md + cat2log.config.file_name_md;
return path;
case 'json':
var path = cat2log.config.path_json + cat2log.config.file_name_json;
return path;
default:
var path = cat2log.config.path_default + cat2log.config.file_name_default;
}
}
start();