LogDAOTest.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. declare(strict_types=1);
  3. use PHPUnit\Framework\TestCase;
  4. class LogDAOTest extends TestCase {
  5. private const LOG_FILE_TEST = 'logFileTest.txt';
  6. /** @var FreshRSS_LogDAO */
  7. private $logDAO;
  8. /** @var string */
  9. private $logPath;
  10. protected function setUp(): void {
  11. $this->logDAO = new FreshRSS_LogDAO();
  12. $this->logPath = FreshRSS_LogDAO::logPath(self::LOG_FILE_TEST);
  13. file_put_contents(
  14. $this->logPath,
  15. '[Wed, 08 Feb 2023 15:35:05 +0000] [notice] --- Migration 2019_12_22_FooBar: OK'
  16. );
  17. }
  18. public function test_lines_is_array_and_truncate_function_work(): void {
  19. self::assertEquals(USERS_PATH . '/' . Minz_User::INTERNAL_USER . '/' . self::LOG_FILE_TEST, $this->logPath);
  20. $line = $this->logDAO::lines(self::LOG_FILE_TEST);
  21. self::assertIsArray($line);
  22. self::assertCount(1, $line);
  23. self::assertInstanceOf(FreshRSS_Log::class, $line[0]);
  24. self::assertEquals('Wed, 08 Feb 2023 15:35:05 +0000', $line[0]->date());
  25. self::assertEquals('notice', $line[0]->level());
  26. self::assertEquals("Migration 2019_12_22_FooBar: OK", $line[0]->info());
  27. $this->logDAO::truncate(self::LOG_FILE_TEST);
  28. self::assertStringContainsString('', file_get_contents($this->logPath) ?: '');
  29. }
  30. protected function tearDown(): void {
  31. unlink($this->logPath);
  32. }
  33. }