MediaWiki REL1_31
|
Public Member Functions | |
testApiTestGroup () | |
@coversNothing | |
Public Member Functions inherited from MediaWikiTestCase | |
__construct ( $name=null, array $data=[], $dataName='') | |
__destruct () | |
addDBData () | |
Stub. | |
addDBDataOnce () | |
Stub. | |
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 () | |
Static Public Member Functions | |
static | apiExceptionHasCode (ApiUsageException $ex, $code) |
Static Public Member Functions inherited from MediaWikiTestCase | |
static | getMutableTestUser ( $groups=[]) |
Convenience method for getting a mutable test user. | |
static | getTestSysop () |
Convenience method for getting an immutable admin test user. | |
static | getTestUser ( $groups=[]) |
Convenience method for getting an immutable test user. | |
static | listTables (IMaintainableDatabase $db) |
static | prepareServices (Config $bootstrapConfig) |
Prepare service configuration for unit testing. | |
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. | |
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. | |
Protected Member Functions | |
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. | |
editPage ( $pageName, $text, $summary='', $defaultNs=NS_MAIN) | |
Edits or creates a page/revision. | |
getTokenList (TestUser $user, $session=null) | |
revisionDelete ( $rev, array $value=[Revision::DELETED_TEXT=> 1], $comment='') | |
Revision-deletes a revision. | |
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. | |
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. | |
assertArrayEquals (array $expected, array $actual, $ordered=false, $named=false) | |
Assert that two arrays are equal. | |
assertFileContains ( $fileName, $actualData, $createIfMissing=true, $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. | |
getDefaultWikitextNS () | |
Returns the ID of a namespace that defaults to Wikitext. | |
getNewTempDirectory () | |
obtains a new temporary directory | |
getNewTempFile () | |
Obtains a new temporary file name. | |
getSchemaOverrides (IMaintainableDatabase $db) | |
Stub. | |
insertPage ( $pageName, $text='Sample page for unit test.', $namespace=null) | |
Insert a new page. | |
isWikitextNS ( $ns) | |
Returns true if the given namespace defaults to Wikitext according to $wgNamespaceContentModels. | |
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. | |
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() | |
Static Protected Member Functions | |
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 | resetGlobalServices (Config $bootstrapConfig=null) |
Reset global services, and install testing environment. | |
static | setupDatabaseWithTestPrefix (IMaintainableDatabase $db, $prefix) |
Setups a database with the given prefix. | |
static | setupExternalStoreTestDBs ( $testPrefix) |
Clones the External Store database(s) for testing. | |
static | stripStringKeys (&$r) |
Utility function for eliminating all string keys from an array. | |
Protected Attributes | |
ApiTestContext | $apiContext |
Protected Attributes inherited from MediaWikiTestCase | |
Database | $db |
Primary database. | |
array | $supportedDBs |
array | $tablesUsed = [] |
Static Protected Attributes | |
static | $apiUrl |
static | $errorFormatter = null |
Additional Inherited Members | |
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 |
Definition at line 5 of file ApiTestCase.php.
|
static |
Definition at line 225 of file ApiTestCase.php.
References $code, $e, and function.
Referenced by ApiOptionsTest\testAnon(), ApiContinuationManagerTest\testContinuation(), ApiBaseTest\testDieStatus(), ApiComparePagesTest\testDiff(), ApiOptionsTest\testNoChanges(), ApiParseTest\testNonexistentPage(), and ApiOptionsTest\testNoOptionname().
|
protected |
Does the API request and returns the result.
The returned value is an array containing
array | $params | |
array | null | $session | |
bool | $appendModule | |
User | null | $user | |
string | null | $tokenType | Set to a string like 'csrf' to send an appropriate token |
ApiUsageException |
Reimplemented in UploadFromUrlTest.
Definition at line 100 of file ApiTestCase.php.
References $context, $params, $user, $value, $wgRequest, $wgUser, RequestContext\getMain(), ApiQueryTokens\getToken(), and ApiQueryTokens\getTokenTypeSalts().
Referenced by ApiQueryTestBase\check(), doApiRequestWithToken(), ApiBlockTest\doBlock(), ApiQueryRecentChangesIntegrationTest\doGeneratorRecentChangesRequest(), ApiQueryWatchlistRawIntegrationTest\doGeneratorWatchlistRawRequest(), ApiQueryWatchlistIntegrationTest\doGeneratorWatchlistRequest(), ApiQueryRecentChangesIntegrationTest\doListRecentChangesRequest(), ApiQueryWatchlistRawIntegrationTest\doListWatchlistRawRequest(), ApiQueryWatchlistIntegrationTest\doListWatchlistRequest(), ApiParseTest\doTestLangLinks(), ApiLogoutTest\doUserLogout(), getTokenList(), ApiLogoutTest\getUserCsrfTokenFromApi(), ApiQueryContinueTestBase\query(), ApiQueryTitleBlacklistTest\testAntiSpoofIntegration(), ApiLoginTest\testApiLoginBadPass(), ApiLoginTest\testApiLoginGoodPass(), ApiLoginTest\testApiLoginNoName(), ApiMainTest\testAssert(), ApiMainTest\testAssertUser(), ApiBlockTest\testBlockingActionWithNoToken(), ApiLoginTest\testBotPassword(), ApiParseTest\testCategoriesHtml(), ApiQueryTitleBlacklistTest\testCheckingBlackListedTitle(), ApiQueryTitleBlacklistTest\testCheckingUnlistedTitle(), ApiCheckTokenTest\testCheckTokenExpired(), ApiCheckTokenTest\testCheckTokenInvalid(), ApiCheckTokenTest\testCheckTokenSuffixWarning(), ApiCheckTokenTest\testCheckTokenValid(), ApiClearHasMsgTest\testClearFlag(), ApiQueryRevisionsTest\testContentComesWithContentModelAndFormat(), ApiDeleteTest\testDeletionWithoutPermission(), ApiComparePagesTest\testDiff(), ApiDisabledTest\testDisabled(), ApiParseTest\testDisableTidy(), ApiParseTest\testEffectiveLangLinks(), ApiParseTest\testExistingSection(), ApiParseTest\testFollowedRedirect(), ApiParseTest\testFollowedRedirectById(), ApiParseTest\testFormatCategories(), ApiWatchTest\testGetRollbackToken(), ApiParseTest\testHeadHtml(), ApiParseTest\testHeadItems(), ApiParseTest\testHeadItemsWithSkin(), ApiRevisionDeleteTest\testHidingRevisions(), ApiParseTest\testIndicators(), ApiParseTest\testIndicatorsWithSkin(), ApiQueryContributionsTest\testInterwikiUser(), ApiParseTest\testInvalidSection(), ApiParseTest\testInvalidTitle(), ApiParseTest\testIwlinks(), ApiParseTest\testLimitReports(), ApiUploadTest\testLogin(), ApiLoginTest\testLoginWithNoSameOriginSecurity(), ApiParseTest\testModules(), ApiParseTest\testModulesWithSkin(), ApiParseTest\testNewSection(), ApiParseTest\testNewSectionWithPage(), ApiParseTest\testNonexistentOldId(), ApiParseTest\testNonexistentPage(), ApiParseTest\testNoPst(), ApiParseTest\testOnlyPst(), ApiParseTest\testParseById(), ApiParseTest\testParseByName(), ApiParseTest\testParseByOldId(), ApiParseTest\testParseTree(), ApiParseTest\testParseTreeNonWikitext(), ApiQueryAllPagesTest\testPrefixNormalizationSearchBug(), ApiParseTest\testPst(), ApiPurgeTest\testPurgeMainPage(), ApiParseTest\testRevDel(), ApiParseTest\testRevDelNoPermission(), ApiParseTest\testRevId(), ApiParseTest\testRevidNoText(), ApiLoginTest\testRunLogin(), ApiParseTest\testSection(), ApiParseTest\testSectionNoContent(), ApiParseTest\testSerializationError(), ApiQueryContributionsTest\testSorting(), ApiParseTest\testSuppressed(), ApiQueryTitleBlacklistTest\testTboverride(), ApiParseTest\testTextNoContentModel(), ApiParseTest\testTitleNoText(), ApiParseTest\testTitleProvided(), ApiQueryTest\testTitlesAreRejectedIfInvalid(), ApiQueryTest\testTitlesGetNormalized(), ApiQueryTest\testTitlesWithWhitespaces(), ApiParseTest\testTitleWithNonexistentRevId(), ApiParseTest\testTitleWithNonMatchingRevId(), ApiParseTest\testUnfollowedRedirect(), ApiRevisionDeleteTest\testUnhidingOutput(), ApiUploadTest\testUploadRequiresToken(), ApiWatchTest\testWatchClear(), ApiWatchTest\testWatchEdit(), ApiWatchTest\testWatchProtect(), ApiWatchTest\testWatchRollback(), ApiUserrightsTest\testWebToken(), and ApiUnblockTest\testWithNoToken().
|
protected |
Convenience function to access the token parameter of doApiRequest() more succinctly.
array | $params | Key-value API params |
array | null | $session | Session array |
User | null | $user | A User object for the context |
string | $tokenType | Which token type to pass |
Definition at line 170 of file ApiTestCase.php.
References doApiRequest().
Referenced by ApiUserrightsTest\doFailedRightsChange(), ApiUserrightsTest\doSuccessfulRightsChange(), ApiStashEditTest\testBasicEdit(), ApiDeleteTest\testDelete(), ApiDeleteTest\testDeleteAbortedByHook(), ApiDeleteTest\testDeleteNonexistent(), ApiDeleteTest\testDeleteUnwatch(), ApiDeleteTest\testDeleteWatch(), ApiDeleteTest\testDeleteWithoutTagPermission(), ApiDeleteTest\testDeleteWithTag(), ApiMoveTest\testFromWithFromid(), ApiMoveTest\testMove(), ApiMoveTest\testMoveById(), ApiMoveTest\testMoveNonexistent(), ApiMoveTest\testMoveNonexistentId(), ApiMoveTest\testMoveNoPermission(), ApiMoveTest\testMoveSubpages(), ApiMoveTest\testMoveSubpagesError(), ApiMoveTest\testMoveTalk(), ApiMoveTest\testMoveTalkFailed(), ApiMoveTest\testMoveToInvalidPageName(), ApiMoveTest\testPingLimiter(), ApiMoveTest\testSelfMove(), ApiSetNotificationTimestampIntegrationTest\testStuff(), ApiMoveTest\testSuppressRedirect(), ApiMoveTest\testSuppressRedirectNoPermission(), ApiMoveTest\testTagsNoPermission(), ApiUploadTest\testUpload(), ApiUploadTest\testUploadChunks(), ApiUploadTest\testUploadMissingParams(), ApiUploadTest\testUploadSameContent(), ApiUploadTest\testUploadSameFileName(), ApiUploadTest\testUploadStash(), and ApiUploadTest\testUploadZeroLength().
|
protected |
Previously this would do API requests to log in, as well as setting $wgUser and the request context's user.
The API requests are unnecessary, and the global-setting is unwanted, so this method should not be called. Instead, pass appropriate User values directly to functions that need them. For functions that still rely on $wgUser, set that directly. If you just want to log in the test sysop user, don't do anything – that's the default.
TestUser | string | $testUser | Object, or key to self::$users such as 'sysop' or 'uploader' |
Definition at line 186 of file ApiTestCase.php.
References $wgUser, and RequestContext\getMain().
Referenced by ApiQueryTitleBlacklistTest\setUp().
|
protected |
Edits or creates a page/revision.
string | $pageName | Page title |
string | $text | Content of the page |
string | $summary | Optional summary string for the revision |
int | $defaultNs | Optional namespace id |
Definition at line 52 of file ApiTestCase.php.
Referenced by ApiParseTest\addDBDataOnce(), ApiQueryBasicTest\addDBDataOnce(), ApiQueryContinue2Test\addDBDataOnce(), ApiQueryContinueTest\addDBDataOnce(), ApiMoveTest\createPage(), ApiPageSetTest\createPageSetWithRedirect(), ApiRevisionDeleteTest\setUp(), ApiParseTest\testCategoriesHtml(), ApiDeleteTest\testDelete(), ApiDeleteTest\testDeleteAbortedByHook(), ApiDeleteTest\testDeleteUnwatch(), ApiDeleteTest\testDeleteWatch(), ApiDeleteTest\testDeleteWithoutTagPermission(), ApiDeleteTest\testDeleteWithTag(), ApiDeleteTest\testDeletionWithoutPermission(), ApiParseTest\testFollowedRedirect(), ApiParseTest\testFollowedRedirectById(), ApiParseTest\testFormatCategories(), ApiQueryBasicTest\testGeneratorRedirects(), ApiParseTest\testNoPst(), ApiParseTest\testOnlyPst(), ApiParseTest\testPst(), ApiParseTest\testSection(), ApiParseTest\testSectionNoContent(), ApiPageSetTest\testSpecialRedirects(), and ApiParseTest\testUnfollowedRedirect().
|
staticprotected |
Definition at line 214 of file ApiTestCase.php.
References $errorFormatter.
|
protected |
Definition at line 201 of file ApiTestCase.php.
References doApiRequest().
Referenced by ApiBlockTest\getTokens(), ApiWatchTest\getTokens(), and ApiTokensTest\runTokenTest().
|
protected |
Revision-deletes a revision.
Revision | int | $rev | Revision to delete |
array | $value | Keys are Revision::DELETED_* flags. Values are 1 to set the bit, 0 to clear, -1 to leave alone. (All other values also clear the bit.) |
string | $comment | Deletion comment |
Definition at line 67 of file ApiTestCase.php.
References $rev, $value, RevisionDeleter\createList(), and RequestContext\getMain().
Referenced by ApiParseTest\addDBDataOnce().
|
protected |
Expect an ApiUsageException to be thrown with the given parameters, which are the same as ApiUsageException::newWithMessage()'s parameters.
This allows checking for an exception whose text is given by a message key instead of text, so as not to hard-code the message's text into test code.
Definition at line 254 of file ApiTestCase.php.
References $code, and ApiUsageException\newWithMessage().
Referenced by ApiLogoutTest\testUserLogoutBadToken().
|
protected |
Reimplemented from MediaWikiLangTestCase.
Reimplemented in ApiQueryTitleBlacklistTest, ApiBlockTest, ApiComparePagesTest, ApiEditPageTest, ApiLogoutTest, ApiQueryRecentChangesIntegrationTest, ApiQueryWatchlistIntegrationTest, ApiQueryWatchlistRawIntegrationTest, ApiRevisionDeleteTest, ApiSetNotificationTimestampIntegrationTest, ApiUploadTestCase, ApiQueryTest, and UploadFromUrlTest.
Definition at line 15 of file ApiTestCase.php.
References $wgServer, ApiQueryInfo\resetTokenCache(), MediaWikiTestCase\setMwGlobals(), and wfScript().
|
protected |
Reimplemented from MediaWikiTestCase.
Reimplemented in ApiQueryTitleBlacklistTest, ApiBlockTest, and ApiEditPageTest.
Definition at line 37 of file ApiTestCase.php.
ApiTestCase::testApiTestGroup | ( | ) |
|
protected |
Definition at line 13 of file ApiTestCase.php.
|
staticprotected |
Definition at line 6 of file ApiTestCase.php.
|
staticprotected |
Definition at line 8 of file ApiTestCase.php.
Referenced by getErrorFormatter().