/**
  * Sets up the fixture, for example, open a network connection.
  * This method is called before a test is executed.
  *
  * @return void
  */
 protected function setUp()
 {
     $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['mklog']['nolog'] = true;
     $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['devlog']['nolog'] = true;
     \DMK\Mklog\Factory::getStorage()->unsLoggingActive();
     $extConf = \DMK\Mklog\Factory::getConfigUtility()->getExtConf();
     $extConf->setMinLogLevel(7);
     $extConf->setExcludeExtKeys('');
 }
 /**
  * Is logging enabled?
  *
  * @return bool
  */
 protected function isLoggingEnabled()
 {
     // skip logging, if there is no db.
     if (empty($GLOBALS['TYPO3_DB']) || !is_object($GLOBALS['TYPO3_DB'])) {
         return false;
     }
     // skip if logging is disabled
     if ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['mklog']['nolog'] || $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['devlog']['nolog']) {
         return false;
     }
     // now check some cachable options
     $storage = \DMK\Mklog\Factory::getStorage();
     if ($storage->hasLoggingActive()) {
         return $storage->getLoggingActive();
     }
     $repo = \DMK\Mklog\Factory::getDevlogEntryRepository();
     $config = \DMK\Mklog\Factory::getConfigUtility();
     $storage->setLoggingActive(true);
     if (!$config->getEnableDevLog()) {
         $storage->setLoggingActive(false);
     } elseif (!$repo->isTableAvailable()) {
         // check for exsisting db table
         $storage->setLoggingActive(false);
     }
     return $storage->getLoggingActive();
 }
 /**
  * Test the isLoggingEnabled method
  *
  * @return void
  *
  * @group unit
  * @test
  */
 public function testIsLoggingEnabledWithDisabledLogInGlobals()
 {
     // activate logging
     \DMK\Mklog\Factory::getStorage()->setLoggingActive(true);
     // create an dummy db object for unittests outside of a typo3 env
     $GLOBALS['TYPO3_DB'] = new \stdClass();
     $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['devlog']['nolog'] = true;
     $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['mklog']['nolog'] = true;
     self::assertFalse($this->callInaccessibleMethod($this->getDevlogLoggerMock(), 'isLoggingEnabled'));
     $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['devlog']['nolog'] = false;
     $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['mklog']['nolog'] = false;
     self::assertTrue($this->callInaccessibleMethod($this->getDevlogLoggerMock(), 'isLoggingEnabled'));
 }