MediaWiki  master
ApiUserrightsTest Class Reference

API Database medium. More...

Inheritance diagram for ApiUserrightsTest:
Collaboration diagram for ApiUserrightsTest:

Public Member Functions

 addAndRemoveGroupsProvider ()
 
 testAdd ()
 
 testAddAndRemoveGroups (array $permissions=null, array $groupsToChange, array $expectedGroups)
 Tests adding and removing various groups with various permissions. More...
 
 testAddMultiple ()
 
 testBlockedWithoutUserrights ()
 
 testBlockedWithUserrights ()
 
 testCanProcessExpiries ()
 
 testInvalidExpiry ()
 
 testMultipleInvalidExpiries ()
 
 testNonexistentUser ()
 
 testTooFewExpiries ()
 
 testTooManyExpiries ()
 
 testWebToken ()
 
 testWithoutTagPermission ()
 
 testWithTag ()
 
- Public Member Functions inherited from ApiTestCase
 testApiTestGroup ()
 

Protected Member Functions

 doFailedRightsChange ( $expectedException, array $params=[], User $user=null)
 Perform an API userrights request that's expected to fail. More...
 
 doSuccessfulRightsChange ( $expectedGroups='sysop', array $params=[], User $user=null)
 Perform an API userrights request that's expected to be successful. More...
 
 setPermissions ( $add=[], $remove=[])
 Unsets $wgGroupPermissions['bureaucrat']['userrights'], and sets $wgAddGroups['bureaucrat'] and $wgRemoveGroups['bureaucrat'] to the specified values. More...
 
 setUp ()
 
- Protected Member Functions inherited from ApiTestCase
 doApiRequest (array $params, array $session=null, $appendModule=false, User $user=null, $tokenType=null)
 Does the API request and returns the result. More...
 
 doApiRequestWithToken (array $params, array $session=null, User $user=null, $tokenType='auto')
 Convenience function to access the token parameter of doApiRequest() more succinctly. More...
 
 doLogin ( $testUser=null)
 Previously this would do API requests to log in, as well as setting $wgUser and the request context's user. More...
 
 getTokenList (TestUser $user, $session=null)
 
 setExpectedApiException ( $msg, $code=null, array $data=null, $httpCode=0)
 Expect an ApiUsageException to be thrown with the given parameters, which are the same as ApiUsageException::newWithMessage()'s parameters. More...
 
 setUp ()
 
 tearDown ()
 
- Protected Member Functions inherited from MediaWikiLangTestCase
 setUp ()
 

Private Member Functions

 getMockForProcessingExpiries ( $canProcessExpiries)
 Helper for testCanProcessExpiries that returns a mock ApiUserrights that either can or cannot process expiries. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ApiTestCase
static apiExceptionHasCode (ApiUsageException $ex, $code)
 
- Static Protected Member Functions inherited from ApiTestCase
static getErrorFormatter ()
 
- Protected Attributes inherited from ApiTestCase
ApiTestContext $apiContext
 
- Static Protected Attributes inherited from ApiTestCase
static $apiUrl
 
static $errorFormatter = null
 

Detailed Description

API Database medium.

ApiUserrights

Definition at line 13 of file ApiUserrightsTest.php.

Member Function Documentation

◆ addAndRemoveGroupsProvider()

ApiUserrightsTest::addAndRemoveGroupsProvider ( )

Definition at line 328 of file ApiUserrightsTest.php.

References null, and true.

◆ doFailedRightsChange()

ApiUserrightsTest::doFailedRightsChange (   $expectedException,
array  $params = [],
User  $user = null 
)
protected

Perform an API userrights request that's expected to fail.

Parameters
string$expectedExceptionExpected exception text
array$paramsAs for doSuccessfulRightsChange()
User | null$userAs for doSuccessfulRightsChange(). If there's no user who will possibly be affected (such as if an invalid username is provided in $params), pass null.

Definition at line 96 of file ApiUserrightsTest.php.

References $params, $user, class, ApiTestCase\doApiRequestWithToken(), and TestUserRegistry\isMutable().

Referenced by testBlockedWithoutUserrights(), testInvalidExpiry(), testMultipleInvalidExpiries(), testNonexistentUser(), testTooFewExpiries(), testTooManyExpiries(), and testWithoutTagPermission().

◆ doSuccessfulRightsChange()

ApiUserrightsTest::doSuccessfulRightsChange (   $expectedGroups = 'sysop',
array  $params = [],
User  $user = null 
)
protected

Perform an API userrights request that's expected to be successful.

Parameters
array | string$expectedGroupsGroup(s) that the user is expected to have after the API request
array$paramsArray to pass to doApiRequestWithToken(). 'action' => 'userrights' is implicit. If no 'user' or 'userid' is specified, we add a 'user' parameter. If no 'add' or 'remove' is specified, we add 'add' => 'sysop'.
User | null$userThe user that we're modifying. The user must be mutable, because we're going to change its groups! null means that we'll make up our own user to modify, and doesn't make sense if 'user' or 'userid' is specified in $params.

