MediaWiki  REL1_31
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 ()
 @coversNothing More...
 
- Public Member Functions inherited from MediaWikiTestCase
 __construct ( $name=null, array $data=[], $dataName='')
 
 __destruct ()
 
 addDBData ()
 Stub. More...
 
 addDBDataOnce ()
 Stub. More...
 
 dbPrefix ()
 
 getCliArg ( $offset)
 
 hideDeprecated ( $function)
 Don't throw a warning if $function is deprecated and called later. More...
 
 needsDB ()
 
 run (PHPUnit_Framework_TestResult $result=null)
 
 setCliArg ( $offset, $value)
 
 setContentLang ( $lang)
 
 setGroupPermissions ( $newPerms, $newKey=null, $newValue=null)
 Alters $wgGroupPermissions for the duration of the test. More...
 
 setupAllTestDBs ()
 Set up all test DBs. More...
 
 setUserLang ( $lang)
 
 testMediaWikiTestCaseParentSetupCalled ()
 Make sure MediaWikiTestCase extending classes have called their parent setUp method. More...
 
 usesTemporaryTables ()
 

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...
 
- 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...
 
 editPage ( $pageName, $text, $summary='', $defaultNs=NS_MAIN)
 Edits or creates a page/revision. More...
 
 getTokenList (TestUser $user, $session=null)
 
 revisionDelete ( $rev, array $value=[Revision::DELETED_TEXT=> 1], $comment='')
 Revision-deletes a revision. More...
 
 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 MediaWikiTestCase
 addTmpFiles ( $files)
 
 arrayWrap (array $elements)
 Utility method taking an array of elements and wrapping each element in its own array. More...
 
 assertArrayEquals (array $expected, array $actual, $ordered=false, $named=false)
 Assert that two arrays are equal. More...
 
 assertFileContains ( $fileName, $actualData, $createIfMissing=true, $msg='')
 Check whether file contains given data. More...
 
 assertHTMLEquals ( $expected, $actual, $msg='')
 Put each HTML element on its own line and then equals() the results. More...
 
 assertSelect ( $table, $fields, $condition, array $expectedRows, array $options=[], array $join_conds=[])
 Asserts that the given database query yields the rows given by $expectedRows. More...
 
 assertType ( $type, $actual, $message='')
 Asserts the type of the provided value. More...
 
 assertTypeOrValue ( $type, $actual, $value=false, $message='')
 Asserts that the provided variable is of the specified internal type or equals the $value argument. More...
 
 checkDbIsSupported ()
 
 checkPHPExtension ( $extName)
 Check if $extName is a loaded PHP extension, will skip the test whenever it is not loaded. More...
 
 getDefaultWikitextNS ()
 Returns the ID of a namespace that defaults to Wikitext. More...
 
 getNewTempDirectory ()
 obtains a new temporary directory More...
 
 getNewTempFile ()
 Obtains a new temporary file name. More...
 
 getSchemaOverrides (IMaintainableDatabase $db)
 Stub. More...
 
 insertPage ( $pageName, $text='Sample page for unit test.', $namespace=null)
 Insert a new page. More...
 
 isWikitextNS ( $ns)
 Returns true if the given namespace defaults to Wikitext according to $wgNamespaceContentModels. More...
 
 markTestSkippedIfNoDiff3 ()
 Check, if $wgDiff3 is set and ready to merge Will mark the calling test as skipped, if not ready. More...
 
 mergeMwGlobalArrayValue ( $name, $values)
 Merges the given values into a MW global array variable. More...
 
 objectAssociativeSort (array &$array)
 Does an associative sort that works for objects. More...
 
 overrideMwServices (Config $configOverrides=null, array $services=[])
 Stashes the global instance of MediaWikiServices, and installs a new one, allowing test cases to override settings and services. More...
 
 setLogger ( $channel, LoggerInterface $logger)
 Sets the logger for a specified channel, for the duration of the test. More...
 
 setMwGlobals ( $pairs, $value=null)
 Sets a global, maintaining a stashed version of the previous global to be restored in tearDown. More...
 
 setService ( $name, $object)
 Sets a service, maintaining a stashed version of the previous service to be restored in tearDown. More...
 
 setTemporaryHook ( $hookName, $handler)
 Create a temporary hook handler which will be reset by tearDown. More...
 
 stashMwGlobals ( $globalKeys)
 Stashes the global, will be restored in tearDown() More...
 

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 Public Member Functions inherited from MediaWikiTestCase
static getMutableTestUser ( $groups=[])
 Convenience method for getting a mutable test user. More...
 
static getTestSysop ()
 Convenience method for getting an immutable admin test user. More...
 
static getTestUser ( $groups=[])
 Convenience method for getting an immutable test user. More...
 
static listTables (IMaintainableDatabase $db)
 
static prepareServices (Config $bootstrapConfig)
 Prepare service configuration for unit testing. More...
 
static setUpBeforeClass ()
 
static setupTestDB (Database $db, $prefix)
 Creates an empty skeleton of the wiki database by cloning its structure to equivalent tables using the given $prefix. More...
 
