MediaWiki  1.28.1
ApiTestCase Class Reference
Inheritance diagram for ApiTestCase:
Collaboration diagram for ApiTestCase:

Public Member Functions

 testApiTestGroup ()
- Public Member Functions inherited from MediaWikiTestCase
 __call ($func, $args)
 __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)
 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

 doApiRequest (array $params, array $session=null, $appendModule=false, User $user=null)
 Does the API request and returns the result. More...
 doApiRequestWithToken (array $params, array $session=null, User $user=null)
 Add an edit token to the API request This is cheating a bit – we grab a token in the correct format and then add it to the pseudo-session and to the request, without actually requesting a "real" edit token. More...
 doLogin ($testUser= 'sysop')
 editPage ($pageName, $text, $summary= '', $defaultNs=NS_MAIN)
 Edits or creates a page/revision. More...
 getTokenList (TestUser $user, $session=null)
 setUp ()
 tearDown ()
- Protected Member Functions inherited from MediaWikiLangTestCase
 setUp ()
- 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...
 assertHTMLEquals ($expected, $actual, $msg= '')
 Put each HTML element on its own line and then equals() the results. More...
 assertSelect ($table, $fields, $condition, array $expectedRows)
 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...
 assertValidHtmlDocument ($html)
 Asserts that the given string is valid HTML document. More...
 assertValidHtmlSnippet ($html)
 Asserts that the given string is a valid HTML snippet. 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...
 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)
 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...
 setUp ()
 stashMwGlobals ($globalKeys)
 Stashes the global, will be restored in tearDown() More...
 tearDown ()

Protected Attributes

ApiTestContext $apiContext
- Protected Attributes inherited from MediaWikiTestCase
Database $db
 Primary database. More...
array $supportedDBs
array $tablesUsed = []

Static Protected Attributes

static $apiUrl

Additional Inherited Members

- Static Public Member Functions inherited from MediaWikiTestCase
static assertNotTag ($matcher, $actual, $message= '', $isHtml=true)
static assertTag ($matcher, $actual, $message= '', $isHtml=true)
 Note: we are overriding this method to remove the deprecated error. More...
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 (Database $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 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 (Database $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...

Detailed Description

Definition at line 3 of file ApiTestCase.php.

Member Function Documentation

ApiTestCase::doApiRequest ( array  $params,
array  $session = null,
  $appendModule = false,
User  $user = null 

Does the API request and returns the result.

The returned value is an array containing

  • the result data (array)
  • the request (WebRequest)
  • the session data of the request (array)
  • if $appendModule is true, the Api module $module
array | null$session
User | null$user

Definition at line 71 of file ApiTestCase.php.

References $context, $user, $wgRequest, $wgUser, RequestContext\getMain(), global, and MediaWiki\Auth\AuthManager\resetCache().

Referenced by ApiQueryTestBase\check(), doApiRequestWithToken(), ApiQueryWatchlistRawIntegrationTest\doGeneratorWatchlistRawRequest(), ApiQueryWatchlistIntegrationTest\doGeneratorWatchlistRequest(), ApiQueryWatchlistRawIntegrationTest\doListWatchlistRawRequest(), ApiQueryWatchlistIntegrationTest\doListWatchlistRequest(), doLogin(), getTokenList(), ApiQueryContinueTestBase\query(), ApiLoginTest\testApiLoginBadPass(), ApiLoginTest\testApiLoginGoodPass(), ApiLoginTest\testApiLoginNoName(), ApiMainTest\testAssert(), ApiMainTest\testAssertUser(), ApiBlockTest\testBlockingActionWithNoToken(), ApiLoginTest\testBotPassword(), ApiQueryRevisionsTest\testContentComesWithContentModelAndFormat(), ApiWatchTest\testGetRollbackToken(), ApiRevisionDeleteTest\testHidingRevisions(), ApiUploadTest\testLogin(), ApiBlockTest\testMakeNormalBlock(), ApiParseTest\testParseNonexistentPage(), ApiQueryAllPagesTest\testPrefixNormalizationSearchBug(), ApiPurgeTest\testPurgeMainPage(), ApiLoginTest\testRunLogin(), ApiQueryTest\testTitlesAreRejectedIfInvalid(), ApiQueryTest\testTitlesGetNormalized(), ApiRevisionDeleteTest\testUnhidingOutput(), ApiUploadTest\testUploadRequiresToken(), ApiWatchTest\testWatchClear(), ApiWatchTest\testWatchEdit(), ApiWatchTest\testWatchProtect(), ApiWatchTest\testWatchRollback(), and ApiUnblockTest\testWithNoToken().

ApiTestCase::doApiRequestWithToken ( array  $params,
array  $session = null,
User  $user = null 

Add an edit token to the API request This is cheating a bit – we grab a token in the correct format and then add it to the pseudo-session and to the request, without actually requesting a "real" edit token.

array$paramsKey-value API params
array | null$sessionSession array
User | null$userA User object for the context
array Result of the API call
ExceptionIn case wsToken is not set in the session

Definition at line 125 of file ApiTestCase.php.

References $timestamp, $user, $wgRequest, doApiRequest(), global, MediaWiki\Session\Token\SUFFIX, and wfTimestamp().

Referenced by ApiStashEditTest\testBasicEdit(), ApiEditPageTest\testCheckDirectApiEditingDisallowed_forNonTextContent(), ApiEditPageTest\testEdit(), ApiEditPageTest\testEdit_redirect(), ApiEditPageTest\testEdit_redirectText(), ApiEditPageTest\testEditAppend(), ApiEditPageTest\testEditConflict(), ApiEditPageTest\testEditConflict_bug41990(), ApiEditPageTest\testEditConflict_newSection(), ApiEditPageTest\testEditNewSection(), ApiEditPageTest\testEditSection(), ApiSetNotificationTimestampIntegrationTest\testStuff(), ApiEditPageTest\testSupportsDirectApiEditing_withContentHandlerOverride(), ApiEditPageTest\testUndoAfterContentModelChange(), ApiUploadTest\testUpload(), ApiUploadTest\testUploadChunks(), ApiUploadTest\testUploadMissingParams(), ApiUploadTest\testUploadSameContent(), ApiUploadTest\testUploadSameFileName(), ApiUploadTest\testUploadStash(), and ApiUploadTest\testUploadZeroLength().

ApiTestCase::editPage (   $pageName,
  $summary = '',
  $defaultNs = NS_MAIN 

Edits or creates a page/revision.

string$pageNamePage title
string$textContent of the page
string$summaryOptional summary string for the revision
int$defaultNsOptional namespace id
array Array as returned by WikiPage::doEditContent()

Definition at line 48 of file ApiTestCase.php.

References $page, $summary, $title, WikiPage\factory(), ContentHandler\makeContent(), and Title\newFromText().

Referenced by ApiQueryContinue2Test\addDBDataOnce(), ApiQueryContinueTest\addDBDataOnce(), ApiQueryBasicTest\addDBDataOnce(), and ApiQueryBasicTest\testGeneratorRedirects().

ApiTestCase::getTokenList ( TestUser  $user,
  $session = null 
ApiTestCase::setUp ( )
ApiTestCase::tearDown ( )
ApiTestCase::testApiTestGroup ( )

Definition at line 199 of file ApiTestCase.php.

Member Data Documentation

ApiTestContext ApiTestCase::$apiContext

Definition at line 9 of file ApiTestCase.php.


Definition at line 4 of file ApiTestCase.php.

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