Files
FreshRSS/tests/app/Models/LogDAOTest.php
Alexandre Alapetite f3760f138d Complete PHPStan Level 6 (#5305)
* Complete PHPStan Level 6
Fix https://github.com/FreshRSS/FreshRSS/issues/4112
And initiate PHPStan Level 7

* PHPStan Level 6 for tests
* Use phpstan/phpstan-phpunit
* Update to PHPStan version 1.10

* Fix mixed bug

* Fix mixed return bug

* Fix paginator bug

* Fix FreshRSS_UserConfiguration

* A couple more Minz_Configuration bug fixes

* A few trivial PHPStan Level 7 fixes

* A few more simple PHPStan Level 7

* More files passing PHPStan Level 7
Add interface to replace removed class from https://github.com/FreshRSS/FreshRSS/pull/5251

* A few more PHPStan Level 7 preparations

* A few last details
2023-04-17 08:30:21 +02:00

46 lines
1.3 KiB
PHP

<?php
declare(strict_types=1);
use PHPUnit\Framework\TestCase;
class LogDAOTest extends TestCase {
private const LOG_FILE_TEST = 'logFileTest.txt';
/** @var FreshRSS_LogDAO */
private $logDAO;
/** @var string */
private $logPath;
protected function setUp(): void {
$this->logDAO = new FreshRSS_LogDAO();
$this->logPath = FreshRSS_LogDAO::logPath(self::LOG_FILE_TEST);
file_put_contents(
$this->logPath,
'[Wed, 08 Feb 2023 15:35:05 +0000] [notice] --- Migration 2019_12_22_FooBar: OK'
);
}
public function test_lines_is_array_and_truncate_function_work(): void {
$this->assertEquals(USERS_PATH . '/' . Minz_User::INTERNAL_USER . '/' . self::LOG_FILE_TEST, $this->logPath);
$line = $this->logDAO::lines(self::LOG_FILE_TEST);
$this->assertIsArray($line);
$this->assertCount(1, $line);
$this->assertInstanceOf(FreshRSS_Log::class, $line[0]);
$this->assertEquals('Wed, 08 Feb 2023 15:35:05 +0000', $line[0]->date());
$this->assertEquals('notice', $line[0]->level());
$this->assertEquals("Migration 2019_12_22_FooBar: OK", $line[0]->info());
$this->logDAO::truncate(self::LOG_FILE_TEST);
$this->assertStringContainsString('', file_get_contents($this->logPath) ?: '');
}
protected function tearDown(): void {
unlink($this->logPath);
}
}