93a6ed3dab
instanceid is generated by uniqid() and then used as the session_name. Because session_name requires at least one letter and uniqid() does not guarantee to provide that, in the case that uniqid() generates a string of only digits, the user will be stuck in an infinite login loop because every request will generate a new PHP session.
62 lines
1.8 KiB
PHP
62 lines
1.8 KiB
PHP
<?php
|
|
/**
|
|
* Copyright (c) 2012 Lukas Reschke <lukas@statuscode.ch>
|
|
* This file is licensed under the Affero General Public License version 3 or
|
|
* later.
|
|
* See the COPYING-README file.
|
|
*/
|
|
|
|
class Test_Util extends PHPUnit_Framework_TestCase {
|
|
|
|
// Constructor
|
|
function Test_Util() {
|
|
date_default_timezone_set("UTC");
|
|
}
|
|
|
|
function testFormatDate() {
|
|
$result = OC_Util::formatDate(1350129205);
|
|
$expected = 'October 13, 2012 11:53';
|
|
$this->assertEquals($expected, $result);
|
|
|
|
$result = OC_Util::formatDate(1102831200, true);
|
|
$expected = 'December 12, 2004';
|
|
$this->assertEquals($expected, $result);
|
|
}
|
|
|
|
function testCallRegister() {
|
|
$result = strlen(OC_Util::callRegister());
|
|
$this->assertEquals(20, $result);
|
|
}
|
|
|
|
function testSanitizeHTML() {
|
|
$badString = "<script>alert('Hacked!');</script>";
|
|
$result = OC_Util::sanitizeHTML($badString);
|
|
$this->assertEquals("<script>alert('Hacked!');</script>", $result);
|
|
|
|
$goodString = "This is an harmless string.";
|
|
$result = OC_Util::sanitizeHTML($goodString);
|
|
$this->assertEquals("This is an harmless string.", $result);
|
|
}
|
|
|
|
function testGenerate_random_bytes() {
|
|
$result = strlen(OC_Util::generate_random_bytes(59));
|
|
$this->assertEquals(59, $result);
|
|
}
|
|
|
|
function testGetDefaultEmailAddress() {
|
|
$email = \OCP\Util::getDefaultEmailAddress("no-reply");
|
|
$this->assertEquals('no-reply@localhost.localdomain', $email);
|
|
}
|
|
|
|
function testGetDefaultEmailAddressFromConfig() {
|
|
OC_Config::setValue('mail_domain', 'example.com');
|
|
$email = \OCP\Util::getDefaultEmailAddress("no-reply");
|
|
$this->assertEquals('no-reply@example.com', $email);
|
|
OC_Config::deleteKey('mail_domain');
|
|
}
|
|
|
|
function testGetInstanceIdGeneratesValidId() {
|
|
OC_Config::deleteKey('instanceid');
|
|
$this->assertStringStartsWith('oc', OC_Util::getInstanceId());
|
|
}
|
|
}
|