require_once 'application/Utils.php';
require_once 'application/Languages.php';
-require_once 'tests/utils/ReferenceSessionIdHashes.php';
-
-// Initialize reference data before PHPUnit starts a session
-ReferenceSessionIdHashes::genAllHashes();
/**
* Unitary tests for Shaarli utilities
*/
-class UtilsTest extends PHPUnit_Framework_TestCase
+class UtilsTest extends \Shaarli\TestCase
{
- // Session ID hashes
- protected static $sidHashes = null;
-
// Log file
protected static $testLogFile = 'tests.log';
*/
protected static $defaultTimeZone;
-
/**
* Assign reference data
*/
- public static function setUpBeforeClass()
+ public static function setUpBeforeClass(): void
{
- self::$sidHashes = ReferenceSessionIdHashes::getHashes();
self::$defaultTimeZone = date_default_timezone_get();
// Timezone without DST for test consistency
date_default_timezone_set('Africa/Nairobi');
/**
* Reset the timezone
*/
- public static function tearDownAfterClass()
+ public static function tearDownAfterClass(): void
{
date_default_timezone_set(self::$defaultTimeZone);
}
/**
* Resets test data before each test
*/
- protected function setUp()
+ protected function setUp(): void
{
if (file_exists(self::$testLogFile)) {
unlink(self::$testLogFile);
/**
* Test generate location with valid data.
*/
- public function testGenerateLocation() {
+ public function testGenerateLocation()
+ {
$ref = 'http://localhost/?test';
$this->assertEquals($ref, generateLocation($ref, 'localhost'));
$ref = 'http://localhost:8080/?test';
/**
* Test generate location - anti loop.
*/
- public function testGenerateLocationLoop() {
+ public function testGenerateLocationLoop()
+ {
$ref = 'http://localhost/?test';
- $this->assertEquals('?', generateLocation($ref, 'localhost', array('test')));
+ $this->assertEquals('./?', generateLocation($ref, 'localhost', array('test')));
}
/**
* Test generate location - from other domain.
*/
- public function testGenerateLocationOut() {
- $ref = 'http://somewebsite.com/?test';
- $this->assertEquals('?', generateLocation($ref, 'localhost'));
- }
-
- /**
- * Test is_session_id_valid with a valid ID - TEST ALL THE HASHES!
- *
- * This tests extensively covers all hash algorithms / bit representations
- */
- public function testIsAnyHashSessionIdValid()
- {
- foreach (self::$sidHashes as $algo => $bpcs) {
- foreach ($bpcs as $bpc => $hash) {
- $this->assertTrue(is_session_id_valid($hash));
- }
- }
- }
-
- /**
- * Test is_session_id_valid with a valid ID - SHA-1 hashes
- */
- public function testIsSha1SessionIdValid()
- {
- $this->assertTrue(is_session_id_valid(sha1('shaarli')));
- }
-
- /**
- * Test is_session_id_valid with a valid ID - SHA-256 hashes
- */
- public function testIsSha256SessionIdValid()
+ public function testGenerateLocationOut()
{
- $this->assertTrue(is_session_id_valid(hash('sha256', 'shaarli')));
+ $ref = 'http://somewebsite.com/?test';
+ $this->assertEquals('./?', generateLocation($ref, 'localhost'));
}
- /**
- * Test is_session_id_valid with a valid ID - SHA-512 hashes
- */
- public function testIsSha512SessionIdValid()
- {
- $this->assertTrue(is_session_id_valid(hash('sha512', 'shaarli')));
- }
- /**
- * Test is_session_id_valid with invalid IDs.
- */
- public function testIsSessionIdInvalid()
- {
- $this->assertFalse(is_session_id_valid(''));
- $this->assertFalse(is_session_id_valid(array()));
- $this->assertFalse(
- is_session_id_valid('c0ZqcWF3VFE2NmJBdm1HMVQ0ZHJ3UmZPbTFsNGhkNHI=')
- );
- }
-
/**
* Test generateSecretApi.
*/