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