Relates to https://github.com/shaarli/Shaarli/pull/1005
Changed:
- pass a copy of the ConfigManager instance instead of a reference
- move FakeConfigManager to a dedicated file
- update tests
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
* Constructor
*
* @param array $session The $_SESSION array (reference)
* Constructor
*
* @param array $session The $_SESSION array (reference)
- * @param ConfigManager $conf ConfigManager instance (reference)
+ * @param ConfigManager $conf ConfigManager instance
- public function __construct(& $session, & $conf)
+ public function __construct(& $session, $conf)
{
$this->session = &$session;
{
$this->session = &$session;
+require_once 'tests/utils/FakeConfigManager.php';
+
// Initialize reference data _before_ PHPUnit starts a session
require_once 'tests/utils/ReferenceSessionIdHashes.php';
ReferenceSessionIdHashes::genAllHashes();
// Initialize reference data _before_ PHPUnit starts a session
require_once 'tests/utils/ReferenceSessionIdHashes.php';
ReferenceSessionIdHashes::genAllHashes();
use \PHPUnit\Framework\TestCase;
use \PHPUnit\Framework\TestCase;
-/**
- * Fake ConfigManager
- */
-class FakeConfigManager
-{
- public static function get($key)
- {
- return $key;
- }
-}
-
-
/**
* Test coverage for SessionManager
*/
/**
* Test coverage for SessionManager
*/
// Session ID hashes
protected static $sidHashes = null;
// Session ID hashes
protected static $sidHashes = null;
+ // Fake ConfigManager
+ protected static $conf = null;
+
/**
* Assign reference data
*/
public static function setUpBeforeClass()
{
self::$sidHashes = ReferenceSessionIdHashes::getHashes();
/**
* Assign reference data
*/
public static function setUpBeforeClass()
{
self::$sidHashes = ReferenceSessionIdHashes::getHashes();
+ self::$conf = new FakeConfigManager();
public function testGenerateToken()
{
$session = [];
public function testGenerateToken()
{
$session = [];
- $conf = new FakeConfigManager();
- $sessionManager = new SessionManager($session, $conf);
+ $sessionManager = new SessionManager($session, self::$conf);
$token = $sessionManager->generateToken();
$token = $sessionManager->generateToken();
- $conf = new FakeConfigManager();
- $sessionManager = new SessionManager($session, $conf);
-
+ $sessionManager = new SessionManager($session, self::$conf);
// check and destroy the token
$this->assertTrue($sessionManager->checkToken($token));
// check and destroy the token
$this->assertTrue($sessionManager->checkToken($token));
public function testGenerateAndCheckToken()
{
$session = [];
public function testGenerateAndCheckToken()
{
$session = [];
- $conf = new FakeConfigManager();
- $sessionManager = new SessionManager($session, $conf);
+ $sessionManager = new SessionManager($session, self::$conf);
$token = $sessionManager->generateToken();
$token = $sessionManager->generateToken();
public function testCheckInvalidToken()
{
$session = [];
public function testCheckInvalidToken()
{
$session = [];
- $conf = new FakeConfigManager();
- $sessionManager = new SessionManager($session, $conf);
+ $sessionManager = new SessionManager($session, self::$conf);
$this->assertFalse($sessionManager->checkToken('4dccc3a45ad9d03e5542b90c37d8db6d10f2b38b'));
}
$this->assertFalse($sessionManager->checkToken('4dccc3a45ad9d03e5542b90c37d8db6d10f2b38b'));
}
--- /dev/null
+<?php
+
+/**
+ * Fake ConfigManager
+ */
+class FakeConfigManager
+{
+ public static function get($key)
+ {
+ return $key;
+ }
+}