diff options
author | Petr Pchelko <ppchelko@wikimedia.org> | 2019-08-20 19:21:13 -0700 |
---|---|---|
committer | Petr Pchelko <ppchelko@wikimedia.org> | 2019-08-20 19:43:54 -0700 |
commit | 5bebae7f96d367f23909c3a7a2dacf1172ac7d98 (patch) | |
tree | 3f5609821d62e4cad0bed1b90629782024d19861 | |
parent | 6c07a09f462147b35e8c76701b5dc6b6140310c8 (diff) | |
download | mediawikicore-5bebae7f96d367f23909c3a7a2dacf1172ac7d98.tar.gz mediawikicore-5bebae7f96d367f23909c3a7a2dacf1172ac7d98.zip |
Remove usages of deprecated User::getRights.
Bug: T220191
Change-Id: Ia7472cf61765fe5fee9ae72cfa9b7060565dbe87
-rw-r--r-- | includes/api/ApiQueryUserInfo.php | 3 | ||||
-rw-r--r-- | includes/api/ApiQueryUsers.php | 3 | ||||
-rw-r--r-- | tests/phpunit/includes/Permissions/PermissionManagerTest.php | 13 | ||||
-rw-r--r-- | tests/phpunit/includes/api/ApiTokensTest.php | 6 | ||||
-rw-r--r-- | tests/phpunit/includes/user/UserTest.php | 2 |
5 files changed, 18 insertions, 9 deletions
diff --git a/includes/api/ApiQueryUserInfo.php b/includes/api/ApiQueryUserInfo.php index ba7280da105c..5edf83eda2eb 100644 --- a/includes/api/ApiQueryUserInfo.php +++ b/includes/api/ApiQueryUserInfo.php @@ -159,8 +159,7 @@ class ApiQueryUserInfo extends ApiQueryBase { } if ( isset( $this->prop['rights'] ) ) { - // User::getRights() may return duplicate values, strip them - $vals['rights'] = array_values( array_unique( $user->getRights() ) ); + $vals['rights'] = $this->getPermissionManager()->getUserPermissions( $user ); ApiResult::setArrayType( $vals['rights'], 'array' ); // even if empty ApiResult::setIndexedTagName( $vals['rights'], 'r' ); // even if empty } diff --git a/includes/api/ApiQueryUsers.php b/includes/api/ApiQueryUsers.php index 66d8db4987b1..8e26d37e0889 100644 --- a/includes/api/ApiQueryUsers.php +++ b/includes/api/ApiQueryUsers.php @@ -225,7 +225,8 @@ class ApiQueryUsers extends ApiQueryBase { } if ( isset( $this->prop['rights'] ) ) { - $data[$key]['rights'] = $user->getRights(); + $data[$key]['rights'] = $this->getPermissionManager() + ->getUserPermissions( $user ); } if ( $row->ipb_deleted ) { $data[$key]['hidden'] = true; diff --git a/tests/phpunit/includes/Permissions/PermissionManagerTest.php b/tests/phpunit/includes/Permissions/PermissionManagerTest.php index 8108639f21a0..86942fd8d1ce 100644 --- a/tests/phpunit/includes/Permissions/PermissionManagerTest.php +++ b/tests/phpunit/includes/Permissions/PermissionManagerTest.php @@ -1548,7 +1548,8 @@ class PermissionManagerTest extends MediaWikiLangTestCase { $user = $this->getTestUser( [ 'unittesters', 'testwriters' ] )->getUser(); $userWrapper = TestingAccessWrapper::newFromObject( $user ); - $rights = MediaWikiServices::getInstance()->getPermissionManager() + $rights = MediaWikiServices::getInstance() + ->getPermissionManager() ->getUserPermissions( $user ); $this->assertContains( 'test', $rights, 'sanity check' ); $this->assertContains( 'runtest', $rights, 'sanity check' ); @@ -1556,13 +1557,14 @@ class PermissionManagerTest extends MediaWikiLangTestCase { $this->assertNotContains( 'nukeworld', $rights, 'sanity check' ); // Add a hook manipluating the rights - $this->mergeMwGlobalArrayValue( 'wgHooks', [ 'UserGetRights' => [ function ( $user, &$rights ) { + $this->setTemporaryHook( 'UserGetRights', function ( $user, &$rights ) { $rights[] = 'nukeworld'; $rights = array_diff( $rights, [ 'writetest' ] ); - } ] ] ); + } ); $this->resetServices(); - $rights = MediaWikiServices::getInstance()->getPermissionManager() + $rights = MediaWikiServices::getInstance() + ->getPermissionManager() ->getUserPermissions( $user ); $this->assertContains( 'test', $rights ); $this->assertContains( 'runtest', $rights ); @@ -1585,7 +1587,8 @@ class PermissionManagerTest extends MediaWikiLangTestCase { $userWrapper->mRequest = $mockRequest; $this->resetServices(); - $rights = MediaWikiServices::getInstance()->getPermissionManager() + $rights = MediaWikiServices::getInstance() + ->getPermissionManager() ->getUserPermissions( $user ); $this->assertContains( 'test', $rights ); $this->assertNotContains( 'runtest', $rights ); diff --git a/tests/phpunit/includes/api/ApiTokensTest.php b/tests/phpunit/includes/api/ApiTokensTest.php index 1f7c00b0a88e..b4144fdd9c09 100644 --- a/tests/phpunit/includes/api/ApiTokensTest.php +++ b/tests/phpunit/includes/api/ApiTokensTest.php @@ -1,5 +1,7 @@ <?php +use MediaWiki\MediaWikiServices; + /** * @group API * @group Database @@ -18,7 +20,9 @@ class ApiTokensTest extends ApiTestCase { protected function runTokenTest( TestUser $user ) { $tokens = $this->getTokenList( $user ); - $rights = $user->getUser()->getRights(); + $rights = MediaWikiServices::getInstance() + ->getPermissionManager() + ->getUserPermissions( $user->getUser() ); $this->assertArrayHasKey( 'edittoken', $tokens ); $this->assertArrayHasKey( 'movetoken', $tokens ); diff --git a/tests/phpunit/includes/user/UserTest.php b/tests/phpunit/includes/user/UserTest.php index 62e8e2364d62..f48385d17ab6 100644 --- a/tests/phpunit/includes/user/UserTest.php +++ b/tests/phpunit/includes/user/UserTest.php @@ -105,6 +105,7 @@ class UserTest extends MediaWikiTestCase { } /** + * TODO: Remove. This is the same as PermissionManagerTest::testGetUserPermissions * @covers User::getRights */ public function testUserPermissions() { @@ -116,6 +117,7 @@ class UserTest extends MediaWikiTestCase { } /** + * TODO: Remove. This is the same as PermissionManagerTest::testGetUserPermissionsHooks * @covers User::getRights */ public function testUserGetRightsHooks() { |