Definition at line 58 of file ApiUserrightsTest.php.

References $params, $res, $user, ApiTestCase\doApiRequestWithToken(), and TestUserRegistry\isMutable().

Referenced by testAdd(), testAddAndRemoveGroups(), testAddMultiple(), testBlockedWithUserrights(), and testWithTag().

◆ getMockForProcessingExpiries()

ApiUserrightsTest::getMockForProcessingExpiries (   $canProcessExpiries)
private

Helper for testCanProcessExpiries that returns a mock ApiUserrights that either can or cannot process expiries.

Although the regular page can process expiries, we use a mock here to ensure that it's the result of canProcessExpiries() that makes a difference, and not some error in the way we construct the mock.

Parameters
bool$canProcessExpiries

Definition at line 266 of file ApiUserrightsTest.php.

References $user, and class.

Referenced by testCanProcessExpiries().

◆ setPermissions()

ApiUserrightsTest::setPermissions (   $add = [],
  $remove = [] 
)
protected

Unsets $wgGroupPermissions['bureaucrat']['userrights'], and sets $wgAddGroups['bureaucrat'] and $wgRemoveGroups['bureaucrat'] to the specified values.

Parameters
array | bool$addGroups bureaucrats should be allowed to add, true for all
array | bool$removeGroups bureaucrats should be allowed to remove, true for all

Definition at line 31 of file ApiUserrightsTest.php.

Referenced by testAddAndRemoveGroups(), and testBlockedWithoutUserrights().

◆ setUp()

ApiUserrightsTest::setUp ( )
protected

Definition at line 15 of file ApiUserrightsTest.php.

◆ testAdd()

ApiUserrightsTest::testAdd ( )

Definition at line 130 of file ApiUserrightsTest.php.

References doSuccessfulRightsChange().

◆ testAddAndRemoveGroups()

ApiUserrightsTest::testAddAndRemoveGroups ( array  $permissions = null,
array  $groupsToChange,
array  $expectedGroups 
)

Tests adding and removing various groups with various permissions.

addAndRemoveGroupsProvider

Parameters
array | null$permissions[ [ $wgAddGroups, $wgRemoveGroups ] ] or null for 'userrights' to be set in $wgGroupPermissions
array$groupsToChange[ [ groups to add ], [ groups to remove ] ]
array$expectedGroupsArray of expected groups

Definition at line 310 of file ApiUserrightsTest.php.

References $params, $user, doSuccessfulRightsChange(), null, and setPermissions().

◆ testAddMultiple()

ApiUserrightsTest::testAddMultiple ( )

Definition at line 164 of file ApiUserrightsTest.php.

References doSuccessfulRightsChange().

◆ testBlockedWithoutUserrights()

ApiUserrightsTest::testBlockedWithoutUserrights ( )

◆ testBlockedWithUserrights()

ApiUserrightsTest::testBlockedWithUserrights ( )

◆ testCanProcessExpiries()

ApiUserrightsTest::testCanProcessExpiries ( )

Definition at line 293 of file ApiUserrightsTest.php.

References getMockForProcessingExpiries().

◆ testInvalidExpiry()

ApiUserrightsTest::testInvalidExpiry ( )

Definition at line 185 of file ApiUserrightsTest.php.

References doFailedRightsChange().

◆ testMultipleInvalidExpiries()

ApiUserrightsTest::testMultipleInvalidExpiries ( )

Definition at line 189 of file ApiUserrightsTest.php.

References doFailedRightsChange().

◆ testNonexistentUser()

ApiUserrightsTest::testNonexistentUser ( )

Definition at line 232 of file ApiUserrightsTest.php.

References doFailedRightsChange().

◆ testTooFewExpiries()

ApiUserrightsTest::testTooFewExpiries ( )

Definition at line 171 of file ApiUserrightsTest.php.

References doFailedRightsChange().

◆ testTooManyExpiries()

ApiUserrightsTest::testTooManyExpiries ( )

Definition at line 178 of file ApiUserrightsTest.php.

References doFailedRightsChange().

◆ testWebToken()

ApiUserrightsTest::testWebToken ( )

Definition at line 239 of file ApiUserrightsTest.php.

References $res, $user, and ApiTestCase\doApiRequest().

◆ testWithoutTagPermission()

ApiUserrightsTest::testWithoutTagPermission ( )

Definition at line 220 of file ApiUserrightsTest.php.

References ChangeTags\defineTag(), and doFailedRightsChange().

◆ testWithTag()

ApiUserrightsTest::testWithTag ( )

The documentation for this class was generated from the following file: