123 lines
4.2 KiB
PHP
123 lines
4.2 KiB
PHP
<?php
|
|
|
|
use dokuwiki\test\mock\AuthPlugin;
|
|
use dokuwiki\test\mock\AuthCaseInsensitivePlugin;
|
|
|
|
class auth_admin_test extends DokuWikiTest {
|
|
|
|
private $oldauth;
|
|
|
|
function setUp() {
|
|
parent::setUp();
|
|
global $auth;
|
|
$this->oldauth = $auth;
|
|
}
|
|
|
|
function setSensitive() {
|
|
global $auth;
|
|
$auth = new AuthPlugin();
|
|
}
|
|
|
|
function setInSensitive() {
|
|
global $auth;
|
|
$auth = new AuthCaseInsensitivePlugin();
|
|
}
|
|
|
|
function teardown() {
|
|
global $auth;
|
|
global $AUTH_ACL;
|
|
unset($AUTH_ACL);
|
|
$auth = $this->oldauth;
|
|
}
|
|
|
|
function test_ismanager_insensitive(){
|
|
$this->setInSensitive();
|
|
global $conf;
|
|
$conf['superuser'] = 'john,@admin,@Mötly Görls, Dörte';
|
|
$conf['manager'] = 'john,@managers,doe, @Mötly Böys, Dänny';
|
|
|
|
// anonymous user
|
|
$this->assertEquals(auth_ismanager('jill', null,false), false);
|
|
|
|
// admin or manager users
|
|
$this->assertEquals(auth_ismanager('john', null,false), true);
|
|
$this->assertEquals(auth_ismanager('doe', null,false), true);
|
|
|
|
$this->assertEquals(auth_ismanager('dörte', null,false), true);
|
|
$this->assertEquals(auth_ismanager('dänny', null,false), true);
|
|
|
|
// admin or manager groups
|
|
$this->assertEquals(auth_ismanager('jill', array('admin'),false), true);
|
|
$this->assertEquals(auth_ismanager('jill', array('managers'),false), true);
|
|
|
|
$this->assertEquals(auth_ismanager('jill', array('mötly görls'),false), true);
|
|
$this->assertEquals(auth_ismanager('jill', array('mötly böys'),false), true);
|
|
}
|
|
|
|
function test_isadmin_insensitive(){
|
|
$this->setInSensitive();
|
|
global $conf;
|
|
$conf['superuser'] = 'john,@admin,doe,@roots';
|
|
|
|
// anonymous user
|
|
$this->assertEquals(auth_ismanager('jill', null,true), false);
|
|
|
|
// admin user
|
|
$this->assertEquals(auth_ismanager('john', null,true), true);
|
|
$this->assertEquals(auth_ismanager('doe', null,true), true);
|
|
|
|
// admin groups
|
|
$this->assertEquals(auth_ismanager('jill', array('admin'),true), true);
|
|
$this->assertEquals(auth_ismanager('jill', array('roots'),true), true);
|
|
$this->assertEquals(auth_ismanager('john', array('admin'),true), true);
|
|
$this->assertEquals(auth_ismanager('doe', array('admin'),true), true);
|
|
}
|
|
|
|
function test_ismanager_sensitive(){
|
|
$this->setSensitive();
|
|
global $conf;
|
|
$conf['superuser'] = 'john,@admin,@Mötly Görls, Dörte';
|
|
$conf['manager'] = 'john,@managers,doe, @Mötly Böys, Dänny';
|
|
|
|
// anonymous user
|
|
$this->assertEquals(auth_ismanager('jill', null,false), false);
|
|
|
|
// admin or manager users
|
|
$this->assertEquals(auth_ismanager('john', null,false), true);
|
|
$this->assertEquals(auth_ismanager('doe', null,false), true);
|
|
|
|
$this->assertEquals(auth_ismanager('dörte', null,false), false);
|
|
$this->assertEquals(auth_ismanager('dänny', null,false), false);
|
|
|
|
// admin or manager groups
|
|
$this->assertEquals(auth_ismanager('jill', array('admin'),false), true);
|
|
$this->assertEquals(auth_ismanager('jill', array('managers'),false), true);
|
|
|
|
$this->assertEquals(auth_ismanager('jill', array('mötly görls'),false), false);
|
|
$this->assertEquals(auth_ismanager('jill', array('mötly böys'),false), false);
|
|
}
|
|
|
|
function test_isadmin_sensitive(){
|
|
$this->setSensitive();
|
|
global $conf;
|
|
$conf['superuser'] = 'john,@admin,doe,@roots';
|
|
|
|
// anonymous user
|
|
$this->assertEquals(auth_ismanager('jill', null,true), false);
|
|
|
|
// admin user
|
|
$this->assertEquals(auth_ismanager('john', null,true), true);
|
|
$this->assertEquals(auth_ismanager('Doe', null,true), false);
|
|
|
|
// admin groups
|
|
$this->assertEquals(auth_ismanager('jill', array('admin'),true), true);
|
|
$this->assertEquals(auth_ismanager('jill', array('roots'),true), true);
|
|
$this->assertEquals(auth_ismanager('john', array('admin'),true), true);
|
|
$this->assertEquals(auth_ismanager('doe', array('admin'),true), true);
|
|
$this->assertEquals(auth_ismanager('Doe', array('admin'),true), true);
|
|
}
|
|
|
|
}
|
|
|
|
//Setup VIM: ex: et ts=4 :
|