/*! * * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. * \copyright * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, * IN PART OR IN WHOLE, * WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * \file tst_logging.cpp * \date 01/07/2020 * \author Behrouz NematiPour * */ #include "tst_logging.h" // Qt #include #include // Project #include "filehandler.h" #include "logger.h" #include "messageinterpreter.h" using namespace Storage; /*! * \brief tst_logging::tst_logging * \details Constructor * \param parent - QObject parent owner object. * Qt handles the children destruction by their parent objects life-cycle. */ tst_logging::tst_logging(QObject *parent) : QObject(parent) { } void tst_logging::initTestCase() { Threads::registerTypes(); _Logger._timeFormat = ""; QCOMPARE( _Logger.init(), ! _Logger.init() ); QString mContent; FileHandler::read(_Logger._logFileName, mContent); QCOMPARE(mContent, ",E,UI,Storage::Logger Initialized\n"); } void tst_logging::cleanup() { QThread::currentThread()->msleep(1000); } void tst_logging::init() { QString mContent; FileHandler::write(_Logger._logFileName, mContent, false); QCOMPARE(mContent, ""); } void tst_logging::logEvent() { LOG_EVENT("1 - Event log has been created"); QString mContent; FileHandler::read(_Logger._logFileName, mContent); QCOMPARE(mContent, ",E,1 - Event log has been created\n"); } void tst_logging::logDatum() { LOG_DATUM("3 - Datum log has been created"); QString mContent; FileHandler::read(_Logger._logFileName, mContent); QCOMPARE(mContent, ",D,3 - Datum log has been created\n"); } void tst_logging::logError() { LOG_ERROR("2 - Error log has been created"); QString mContent; FileHandler::read(_Logger._logFileName, mContent); QCOMPARE(mContent, "Error: , 2 - Error log has been created\n"); } void tst_logging::logUnknown() { emit Storage::Logger::I().didLog("4 - Datum log has been created", Storage::Logger::LogType::eLogType_Count); QString mContent; FileHandler::read(_Logger._logFileName, mContent); QCOMPARE(mContent, "Error: , Incorrect type of logging\n" "Error: , 4 - Datum log has been created\n"); } void tst_logging::logError_gDisableUnhandledReport_False() { gDisableUnhandledReport = false; Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::ID_AlarmTriggered; msg.data = {}; iMsg.printUnhandled(msg); QString mContent; FileHandler::read(_Logger._logFileName, mContent); QStringList lines = mContent.split("\n"); QVERIFY(lines.count()); QCOMPARE(lines.first(), "Error: , Unhandled Message ID (HD)"); } void tst_logging::logError_gDisableUnhandledReport_True() { gDisableUnhandledReport = true; Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::ID_AlarmTriggered; msg.data = {}; iMsg.printUnhandled(msg); QString mContent; FileHandler::read(_Logger._logFileName, mContent); QCOMPARE(mContent, ""); } void tst_logging::logError_Unhandled_TreatmentState() { gDisableUnhandledReport = false; Can::MessageInterpreter iMsg; Can::Message msg; msg.actionId = Gui::GuiActionType::ID_TreatmentState; msg.data = {}; QVariantList vData {}; QVERIFY(iMsg.interpretMessage_HD(msg, vData)); QString mContent; FileHandler::read(_Logger._logFileName, mContent); QStringList lines = mContent.split("\n"); QVERIFY(lines.count()); QCOMPARE(lines.first(), "Error: , Unhandled Message ID (HD)"); } void tst_logging::setLogPath_F() { _Logger._dir = "/"; bool b = _Logger.setLogPath(); QCOMPARE(b , false); } void tst_logging::setLogPath_T() { _Logger._dir = "/tmp"; bool b = _Logger.setLogPath(); QCOMPARE(b , true); } void tst_logging::readUnknown() { QString mContent; QVERIFY(! FileHandler::read("TheFileWhichDoesntExist.UnknownExtension", mContent)); }