4 use \PHPUnit\Framework\TestCase
;
9 class FakeConfigManager
11 public static function get($key)
19 * Test coverage for SessionManager
21 class SessionManagerTest
extends TestCase
24 * Generate a session token
26 public function testGenerateToken()
29 $conf = new FakeConfigManager();
30 $sessionManager = new SessionManager($session, $conf);
32 $token = $sessionManager->generateToken();
34 $this->assertEquals(1, $session['tokens'][$token]);
35 $this->assertEquals(40, strlen($token));
39 * Generate and check a session token
41 public function testGenerateAndCheckToken()
44 $conf = new FakeConfigManager();
45 $sessionManager = new SessionManager($session, $conf);
47 $token = $sessionManager->generateToken();
49 // ensure a token has been generated
50 $this->assertEquals(1, $session['tokens'][$token]);
51 $this->assertEquals(40, strlen($token));
53 // check and destroy the token
54 $this->assertTrue($sessionManager->checkToken($token));
55 $this->assertFalse(isset($session['tokens'][$token]));
57 // ensure the token has been destroyed
58 $this->assertFalse($sessionManager->checkToken($token));
62 * Check an invalid session token
64 public function testCheckInvalidToken()
67 $conf = new FakeConfigManager();
68 $sessionManager = new SessionManager($session, $conf);
70 $this->assertFalse($sessionManager->checkToken('4dccc3a45ad9d03e5542b90c37d8db6d10f2b38b'));