static teardownTestDB ()
 Restores MediaWiki to using the table set (table prefix) it was using before setupTestDB() was called. More...
 
static wfResetOutputBuffersBarrier ( $buffer)
 Used as a marker to prevent wfResetOutputBuffers from breaking PHPUnit. More...
 
- Public Attributes inherited from MediaWikiTestCase
const DB_PREFIX = 'unittest_'
 Table name prefixes. More...
 
const ORA_DB_PREFIX = 'ut_'
 
- Static Public Attributes inherited from MediaWikiTestCase
static TestUser[] $users
 
- Static Protected Member Functions inherited from ApiTestCase
static getErrorFormatter ()
 
- Static Protected Member Functions inherited from MediaWikiTestCase
static getExternalStoreDatabaseConnections ()
 Gets master database connections for all of the ExternalStoreDB stores configured in $wgDefaultExternalStore. More...
 
static isUsingExternalStoreDB ()
 Check whether ExternalStoreDB is being used. More...
 
static resetGlobalServices (Config $bootstrapConfig=null)
 Reset global services, and install testing environment. More...
 
static setupDatabaseWithTestPrefix (IMaintainableDatabase $db, $prefix)
 Setups a database with the given prefix. More...
 
static setupExternalStoreTestDBs ( $testPrefix)
 Clones the External Store database(s) for testing. More...
 
static stripStringKeys (&$r)
 Utility function for eliminating all string keys from an array. More...
 
- Protected Attributes inherited from ApiTestCase
ApiTestContext $apiContext
 
- Protected Attributes inherited from MediaWikiTestCase
Database $db
 Primary database. More...
 
array $supportedDBs
 
array $tablesUsed = []
 
- Static Protected Attributes inherited from ApiTestCase
static $apiUrl
 
static $errorFormatter = null
 

Detailed Description

API Database medium.

ApiUserrights

Definition at line 10 of file ApiUserrightsTest.php.

Member Function Documentation

◆ addAndRemoveGroupsProvider()

ApiUserrightsTest::addAndRemoveGroupsProvider ( )

Definition at line 318 of file ApiUserrightsTest.php.

References 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 85 of file ApiUserrightsTest.php.

References $params, $user, class, ApiTestCase\doApiRequestWithToken(), MediaWikiTestCase\getMutableTestUser(), 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 48 of file ApiUserrightsTest.php.

References $params, $res, $user, array(), ApiTestCase\doApiRequestWithToken(), MediaWikiTestCase\getMutableTestUser(), 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 256 of file ApiUserrightsTest.php.

References $user, class, MediaWikiTestCase\getMutableTestUser(), and MediaWikiTestCase\getTestSysop().

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 19 of file ApiUserrightsTest.php.

References $wgAddGroups, $wgRemoveGroups, global, MediaWikiTestCase\setGroupPermissions(), and MediaWikiTestCase\stashMwGlobals().

Referenced by testAddAndRemoveGroups(), and testBlockedWithoutUserrights().

◆ testAdd()

ApiUserrightsTest::testAdd ( )

Definition at line 119 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 300 of file ApiUserrightsTest.php.

References $params, $user, doSuccessfulRightsChange(), MediaWikiTestCase\getMutableTestUser(), and setPermissions().

◆ testAddMultiple()

ApiUserrightsTest::testAddMultiple ( )

Definition at line 153 of file ApiUserrightsTest.php.

References doSuccessfulRightsChange().

◆ testBlockedWithoutUserrights()

ApiUserrightsTest::testBlockedWithoutUserrights ( )

◆ testBlockedWithUserrights()

ApiUserrightsTest::testBlockedWithUserrights ( )

Definition at line 123 of file ApiUserrightsTest.php.

References $wgUser, doSuccessfulRightsChange(), and global.

◆ testCanProcessExpiries()

ApiUserrightsTest::testCanProcessExpiries ( )

Definition at line 283 of file ApiUserrightsTest.php.

References getMockForProcessingExpiries().

◆ testInvalidExpiry()

ApiUserrightsTest::testInvalidExpiry ( )

Definition at line 174 of file ApiUserrightsTest.php.

References doFailedRightsChange().

◆ testMultipleInvalidExpiries()

ApiUserrightsTest::testMultipleInvalidExpiries ( )

Definition at line 178 of file ApiUserrightsTest.php.

References doFailedRightsChange().

◆ testNonexistentUser()

ApiUserrightsTest::testNonexistentUser ( )

Definition at line 222 of file ApiUserrightsTest.php.

References doFailedRightsChange().

◆ testTooFewExpiries()

ApiUserrightsTest::testTooFewExpiries ( )

Definition at line 160 of file ApiUserrightsTest.php.

References doFailedRightsChange().

◆ testTooManyExpiries()

ApiUserrightsTest::testTooManyExpiries ( )

Definition at line 167 of file ApiUserrightsTest.php.

References doFailedRightsChange().

◆ testWebToken()

ApiUserrightsTest::testWebToken ( )

◆ testWithoutTagPermission()

ApiUserrightsTest::testWithoutTagPermission ( )

◆ testWithTag()

ApiUserrightsTest::testWithTag ( )

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