mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-09-22 19:16:36 -04:00
Might provide more logs for e.g. https://github.com/FreshRSS/FreshRSS/discussions/9305
39 lines
1018 B
PHP
39 lines
1018 B
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
final class SessionTest extends \PHPUnit\Framework\TestCase {
|
|
|
|
private string $originalSavePath;
|
|
|
|
#[\Override]
|
|
protected function setUp(): void {
|
|
$this->originalSavePath = (string)ini_get('session.save_path');
|
|
}
|
|
|
|
#[\Override]
|
|
protected function tearDown(): void {
|
|
ini_set('session.save_path', $this->originalSavePath);
|
|
}
|
|
|
|
public function testRegenerateIDOnHealthyStorage(): void {
|
|
$previous = $_SESSION ?? [];
|
|
|
|
Minz_Session::regenerateID('FreshRSS');
|
|
|
|
$_SESSION['probe'] = 'ok';
|
|
self::assertSame('ok', $_SESSION['probe']);
|
|
$_SESSION = $previous;
|
|
session_write_close();
|
|
}
|
|
|
|
public function testRegenerateIDOnBrokenStorage(): void {
|
|
$save_path = sys_get_temp_dir() . '/frss_test_sessions_' . bin2hex(random_bytes(4));
|
|
self::assertNotFalse(mkdir($save_path, 0700));
|
|
$broken_path = $save_path . '/missing_subdir';
|
|
ini_set('session.save_path', $broken_path);
|
|
|
|
$this->expectException(RuntimeException::class);
|
|
Minz_Session::regenerateID('FreshRSS');
|
|
}
|
|
}
|