MediaWiki
1.33.0
|
Public Member Functions | |
testApiTestGroup () | |
@coversNothing More... | |
Public Member Functions inherited from MediaWikiTestCase | |
__construct ( $name=null, array $data=[], $dataName='') | |
__destruct () | |
addDBData () | |
Stub. More... | |
addDBDataOnce () | |
Stub. More... | |
copyTestData (IDatabase $source, IDatabase $target) | |
Copy test data from one database connection to another. 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 () | |
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. More... | |
static | getTestPrefixFor (IDatabase $db) |
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 | installMockMwServices (Config $configOverrides=null) |
Creates a new "mock" MediaWikiServices instance, and installs it. More... | |
static | listTables (IMaintainableDatabase $db) |
static | prepareServices (Config $bootstrapConfig) |
static | resetNonServiceCaches () |
Resets some non-service singleton instances and other static caches. More... | |
static | restoreMwServices () |
Restores the original, non-mock MediaWikiServices instance. More... | |
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. 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... | |
Protected Member Functions | |
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 MediaWikiTestCase | |
addCoreDBData () | |
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=false, $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... | |
editPage ( $pageName, $text, $summary='', $defaultNs=NS_MAIN) | |
Edits or creates a page/revision. More... | |
ensureMockDatabaseConnection (IDatabase $db) | |
getDefaultWikitextNS () | |
Returns the ID of a namespace that defaults to Wikitext. More... | |
getExistingTestPage ( $title=null) | |
Returns a WikiPage representing an existing page. More... | |
getNewTempDirectory () | |
obtains a new temporary directory More... | |
getNewTempFile () | |
Obtains a new temporary file name. More... | |
getNonexistingTestPage ( $title=null) | |
Returns a WikiPage representing a non-existing page. More... | |
getSchemaOverrides (IMaintainableDatabase $db) | |
Stub. More... | |
insertPage ( $pageName, $text='Sample page for unit test.', $namespace=null, User $user=null) | |
Insert a new page. More... | |
isTestInDatabaseGroup () | |
isWikitextNS ( $ns) | |
Returns true if the given namespace defaults to Wikitext according to $wgNamespaceContentModels. More... | |
markTestSkippedIfDbType ( $type) | |
Skip the test if using the specified database type. 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... | |
revisionDelete ( $rev, array $value=[Revision::DELETED_TEXT=> 1], $comment='') | |
Revision-deletes a revision. More... | |
setIniSetting ( $name, $value) | |
Set an ini setting for the duration of the test. 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... | |
truncateTable ( $tableName, IDatabase $db=null) | |
Empties the given table and resets any auto-increment counters. More... | |
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. More... | |
static | isUsingExternalStoreDB () |
Check whether ExternalStoreDB is being used. More... | |
static | setupDatabaseWithTestPrefix (IMaintainableDatabase $db, $prefix=null) |
Setups a database with cloned tables using the given prefix. More... | |
static | setupExternalStoreTestDBs ( $testPrefix=null) |
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 | |
ApiTestContext | $apiContext |
Protected Attributes inherited from MediaWikiTestCase | |
Database | $db |
Primary database. More... | |
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. More... | |
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 187 of file ApiTestCase.php.
References $code, $e, ApiUsageException\getStatusValue(), and use.
Referenced by ApiOptionsTest\testAnon(), ApiContinuationManagerTest\testContinuation(), ApiBaseTest\testDieStatus(), ApiComparePagesTest\testDiff(), ApiBaseTest\testGetParameter(), ApiOptionsTest\testNoChanges(), 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 62 of file ApiTestCase.php.
References $context, $params, $user, $value, $wgRequest, as, RequestContext\getMain(), ApiQueryTokens\getToken(), ApiQueryTokens\getTokenTypeSalts(), and MediaWiki\Auth\AuthManager\resetCache().
Referenced by ApiQueryTestBase\check(), doApiRequestWithToken(), ApiBlockTest\doBlock(), ApiQueryRecentChangesIntegrationTest\doGeneratorRecentChangesRequest(), ApiQueryWatchlistRawIntegrationTest\doGeneratorWatchlistRawRequest(), ApiQueryWatchlistIntegrationTest\doGeneratorWatchlistRequest(), ApiQueryRecentChangesIntegrationTest\doListRecentChangesRequest(), ApiQueryWatchlistRawIntegrationTest\doListWatchlistRawRequest(), ApiQueryWatchlistIntegrationTest\doListWatchlistRequest(), ApiQuerySiteinfoTest\doQuery(), ApiLoginTest\doUserLogin(), ApiLogoutTest\doUserLogout(), getTokenList(), ApiLogoutTest\getUserCsrfTokenFromApi(), ApiQueryContinueTestBase\query(), ApiQueryTitleBlacklistTest\testAntiSpoofIntegration(), ApiMainTest\testAssert(), ApiMainTest\testAssertBeforeModule(), ApiMainTest\testAssertUser(), ApiBlockTest\testBlockingActionWithNoToken(), ApiQueryTitleBlacklistTest\testCheckingBlackListedTitle(), ApiQueryTitleBlacklistTest\testCheckingUnlistedTitle(), ApiCheckTokenTest\testCheckTokenExpired(), ApiCheckTokenTest\testCheckTokenInvalid(), ApiCheckTokenTest\testCheckTokenSuffixWarning(), ApiCheckTokenTest\testCheckTokenValid(), ApiClearHasMsgTest\testClearFlag(), ApiQueryRevisionsTest\testContentComesWithContentModelAndFormat(), ApiQuerySiteinfoTest\testContinuation(), ApiDeleteTest\testDeletionWithoutPermission(), ApiLoginTest\testDeprecatedUserLogin(), ApiComparePagesTest\testDiff(), ApiDisabledTest\testDisabled(), ApiQueryDisabledTest\testDisabled(), ApiQueryInfoTest\testExecute(), ApiQueryBlocksTest\testExecute(), ApiQueryBlocksTest\testExecuteBlock(), ApiQueryInfoTest\testExecuteEditActions(), ApiQueryInfoTest\testExecuteEditActionsFull(), ApiQueryInfoTest\testExecuteEditActionsFullBlock(), ApiQueryBlocksTest\testExecuteRestrictions(), ApiQueryBlocksTest\testExecuteSitewide(), ApiLoginTest\testExtendedDescription(), ApiWatchTest\testGetRollbackToken(), ApiRevisionDeleteTest\testHidingRevisions(), ApiQuerySearchTest\testInterwikiResults(), ApiQueryUserContribsTest\testInterwikiUser(), ApiStashEditTest\testIsInternal(), ApiUploadTest\testLogin(), ApiLoginTest\testNoName(), ApiLoginTest\testNoSameOriginSecurity(), ApiQueryPrefixSearchTest\testOffsetContinue(), ApiQueryAllPagesTest\testPrefixNormalizationSearchBug(), ApiPurgeTest\testPurgeMainPage(), ApiQuerySearchTest\testSearchResults(), ApiQueryUserContribsTest\testSorting(), ApiQueryTitleBlacklistTest\testTboverride(), ApiQueryTest\testTitlesAreRejectedIfInvalid(), ApiQueryTest\testTitlesGetNormalized(), ApiQueryTest\testTitlesWithWhitespaces(), 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 132 of file ApiTestCase.php.
References $user, and doApiRequest().
Referenced by ApiUserrightsTest\doFailedRightsChange(), ApiStashEditTest\doStash(), ApiUserrightsTest\doSuccessfulRightsChange(), ApiUnblockTest\doUnblock(), ApiEditPageTest\testAppendInMediaWikiNamespace(), ApiEditPageTest\testAppendInMediaWikiNamespaceWithSerializationError(), ApiEditPageTest\testAppendNewSection(), ApiEditPageTest\testAppendNewSectionWithInvalidContentModel(), ApiEditPageTest\testAppendNewSectionWithSummary(), ApiEditPageTest\testAppendNewSectionWithTitle(), ApiEditPageTest\testAppendNewSectionWithTitleAndSummary(), ApiEditPageTest\testAppendToFirstSection(), ApiEditPageTest\testAppendToNonexistentSection(), ApiEditPageTest\testAppendToSection(), ApiEditPageTest\testAppendWithNonTextContentHandler(), ApiDeleteTest\testBatchedDelete(), ApiEditPageTest\testCheckDirectApiEditingDisallowed_forNonTextContent(), ApiEditPageTest\testCorrectContentFormat(), ApiEditPageTest\testCreateImageRedirectAnon(), ApiEditPageTest\testCreateImageRedirectLoggedIn(), ApiEditPageTest\testCreateOnly(), ApiDeleteTest\testDelete(), ApiDeleteTest\testDeleteAbortedByHook(), ApiDeleteTest\testDeleteNonexistent(), ApiDeleteTest\testDeleteUnwatch(), ApiDeleteTest\testDeleteWatch(), ApiDeleteTest\testDeleteWithoutTagPermission(), ApiDeleteTest\testDeleteWithTag(), ApiEditPageTest\testEdit(), ApiEditPageTest\testEdit_redirect(), ApiEditPageTest\testEdit_redirectText(), ApiEditPageTest\testEditAbortedByEditPageHookWithNoResult(), ApiEditPageTest\testEditAbortedByEditPageHookWithResult(), ApiEditPageTest\testEditAbortedByHook(), ApiEditPageTest\testEditAbortedByHookWithCustomOutput(), ApiEditPageTest\testEditAppend(), ApiEditPageTest\testEditConflict(), ApiEditPageTest\testEditConflict_newSection(), ApiEditPageTest\testEditConflict_T43990(), ApiEditPageTest\testEditMalformedSection(), ApiEditPageTest\testEditMinor(), ApiEditPageTest\testEditNewSection(), ApiEditPageTest\testEditRecreate(), ApiEditPageTest\testEditSection(), ApiEditPageTest\testEditUnwatch(), ApiEditPageTest\testEditWatch(), ApiEditPageTest\testEditWhileBlocked(), ApiEditPageTest\testEditWhileReadOnly(), ApiEditPageTest\testEditWithoutTagPermission(), ApiEditPageTest\testEditWithStartTimestamp(), ApiEditPageTest\testEditWithTag(), ApiMoveTest\testFromWithFromid(), ApiEditPageTest\testIncorrectMd5AppendText(), ApiEditPageTest\testIncorrectMd5PrependText(), ApiEditPageTest\testIncorrectMd5Text(), ApiEditPageTest\testMd5AppendText(), ApiEditPageTest\testMd5PrependAndAppendText(), ApiEditPageTest\testMd5PrependText(), ApiEditPageTest\testMd5Text(), ApiEditPageTest\testMismatchedContentFormat(), ApiMoveTest\testMove(), ApiMoveTest\testMoveById(), ApiMoveTest\testMoveNonexistent(), ApiMoveTest\testMoveNonexistentId(), ApiMoveTest\testMoveNoPermission(), ApiMoveTest\testMoveSubpages(), ApiMoveTest\testMoveSubpagesError(), ApiMoveTest\testMoveTalk(), ApiMoveTest\testMoveTalkFailed(), ApiMoveTest\testMoveToInvalidPageName(), ApiMoveTest\testMoveWhileBlocked(), ApiEditPageTest\testNoCreate(), ApiMoveTest\testPingLimiter(), ApiEditPageTest\testProhibitedAnonymousEdit(), ApiEditPageTest\testProhibitedChangeContentModel(), ApiEditPageTest\testReversedUndoAfter(), ApiMoveTest\testSelfMove(), ApiSetNotificationTimestampIntegrationTest\testStuff(), ApiEditPageTest\testSupportsDirectApiEditing_withContentHandlerOverride(), ApiMoveTest\testSuppressRedirect(), ApiMoveTest\testSuppressRedirectNoPermission(), ApiMoveTest\testTagsNoPermission(), ApiEditPageTest\testTooBigEdit(), ApiEditPageTest\testUndoAfterContentModelChange(), ApiEditPageTest\testUndoAfterToHiddenRev(), ApiEditPageTest\testUndoAfterToInvalidRev(), ApiEditPageTest\testUndoAfterToRevFromDifferentPage(), ApiEditPageTest\testUndoToInvalidRev(), ApiEditPageTest\testUndoToRevFromDifferentPage(), ApiEditPageTest\testUndoWithConflicts(), ApiEditPageTest\testUndoWithSwappedRevisions(), ApiEditPageTest\testUnsupportedContentFormat(), 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 148 of file ApiTestCase.php.
References RequestContext\getMain().
Referenced by ApiQueryTitleBlacklistTest\setUp().
|
staticprotected |
Definition at line 176 of file ApiTestCase.php.
References $errorFormatter, and Language\factory().
Definition at line 163 of file ApiTestCase.php.
References $data, $user, and doApiRequest().
Referenced by ApiWatchTest\getTokens(), ApiBlockTest\getTokens(), and ApiTokensTest\runTokenTest().
|
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 216 of file ApiTestCase.php.
References $code, $data, class, and ApiUsageException\newWithMessage().
Referenced by ApiStashEditTest\testBot(), ApiQuerySiteinfoTest\testDbReplLagInfo(), ApiStashEditTest\testDeletedRevision(), ApiStashEditTest\testDeletedRevisionSection(), ApiStashEditTest\testMalformedStashedTextHash(), ApiStashEditTest\testMissingStashedTextHash(), ApiStashEditTest\testMissingTextAndStashedTextHash(), ApiStashEditTest\testNonexistentBaseRevId(), ApiStashEditTest\testPageWithNoRevisions(), ApiUnblockTest\testUnblockByInvalidId(), ApiUnblockTest\testUnblockNoPermission(), ApiUnblockTest\testUnblockWhenBlocked(), ApiUnblockTest\testUnblockWithProhibitedTag(), ApiStashEditTest\testUnrecognizedFormat(), and ApiLogoutTest\testUserLogoutBadToken().
|
protected |
Reimplemented from MediaWikiLangTestCase.
Reimplemented in ApiQuerySearchTest, ApiQueryWatchlistIntegrationTest, ApiQueryRecentChangesIntegrationTest, ApiQueryTitleBlacklistTest, ApiUnblockTest, ApiBlockTest, ApiDeleteTest, ApiEditPageTest, ApiLoginTest, ApiRevisionDeleteTest, ApiQueryWatchlistRawIntegrationTest, ApiComparePagesTest, ApiQueryPrefixSearchTest, ApiSetNotificationTimestampIntegrationTest, ApiLogoutTest, ApiStashEditTest, ApiUserrightsTest, UploadFromUrlTest, ApiUploadTestCase, and ApiQueryTest.
Definition at line 15 of file ApiTestCase.php.
References $wgServer, ApiQueryInfo\resetTokenCache(), MediaWikiTestCase\setMwGlobals(), and wfScript().
|
protected |
Reimplemented from MediaWikiTestCase.
Reimplemented in ApiQueryTitleBlacklistTest.
Definition at line 36 of file ApiTestCase.php.
References MediaWiki\Session\SessionManager\getGlobalSession().
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().