%PDF- %PDF-
Direktori : /www/varak.net/dmarc.varak.net/tests/classes/ |
Current File : /www/varak.net/dmarc.varak.net/tests/classes/SessionTest.php |
<?php namespace Liuch\DmarcSrg; use Liuch\DmarcSrg\Exception\LogicException; class SessionTest extends \PHPUnit\Framework\TestCase { private $sess = null; public function setUp(): void { $_SERVER['REQUEST_URI'] = '/'; \session_start(); \session_unset(); \session_destroy(); \session_write_close(); $this->sess = new Session(); } public function tearDown(): void { $this->sess->destroy(); } public function testGetDataWhenSessionDoesNotExist(): void { $this->assertSame([], $this->sess->getData()); } public function testSetAndGetDataWhenSessionDoesNotExist(): void { $this->sess->setData([ 'user' => 1 ]); $this->assertSame([ 'user' => 1 ], $this->sess->getData()); } public function testSetAndGetDataWhenSessionExistsButNotStarted(): void { $this->sess->setData([]); $this->sess->commit(); $this->sess->setData([ 'user' => 1 ]); $this->assertSame([ 'user' => 1 ], $this->sess->getData()); } public function testSetAndGetDataWhenSessionStarted(): void { $this->sess->getData(); $this->sess->setData([ 'user' => 1 ]); $this->assertSame([ 'user' => 1 ], $this->sess->getData()); } public function testCommitWhenSessionIsNotStarted(): void { $this->sess->setData([ 'user' => 1 ]); $this->sess->commit(); $this->sess->commit(); $this->assertSame([ 'user' => 1 ], $this->sess->getData()); } public function testCommitWhenSessionIsStarted(): void { $this->sess->setData([ 'user' => 1 ]); $this->sess->commit(); $this->assertSame([ 'user' => 1 ], $this->sess->getData()); } public function testCloseWhenSessionIsNotStarted(): void { $this->sess->setData([ 'user' => 1 ]); $this->sess->commit(); $this->sess->close(); $this->assertSame([ 'user' => 1 ], $this->sess->getData()); } public function testCloseWhenSessionIsStarted(): void { $this->sess->setData([ 'user' => 1 ]); $this->sess->commit(); $this->sess->setData([ 'user' => 2 ]); $this->sess->close(); $this->assertSame([ 'user' => 1 ], $this->sess->getData()); } public function testDestroyWhenSessionIsNotStarted(): void { $this->sess->setData([ 'user' => 1 ]); $id = \session_id(); $this->sess->commit(); $this->sess->destroy(); $this->assertSame([], $this->sess->getData()); $this->assertNotSame($id, \session_id()); } public function testDestroyWhenSessionIsStarted(): void { $this->sess->setData([ 'user' => 1 ]); $id = \session_id(); $this->sess->commit(); $this->sess->getData(); $this->sess->destroy(); $this->assertSame([], $this->sess->getData()); $this->assertNotSame($id, \session_id()); } public function testStrictModeActivated(): void { $fake_id = 'myfakesessionid00000000000000000'; \session_id($fake_id); $this->sess->getData(); $this->assertNotSame($fake_id, \session_id()); } }