aboutsummaryrefslogtreecommitdiffstats
path: root/tests/phpunit/includes/UserTest.php
diff options
context:
space:
mode:
authorTim Starling <tstarling@users.mediawiki.org>2011-12-12 06:03:01 +0000
committerTim Starling <tstarling@users.mediawiki.org>2011-12-12 06:03:01 +0000
commit3da36a9103bafe8963686764c7a837805c9b2339 (patch)
tree173ac284e6e20ad8b0f8dbf4bef6add3ab4e5719 /tests/phpunit/includes/UserTest.php
parentd319d386604be267ba439efba6c5c7cddf00a7e0 (diff)
downloadmediawikicore-3da36a9103bafe8963686764c7a837805c9b2339.tar.gz
mediawikicore-3da36a9103bafe8963686764c7a837805c9b2339.zip
Reverted r92364 (per-namespace permissions).
This is the wrong configuration format for such a feature, and the wrong interface. We already have certain per-namespace permissions in the Title class, and we didn't need to add extra formal parameters to a whole lot of User methods in order to get them. The feature should be implemented wholly in Title, and the concept of user rights should remain relatively simple and easy to understand, and independent of its many applications, i.e. a user either has a right or doesn't. Rights are just a tool for developing access policies; the complexity should be in the caller. The revert was mostly done by hand, since there were a lot of conflicts. I tried to preserve the gist of conflicting changes in r102187 and r102873. The test changes are not simple reverts, rather I just edited out the per-namespace tests. I reverted the followups r92589 and r104310.
Notes
Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/105851
Diffstat (limited to 'tests/phpunit/includes/UserTest.php')
-rw-r--r--tests/phpunit/includes/UserTest.php68
1 files changed, 7 insertions, 61 deletions
diff --git a/tests/phpunit/includes/UserTest.php b/tests/phpunit/includes/UserTest.php
index 19b72f82d215..909c0f958ecb 100644
--- a/tests/phpunit/includes/UserTest.php
+++ b/tests/phpunit/includes/UserTest.php
@@ -38,13 +38,6 @@ class UserTest extends MediaWikiTestCase {
$wgRevokePermissions['formertesters'] = array(
'runtest' => true,
);
-
- # Data for namespace based $wgGroupPermissions test
- $wgGroupPermissions['unittesters']['writedocumentation'] = array(
- NS_MAIN => false, NS_UNITTEST => true,
- );
- $wgGroupPermissions['testwriters']['writedocumentation'] = true;
-
}
private function setUpUser() {
$this->user = new User;
@@ -79,88 +72,41 @@ class UserTest extends MediaWikiTestCase {
$this->assertNotContains( 'nukeworld', $rights );
}
- public function testNamespaceGroupPermissions() {
- $rights = User::getGroupPermissions( array( 'unittesters' ) );
- $this->assertNotContains( 'writedocumentation', $rights );
-
- $rights = User::getGroupPermissions( array( 'unittesters' ) , NS_MAIN );
- $this->assertNotContains( 'writedocumentation', $rights );
- $this->assertNotContains( 'modifytest', $rights );
-
- $rights = User::getGroupPermissions( array( 'unittesters' ), NS_HELP );
- $this->assertNotContains( 'writedocumentation', $rights );
- $this->assertNotContains( 'modifytest', $rights );
-
- $rights = User::getGroupPermissions( array( 'unittesters' ), NS_UNITTEST );
- $this->assertContains( 'writedocumentation', $rights );
-
- $rights = User::getGroupPermissions(
- array( 'unittesters', 'testwriters' ), NS_MAIN );
- $this->assertContains( 'writedocumentation', $rights );
- }
-
public function testUserPermissions() {
$rights = $this->user->getRights();
$this->assertContains( 'runtest', $rights );
$this->assertNotContains( 'writetest', $rights );
$this->assertNotContains( 'modifytest', $rights );
$this->assertNotContains( 'nukeworld', $rights );
- $this->assertNotContains( 'writedocumentation', $rights );
-
- $rights = $this->user->getRights( NS_MAIN );
- $this->assertNotContains( 'writedocumentation', $rights );
- $this->assertNotContains( 'modifytest', $rights );
-
- $rights = $this->user->getRights( NS_HELP );
- $this->assertNotContains( 'writedocumentation', $rights );
- $this->assertNotContains( 'modifytest', $rights );
-
- $rights = $this->user->getRights( NS_UNITTEST );
- $this->assertContains( 'writedocumentation', $rights );
}
/**
* @dataProvider provideGetGroupsWithPermission
*/
- public function testGetGroupsWithPermission( $expected, $right, $ns ) {
- $result = User::getGroupsWithPermission( $right, $ns );
+ public function testGetGroupsWithPermission( $expected, $right ) {
+ $result = User::getGroupsWithPermission( $right );
sort( $result );
sort( $expected );
- $this->assertEquals( $expected, $result, "Groups with permission $right" .
- ( is_null( $ns ) ? '' : "in namespace $ns" ) );
+ $this->assertEquals( $expected, $result, "Groups with permission $right" );
}
public function provideGetGroupsWithPermission() {
return array(
array(
array( 'unittesters', 'testwriters' ),
- 'test',
- null
+ 'test'
),
array(
array( 'unittesters' ),
- 'runtest',
- null
+ 'runtest'
),
array(
array( 'testwriters' ),
- 'writetest',
- null
+ 'writetest'
),
array(
array( 'testwriters' ),
- 'modifytest',
- null
- ),
- array(
- array( 'testwriters' ),
- 'writedocumentation',
- NS_MAIN
- ),
- array(
- array( 'unittesters', 'testwriters' ),
- 'writedocumentation',
- NS_UNITTEST
+ 'modifytest'
),
);
}