59 lines
1.2 KiB
PHP
59 lines
1.2 KiB
PHP
|
<?php
|
||
|
|
||
|
if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) {
|
||
|
print "This script must be run from the command line\n";
|
||
|
exit();
|
||
|
}
|
||
|
|
||
|
define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
|
||
|
define('STATUSNET', true);
|
||
|
|
||
|
require_once INSTALLDIR . '/lib/common.php';
|
||
|
|
||
|
class UserRightsTest extends PHPUnit_Framework_TestCase
|
||
|
{
|
||
|
protected $user = null;
|
||
|
|
||
|
function setUp()
|
||
|
{
|
||
|
$this->user = User::register(array('nickname' => 'userrightstestuser'));
|
||
|
}
|
||
|
|
||
|
function tearDown()
|
||
|
{
|
||
|
$profile = $this->user->getProfile();
|
||
|
$this->user->delete();
|
||
|
$profile->delete();
|
||
|
}
|
||
|
|
||
|
function testInvalidRole()
|
||
|
{
|
||
|
$this->assertFalse($this->user->hasRole('invalidrole'));
|
||
|
}
|
||
|
|
||
|
function standardRoles()
|
||
|
{
|
||
|
return array('admin', 'moderator');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @dataProvider standardRoles
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
function testUngrantedRole($role)
|
||
|
{
|
||
|
$this->assertFalse($this->user->hasRole($role));
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @dataProvider standardRoles
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
function testGrantedRole($role)
|
||
|
{
|
||
|
$this->user->grantRole($role);
|
||
|
$this->assertFalse($this->user->hasRole($role));
|
||
|
}
|
||
|
}
|