1<?php 2 3class auth_admin_test_AuthInSensitive extends DokuWiki_Auth_Plugin { 4 function isCaseSensitive(){ 5 return false; 6 } 7} 8 9class auth_admin_test extends DokuWikiTest { 10 11 private $oldauth; 12 13 function setUp() { 14 parent::setUp(); 15 global $auth; 16 $this->oldauth = $auth; 17 } 18 19 function setSensitive() { 20 global $auth; 21 $auth = new DokuWiki_Auth_Plugin(); 22 } 23 24 function setInSensitive() { 25 global $auth; 26 $auth = new auth_admin_test_AuthInSensitive(); 27 } 28 29 function teardown() { 30 global $auth; 31 global $AUTH_ACL; 32 unset($AUTH_ACL); 33 $auth = $this->oldauth; 34 } 35 36 function test_ismanager_insensitive(){ 37 $this->setInSensitive(); 38 global $conf; 39 $conf['superuser'] = 'john,@admin,@Mötly Görls, Dörte'; 40 $conf['manager'] = 'john,@managers,doe, @Mötly Böys, Dänny'; 41 42 // anonymous user 43 $this->assertEquals(auth_ismanager('jill', null,false), false); 44 45 // admin or manager users 46 $this->assertEquals(auth_ismanager('john', null,false), true); 47 $this->assertEquals(auth_ismanager('doe', null,false), true); 48 49 $this->assertEquals(auth_ismanager('dörte', null,false), true); 50 $this->assertEquals(auth_ismanager('dänny', null,false), true); 51 52 // admin or manager groups 53 $this->assertEquals(auth_ismanager('jill', array('admin'),false), true); 54 $this->assertEquals(auth_ismanager('jill', array('managers'),false), true); 55 56 $this->assertEquals(auth_ismanager('jill', array('mötly görls'),false), true); 57 $this->assertEquals(auth_ismanager('jill', array('mötly böys'),false), true); 58 } 59 60 function test_isadmin_insensitive(){ 61 $this->setInSensitive(); 62 global $conf; 63 $conf['superuser'] = 'john,@admin,doe,@roots'; 64 65 // anonymous user 66 $this->assertEquals(auth_ismanager('jill', null,true), false); 67 68 // admin user 69 $this->assertEquals(auth_ismanager('john', null,true), true); 70 $this->assertEquals(auth_ismanager('doe', null,true), true); 71 72 // admin groups 73 $this->assertEquals(auth_ismanager('jill', array('admin'),true), true); 74 $this->assertEquals(auth_ismanager('jill', array('roots'),true), true); 75 $this->assertEquals(auth_ismanager('john', array('admin'),true), true); 76 $this->assertEquals(auth_ismanager('doe', array('admin'),true), true); 77 } 78 79 function test_ismanager_sensitive(){ 80 $this->setSensitive(); 81 global $conf; 82 $conf['superuser'] = 'john,@admin,@Mötly Görls, Dörte'; 83 $conf['manager'] = 'john,@managers,doe, @Mötly Böys, Dänny'; 84 85 // anonymous user 86 $this->assertEquals(auth_ismanager('jill', null,false), false); 87 88 // admin or manager users 89 $this->assertEquals(auth_ismanager('john', null,false), true); 90 $this->assertEquals(auth_ismanager('doe', null,false), true); 91 92 $this->assertEquals(auth_ismanager('dörte', null,false), false); 93 $this->assertEquals(auth_ismanager('dänny', null,false), false); 94 95 // admin or manager groups 96 $this->assertEquals(auth_ismanager('jill', array('admin'),false), true); 97 $this->assertEquals(auth_ismanager('jill', array('managers'),false), true); 98 99 $this->assertEquals(auth_ismanager('jill', array('mötly görls'),false), false); 100 $this->assertEquals(auth_ismanager('jill', array('mötly böys'),false), false); 101 } 102 103 function test_isadmin_sensitive(){ 104 $this->setSensitive(); 105 global $conf; 106 $conf['superuser'] = 'john,@admin,doe,@roots'; 107 108 // anonymous user 109 $this->assertEquals(auth_ismanager('jill', null,true), false); 110 111 // admin user 112 $this->assertEquals(auth_ismanager('john', null,true), true); 113 $this->assertEquals(auth_ismanager('Doe', null,true), false); 114 115 // admin groups 116 $this->assertEquals(auth_ismanager('jill', array('admin'),true), true); 117 $this->assertEquals(auth_ismanager('jill', array('roots'),true), true); 118 $this->assertEquals(auth_ismanager('john', array('admin'),true), true); 119 $this->assertEquals(auth_ismanager('doe', array('admin'),true), true); 120 $this->assertEquals(auth_ismanager('Doe', array('admin'),true), true); 121 } 122 123} 124 125//Setup VIM: ex: et ts=4 : 126