diff options
Diffstat (limited to '_test/tests/inc/auth_admincheck.test.php')
-rw-r--r-- | _test/tests/inc/auth_admincheck.test.php | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/_test/tests/inc/auth_admincheck.test.php b/_test/tests/inc/auth_admincheck.test.php new file mode 100644 index 000000000..d88399cbe --- /dev/null +++ b/_test/tests/inc/auth_admincheck.test.php @@ -0,0 +1,126 @@ +<?php + +class auth_admin_test_AuthInSensitive extends auth_basic { + function isCaseSensitive(){ + return false; + } +} + +class auth_admin_test extends DokuWikiTest { + + private $oldauth; + + function setup() { + global $auth; + $this->oldauth = $auth; + } + + function setSensitive() { + global $auth; + $auth = new auth_basic(); + } + + function setInSensitive() { + global $auth; + $auth = new auth_admin_test_AuthInSensitive(); + } + + function teardown() { + global $auth; + global $conf; + global $AUTH_ACL; + unset($conf); + 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 : |