MediaWiki REL1_33
|
API Database medium. More...
Public Member Functions | |
addAndRemoveGroupsProvider () | |
testAdd () | |
testAddAndRemoveGroups (array $permissions=null, array $groupsToChange, array $expectedGroups) | |
Tests adding and removing various groups with various permissions. | |
testAddMultiple () | |
testBlockedWithoutUserrights () | |
testBlockedWithUserrights () | |
testCanProcessExpiries () | |
testInvalidExpiry () | |
testMultipleInvalidExpiries () | |
testNonexistentUser () | |
testTooFewExpiries () | |
testTooManyExpiries () | |
testWebToken () | |
testWithoutTagPermission () | |
testWithTag () | |
Public Member Functions inherited from ApiTestCase | |
testApiTestGroup () | |
@coversNothing | |
Public Member Functions inherited from MediaWikiTestCase | |
__construct ( $name=null, array $data=[], $dataName='') | |
__destruct () | |
addDBData () | |
Stub. | |
addDBDataOnce () | |
Stub. | |
copyTestData (IDatabase $source, IDatabase $target) | |
Copy test data from one database connection to another. | |
dbPrefix () | |
getCliArg ( $offset) | |
hideDeprecated ( $function) | |
Don't throw a warning if $function is deprecated and called later. | |
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. | |
setupAllTestDBs () | |
Set up all test DBs. | |
setUserLang ( $lang) | |
testMediaWikiTestCaseParentSetupCalled () | |
Make sure MediaWikiTestCase extending classes have called their parent setUp method. | |
usesTemporaryTables () | |
Protected Member Functions | |
doFailedRightsChange ( $expectedException, array $params=[], User $user=null) | |
Perform an API userrights request that's expected to fail. | |
doSuccessfulRightsChange ( $expectedGroups='sysop', array $params=[], User $user=null) | |
Perform an API userrights request that's expected to be successful. | |
setPermissions ( $add=[], $remove=[]) | |
Unsets $wgGroupPermissions['bureaucrat']['userrights'], and sets $wgAddGroups['bureaucrat'] and $wgRemoveGroups['bureaucrat'] to the specified values. | |
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. | |
doApiRequestWithToken (array $params, array $session=null, User $user=null, $tokenType='auto') | |
Convenience function to access the token parameter of doApiRequest() more succinctly. | |
doLogin ( $testUser=null) | |
Previously this would do API requests to log in, as well as setting $wgUser and the request context's user. | |
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. | |
tearDown () | |
Protected Member Functions inherited from MediaWikiTestCase | |
addCoreDBData () | |
addTmpFiles ( $files) | |
arrayWrap (array $elements) | |
Utility method taking an array of elements and wrapping each element in its own array. | |
assertArrayEquals (array $expected, array $actual, $ordered=false, $named=false) | |
Assert that two arrays are equal. | |
assertFileContains ( $fileName, $actualData, $createIfMissing=false, $msg='') | |
Check whether file contains given data. | |
assertHTMLEquals ( $expected, $actual, $msg='') | |
Put each HTML element on its own line and then equals() the results. | |
assertSelect ( $table, $fields, $condition, array $expectedRows, array $options=[], array $join_conds=[]) | |
Asserts that the given database query yields the rows given by $expectedRows. | |
assertType ( $type, $actual, $message='') | |
Asserts the type of the provided value. | |
assertTypeOrValue ( $type, $actual, $value=false, $message='') | |
Asserts that the provided variable is of the specified internal type or equals the $value argument. | |
checkDbIsSupported () | |
checkPHPExtension ( $extName) | |
Check if $extName is a loaded PHP extension, will skip the test whenever it is not loaded. | |
editPage ( $pageName, $text, $summary='', $defaultNs=NS_MAIN) | |
Edits or creates a page/revision. | |
ensureMockDatabaseConnection (IDatabase $db) | |
getDefaultWikitextNS () | |
Returns the ID of a namespace that defaults to Wikitext. | |
getExistingTestPage ( $title=null) | |
Returns a WikiPage representing an existing page. | |
getNewTempDirectory () | |
obtains a new temporary directory | |
getNewTempFile () | |
Obtains a new temporary file name. | |
getNonexistingTestPage ( $title=null) | |
Returns a WikiPage representing a non-existing page. | |
getSchemaOverrides (IMaintainableDatabase $db) | |
Stub. | |
insertPage ( $pageName, $text='Sample page for unit test.', $namespace=null, User $user=null) | |
Insert a new page. | |
isTestInDatabaseGroup () | |
isWikitextNS ( $ns) | |
Returns true if the given namespace defaults to Wikitext according to $wgNamespaceContentModels. | |
markTestSkippedIfDbType ( $type) | |
Skip the test if using the specified database type. | |
markTestSkippedIfNoDiff3 () | |
Check, if $wgDiff3 is set and ready to merge Will mark the calling test as skipped, if not ready. | |
mergeMwGlobalArrayValue ( $name, $values) | |
Merges the given values into a MW global array variable. | |
objectAssociativeSort (array &$array) | |
Does an associative sort that works for objects. | |
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. | |
revisionDelete ( $rev, array $value=[Revision::DELETED_TEXT=> 1], $comment='') | |
Revision-deletes a revision. | |
setIniSetting ( $name, $value) | |
Set an ini setting for the duration of the test. | |
setLogger ( $channel, LoggerInterface $logger) | |
Sets the logger for a specified channel, for the duration of the test. | |
setMwGlobals ( $pairs, $value=null) | |
Sets a global, maintaining a stashed version of the previous global to be restored in tearDown. | |
setService ( $name, $object) | |
Sets a service, maintaining a stashed version of the previous service to be restored in tearDown. | |
setTemporaryHook ( $hookName, $handler) | |
Create a temporary hook handler which will be reset by tearDown. | |
stashMwGlobals ( $globalKeys) | |
Stashes the global, will be restored in tearDown() | |
truncateTable ( $tableName, IDatabase $db=null) | |
Empties the given table and resets any auto-increment counters. | |
Private Member Functions | |
getMockForProcessingExpiries ( $canProcessExpiries) | |
Helper for testCanProcessExpiries that returns a mock ApiUserrights that either can or cannot process expiries. | |
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. | |
static | getTestPrefixFor (IDatabase $db) |
static | getTestSysop () |
Convenience method for getting an immutable admin test user. | |
static | getTestUser ( $groups=[]) |
Convenience method for getting an immutable test user. | |
static | installMockMwServices (Config $configOverrides=null) |
Creates a new "mock" MediaWikiServices instance, and installs it. | |
static | listTables (IMaintainableDatabase $db) |
static | prepareServices (Config $bootstrapConfig) |
static | resetNonServiceCaches () |
Resets some non-service singleton instances and other static caches. | |
static | restoreMwServices () |
Restores the original, non-mock MediaWikiServices instance. | |
static | setUpBeforeClass () |
static | setupTestDB (IMaintainableDatabase $db, $prefix) |
Creates an empty skeleton of the wiki database by cloning its structure to equivalent tables using the given $prefix. | |
static | teardownTestDB () |
Restores MediaWiki to using the table set (table prefix) it was using before setupTestDB() was called. | |
static | wfResetOutputBuffersBarrier ( $buffer) |
Used as a marker to prevent wfResetOutputBuffers from breaking PHPUnit. | |
Public Attributes inherited from MediaWikiTestCase | |
const | DB_PREFIX = 'unittest_' |
Table name prefixes. | |
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. | |
static | isUsingExternalStoreDB () |
Check whether ExternalStoreDB is being used. | |
static | setupDatabaseWithTestPrefix (IMaintainableDatabase $db, $prefix=null) |
Setups a database with cloned tables using the given prefix. | |
static | setupExternalStoreTestDBs ( $testPrefix=null) |
Clones the External Store database(s) for testing. | |
static | stripStringKeys (&$r) |
Utility function for eliminating all string keys from an array. | |
Protected Attributes inherited from ApiTestCase | |
ApiTestContext | $apiContext |
Protected Attributes inherited from MediaWikiTestCase | |
Database | $db |
Primary database. | |
array | $supportedDBs |
array | $tablesUsed = [] |
Static Protected Attributes inherited from ApiTestCase | |
static | $apiUrl |
static | $errorFormatter = null |
ApiUserrightsTest::addAndRemoveGroupsProvider | ( | ) |
Definition at line 321 of file ApiUserrightsTest.php.
References true.
|
protected |
Perform an API userrights request that's expected to fail.
string | $expectedException | Expected exception text |
array | $params | As for doSuccessfulRightsChange() |
User | null | $user | As 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 90 of file ApiUserrightsTest.php.
References $params, and(), ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\getMutableTestUser().
Referenced by testBlockedWithoutUserrights(), testInvalidExpiry(), testMultipleInvalidExpiries(), testNonexistentUser(), testTooFewExpiries(), testTooManyExpiries(), and testWithoutTagPermission().
|
protected |
Perform an API userrights request that's expected to be successful.
array | string | $expectedGroups | Group(s) that the user is expected to have after the API request |
array | $params | Array 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 | $user | The 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 53 of file ApiUserrightsTest.php.
References $params, $res, and(), array(), ApiTestCase\doApiRequestWithToken(), and MediaWikiTestCase\getMutableTestUser().
Referenced by testAdd(), testAddAndRemoveGroups(), testAddMultiple(), testBlockedWithUserrights(), and testWithTag().
|
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.
bool | $canProcessExpiries |
Definition at line 259 of file ApiUserrightsTest.php.
References and(), MediaWikiTestCase\getMutableTestUser(), and MediaWikiTestCase\getTestSysop().
Referenced by testCanProcessExpiries().
|
protected |
Unsets $wgGroupPermissions['bureaucrat']['userrights'], and sets $wgAddGroups['bureaucrat'] and $wgRemoveGroups['bureaucrat'] to the specified values.
array | bool | $add | Groups bureaucrats should be allowed to add, true for all |
array | bool | $remove | Groups bureaucrats should be allowed to remove, true for all |
Definition at line 28 of file ApiUserrightsTest.php.
References MediaWikiTestCase\mergeMwGlobalArrayValue(), and MediaWikiTestCase\setGroupPermissions().
Referenced by testAddAndRemoveGroups(), and testBlockedWithoutUserrights().
|
protected |
Reimplemented from ApiTestCase.
Definition at line 12 of file ApiUserrightsTest.php.
References and().
ApiUserrightsTest::testAdd | ( | ) |
Definition at line 124 of file ApiUserrightsTest.php.
References doSuccessfulRightsChange().
ApiUserrightsTest::testAddAndRemoveGroups | ( | array | $permissions = null, |
array | $groupsToChange, | ||
array | $expectedGroups ) |
Tests adding and removing various groups with various permissions.
addAndRemoveGroupsProvider
array | null | $permissions | [ [ $wgAddGroups, $wgRemoveGroups ] ] or null for 'userrights' to be set in $wgGroupPermissions |
array | $groupsToChange | [ [ groups to add ], [ groups to remove ] ] |
array | $expectedGroups | Array of expected groups |
Definition at line 303 of file ApiUserrightsTest.php.
References $params, doSuccessfulRightsChange(), MediaWikiTestCase\getMutableTestUser(), and setPermissions().
ApiUserrightsTest::testAddMultiple | ( | ) |
Definition at line 158 of file ApiUserrightsTest.php.
References doSuccessfulRightsChange().
ApiUserrightsTest::testBlockedWithoutUserrights | ( | ) |
Definition at line 142 of file ApiUserrightsTest.php.
References doFailedRightsChange(), MediaWikiTestCase\getTestSysop(), and setPermissions().
ApiUserrightsTest::testBlockedWithUserrights | ( | ) |
Definition at line 128 of file ApiUserrightsTest.php.
References and(), and doSuccessfulRightsChange().
ApiUserrightsTest::testCanProcessExpiries | ( | ) |
Definition at line 286 of file ApiUserrightsTest.php.
References and(), and getMockForProcessingExpiries().
ApiUserrightsTest::testInvalidExpiry | ( | ) |
Definition at line 179 of file ApiUserrightsTest.php.
References doFailedRightsChange().
ApiUserrightsTest::testMultipleInvalidExpiries | ( | ) |
Definition at line 183 of file ApiUserrightsTest.php.
References doFailedRightsChange().
ApiUserrightsTest::testNonexistentUser | ( | ) |
Definition at line 225 of file ApiUserrightsTest.php.
References doFailedRightsChange().
ApiUserrightsTest::testTooFewExpiries | ( | ) |
Definition at line 165 of file ApiUserrightsTest.php.
References doFailedRightsChange().
ApiUserrightsTest::testTooManyExpiries | ( | ) |
Definition at line 172 of file ApiUserrightsTest.php.
References doFailedRightsChange().
ApiUserrightsTest::testWebToken | ( | ) |
Definition at line 232 of file ApiUserrightsTest.php.
References $res, and(), ApiTestCase\doApiRequest(), MediaWikiTestCase\getMutableTestUser(), and MediaWikiTestCase\getTestSysop().
ApiUserrightsTest::testWithoutTagPermission | ( | ) |
Definition at line 214 of file ApiUserrightsTest.php.
References ChangeTags\defineTag(), doFailedRightsChange(), and MediaWikiTestCase\setGroupPermissions().
ApiUserrightsTest::testWithTag | ( | ) |
Definition at line 190 of file ApiUserrightsTest.php.
References $dbr, and(), DB_REPLICA, ChangeTags\defineTag(), doSuccessfulRightsChange(), MediaWikiTestCase\getMutableTestUser(), and wfGetDB().