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