diff --git a/tests/php-unit-tests/unitary-tests/core/Log/LogFileNameBuilderTest.php b/tests/php-unit-tests/unitary-tests/core/Log/LogFileNameBuilderTest.php index e7bdfa923c..938bc88c38 100644 --- a/tests/php-unit-tests/unitary-tests/core/Log/LogFileNameBuilderTest.php +++ b/tests/php-unit-tests/unitary-tests/core/Log/LogFileNameBuilderTest.php @@ -32,7 +32,7 @@ class LogFileNameBuilderTest extends ItopTestCase { parent::setUp(); - require_once APPROOT.'core/log.class.inc.php'; + $this->RequireOnceItopFile('core/log.class.inc.php'); } protected function tearDown(): void diff --git a/tests/php-unit-tests/unitary-tests/core/LogAPITest.php b/tests/php-unit-tests/unitary-tests/core/LogAPITest.php deleted file mode 100644 index 7f253ddf92..0000000000 --- a/tests/php-unit-tests/unitary-tests/core/LogAPITest.php +++ /dev/null @@ -1,143 +0,0 @@ -mockFileLog = $this->createMock('FileLog'); - $this->oMetaModelConfig = $this->createMock('Config'); - } - - - /** - * @dataProvider LogApiProvider - * @test - * @backupGlobals disabled - */ - public function TestLogApi($oConfigObject, $sMessage, $Channel, $sExpectedLevel, $sExpectedMessage, $sExpectedChannel = '') - { - \IssueLog::MockStaticObjects($this->mockFileLog, $oConfigObject); - - $this->mockFileLog->expects($this->exactly(1)) - ->method($sExpectedLevel) - ->with($sExpectedMessage, $sExpectedChannel); - - \IssueLog::Error($sMessage, $Channel); - } - - public function LogApiProvider() - { - return [ - [ $this->oMetaModelConfig, "log msg", '' , "Error", "log msg"], - [ $this->oMetaModelConfig, "log msg", 'PoudlardChannel' , "Error", "log msg", 'PoudlardChannel'], - [ array(), "log msg", '' , "Error", "log msg"], // Bruno? - ]; - } - - /** - * @dataProvider LogWarningWithASpecificChannelProvider - * @test - * @backupGlobals disabled - */ - public function TestLogWarningWithASpecificChannel($expectedCallNb, $sExpectedLevel, $ConfigReturnedObject, $bExceptionRaised=false) - { - $this->oMetaModelConfig - ->method("Get") - ->with('log_level_min') - ->willReturn($ConfigReturnedObject); - - \IssueLog::MockStaticObjects($this->mockFileLog, $this->oMetaModelConfig); - - $this->mockFileLog->expects($this->exactly($expectedCallNb)) - ->method($sExpectedLevel) - ->with("log msg", "GaBuZoMeuChannel"); - - try{ - \IssueLog::Warning("log msg", "GaBuZoMeuChannel"); - if ($bExceptionRaised) - { - $this->fail("raised should have been raised"); - } - } - catch(\Exception $e) - { - if (!$bExceptionRaised) - { - $this->fail("raised should NOT have been raised"); - } - } - } - - public function LogWarningWithASpecificChannelProvider() - { - return [ - "empty config" => [ 0, "Ok", ''], - "Default Unknown Level" => [ 0, "Ok", 'TotoLevel', true], - "Info as Default Level" => [ 1 , "Warning", 'Info'], - "Error as Default Level" => [ 0, "Warning", 'Error'], - "Empty array" => [ 0, "Ok", array()], - "Channel configured on an undefined level" => [ 0, "Ok", ["GaBuZoMeuChannel" => "TotoLevel"], true], - "Channel defined with Error" => [ 0, "Warning", ["GaBuZoMeuChannel" => "Error"]], - "Channel defined with Info" => [ 1, "Warning", ["GaBuZoMeuChannel" => "Info"]], - ]; - } - - /** - * @dataProvider LogOkWithASpecificChannel - * @test - * @backupGlobals disabled - */ - public function TestLogOkWithASpecificChannel($expectedCallNb, $sExpectedLevel, $ConfigReturnedObject, $bExceptionRaised=false) - { - $this->oMetaModelConfig - ->method("Get") - ->with('log_level_min') - ->willReturn($ConfigReturnedObject); - - \IssueLog::MockStaticObjects($this->mockFileLog, $this->oMetaModelConfig); - - $this->mockFileLog->expects($this->exactly($expectedCallNb)) - ->method($sExpectedLevel) - ->with("log msg", "GaBuZoMeuChannel"); - - try{ - \IssueLog::Ok("log msg", "GaBuZoMeuChannel"); - if ($bExceptionRaised) - { - $this->fail("raised should have been raised"); - } - } - catch(\Exception $e) - { - if (!$bExceptionRaised) - { - $this->fail("raised should NOT have been raised"); - } - } - } - - public function LogOkWithASpecificChannel() - { - return [ - "empty config" => [ 1, "Ok", ''], - "Empty array" => [ 1, "Ok", array()], - ]; - } - -} diff --git a/tests/php-unit-tests/unitary-tests/core/LogFileNameBuilderTest.php b/tests/php-unit-tests/unitary-tests/core/LogFileNameBuilderTest.php deleted file mode 100644 index 882b042964..0000000000 --- a/tests/php-unit-tests/unitary-tests/core/LogFileNameBuilderTest.php +++ /dev/null @@ -1,160 +0,0 @@ -getTimestamp()); - clearstatcache(true, $sLogFile); - } - - protected function setUp(): void - { - parent::setUp(); - - $this->RequireOnceItopFile('core/log.class.inc.php'); - } - - protected function tearDown(): void - { - parent::tearDown(); - - // remove log files created in the test - $aTestLogFiles = glob(__DIR__.DIRECTORY_SEPARATOR.self::TEST_LOGFILE_PREFIX.'*.'.self::TEST_LOGFILE_EXTENSION); - foreach ($aTestLogFiles as $sLogFile) { - unlink($sLogFile); - } - } - - public function testCheckAndRotateLogFile() - { - $sLogFile = __DIR__.DIRECTORY_SEPARATOR.self::TEST_LOGFILE_PREFIX.'.'.self::TEST_LOGFILE_EXTENSION; - $oFileBuilder = new DailyRotatingLogFileNameBuilder($sLogFile); - - if (file_exists($sLogFile)) - { - unlink($sLogFile); - } - - $bIsFileExists = $oFileBuilder->IsLogFileExists(); - $this->assertFalse($bIsFileExists, 'Test log file does not exist'); - - $hLogFile = fopen($sLogFile, 'a'); - $sDate = date('Y-m-d H:i:s'); - $sTestClassName = self::class; - fwrite($hLogFile, "$sDate | This is a line generated by $sTestClassName\n"); - fclose($hLogFile); - $iLogDateLastModifiedTimeStamp = filemtime($sLogFile); - $oLogFileLastModified = DateTime::createFromFormat('U', $iLogDateLastModifiedTimeStamp); - - $sRotatedLogFile = $oFileBuilder->GetRotatedFileName($oLogFileLastModified); - $oFileBuilder->CheckAndRotateLogFile(); - $this->assertFileExists($sLogFile, 'Test log file modification date is today, original file still exists after rotation call'); - $this->assertFileNotExists($sRotatedLogFile, 'No rotation occurred yet'); - - $oTimeYesterday = new DateTime('yesterday'); - $sRotatedLogFile = $oFileBuilder->GetRotatedFileName($oTimeYesterday); - $this->ChangeFileModificationDate($sLogFile, $oTimeYesterday); - - // changing modification date, but do not reset cached filebuilder date => no change - $oFileBuilder->CheckAndRotateLogFile(); - $this->assertFileExists($sLogFile, 'Test log file modification date is yesterday but filebuilder use its cache, original file still exists after rotation call'); - $this->assertFileNotExists($sRotatedLogFile, 'No rotation occurred yet'); - - // changing modification date AND resetting filebuilder date cache - $oFileBuilder->ResetLastModifiedDateForFile(); - $oFileBuilder->CheckAndRotateLogFile(); - $this->assertFileNotExists($sLogFile, 'Test log file modification date is yesterday, file rotated !'); - $this->assertFileExists($sRotatedLogFile, 'Rotation was done'); - - // file cleanup will be done in tearDown ! - } - - public function ShouldRotateProvider() - { - return array( - 'DAILY Same day' => array('DailyRotatingLogFileNameBuilder', '2020-02-01 00:00', '2020-02-01 15:42', false), - 'DAILY Same week, different day less 24h diff' => array('DailyRotatingLogFileNameBuilder', '2020-02-01 12:00', '2020-02-02 09:00', true), - 'DAILY Same week, different day' => array('DailyRotatingLogFileNameBuilder', '2020-02-01 00:00', '2020-02-02 00:00', true), - 'DAILY 1 week diff' => array('DailyRotatingLogFileNameBuilder', '2020-02-01 00:00', '2020-02-08 00:00', true), - 'WEEKLY Same week' => array('WeeklyRotatingLogFileNameBuilder', '2020-02-01 00:00', '2020-02-01 00:00', false), - 'WEEKLY 1 week diff, same month' => array('WeeklyRotatingLogFileNameBuilder', '2020-02-01 00:00', '2020-02-08 00:00', true), - 'WEEKLY 2 weeks diff, same month' => array('WeeklyRotatingLogFileNameBuilder', '2020-02-01 00:00', '2020-02-15 00:00', true), - 'WEEKLY 1 week diff, different month' => array('WeeklyRotatingLogFileNameBuilder', '2020-01-27 00:00', '2020-02-03 00:00', true), - 'WEEKLY same week, different month' => array('WeeklyRotatingLogFileNameBuilder', '2020-01-27 00:00', '2020-02-02 00:00', false), - 'WEEKLY 1 week diff, different year' => array('WeeklyRotatingLogFileNameBuilder', '2019-12-30 00:00', '2020-01-06 00:00', true), - 'WEEKLY same week, different year' => array('WeeklyRotatingLogFileNameBuilder', '2019-12-30 00:00', '2020-01-05 00:00', true), - 'MONTHLY same month' => array('MonthlyRotatingLogFileNameBuilder', '2020-02-10 00:00', '2020-02-14 00:00', false), - 'MONTHLY on first day which is a sunday' => array('MonthlyRotatingLogFileNameBuilder', '2020-01-30 00:00', '2020-02-01 00:00', true), - ); - } - - /** - * @param string $sFileNameBuilderClass RotatingLogFileNameBuilder impl - * @param string $sDateModified format Y-m-d H:i - * @param string $sDateNow format Y-m-d H:i - * @param bool $bExpected - * - * @dataProvider ShouldRotateProvider - */ - public function testShouldRotate($sFileNameBuilderClass, $sDateModified, $sDateNow, $bExpected) - { - $oDateModified = DateTime::createFromFormat('Y-m-d H:i', $sDateModified); - $oDateNow = DateTime::createFromFormat('Y-m-d H:i', $sDateNow); - - /** @var \RotatingLogFileNameBuilder $oFileBuilder */ - $oFileBuilder = new $sFileNameBuilderClass(); - $bShouldRotate = $oFileBuilder->ShouldRotate($oDateModified, $oDateNow); - - $this->assertEquals($bExpected, $bShouldRotate); - } - - public function CronNextOccurrenceProvider() - { - return array( - 'DAILY morning' => array('DailyRotatingLogFileNameBuilder', '2020-02-01 05:00', '2020-02-02 00:00'), - 'DAILY midnight' => array('DailyRotatingLogFileNameBuilder', '2020-02-01 00:00', '2020-02-02 00:00'), - 'WEEKLY monday 12:42' => array('WeeklyRotatingLogFileNameBuilder', '2020-02-03 12:42', '2020-02-10 00:00'), - 'WEEKLY monday 00:00' => array('WeeklyRotatingLogFileNameBuilder', '2020-02-03 00:00', '2020-02-10 00:00'), - 'WEEKLY tuesday 12:42' => array('WeeklyRotatingLogFileNameBuilder', '2020-02-04 12:42', '2020-02-10 00:00'), - 'WEEKLY sunday 12:42' => array('WeeklyRotatingLogFileNameBuilder', '2020-02-02 12:42', '2020-02-03 00:00'), - 'MONTHLY 12/02 12:42' => array('MonthlyRotatingLogFileNameBuilder', '2020-02-12 12:42', '2020-03-01 00:00'), - ); - } - - /** - * @param string $sFileNameBuilderClass RotatingLogFileNameBuilder impl - * @param string $sDateNow format Y-m-d H:i - * @param string $sExpectedOccurrence format Y-m-d H:i - * - * @dataProvider CronNextOccurrenceProvider - */ - public function testCronNextOccurrence($sFileNameBuilderClass, $sDateNow, $sExpectedOccurrence) - { - $oDateNow = DateTime::createFromFormat('Y-m-d H:i', $sDateNow); - - /** @var \RotatingLogFileNameBuilder $oFileBuilder */ - $oFileBuilder = new $sFileNameBuilderClass(); - $oActualOccurrence = $oFileBuilder->GetCronProcessNextOccurrence($oDateNow); - $sActualOccurrence = $oActualOccurrence->format('Y-m-d H:i'); - - $this->assertEquals($sExpectedOccurrence, $sActualOccurrence); - } -} \ No newline at end of file diff --git a/tests/php-unit-tests/unitary-tests/core/OQLTest.php b/tests/php-unit-tests/unitary-tests/core/OQLTest.php index 378a4e7283..d6d7674ae1 100644 --- a/tests/php-unit-tests/unitary-tests/core/OQLTest.php +++ b/tests/php-unit-tests/unitary-tests/core/OQLTest.php @@ -317,7 +317,6 @@ class OQLTest extends ItopDataTestCase public function testOQLIntersect($sOQL1, $sOQL2, $sOQLIntersect) { // Check that legacy mode is not set - $this->assertFalse(utils::GetConfig()->Get('use_legacy_dbsearch')); $this->assertFalse(utils::GetConfig()->Get('apc_cache.enabled')); $this->assertFalse(utils::GetConfig()->Get('query_cache_enabled')); $this->assertFalse(utils::GetConfig()->Get('expression_cache_enabled'));