MediaWiki  1.28.0
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 
)
protected

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
Parameters
array$params
array | null$session
bool$appendModule
User | null$user
Returns
array

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 
)
protected

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.

Parameters
array$paramsKey-value API params
array | null$sessionSession array
User | null$userA User object for the context
Returns
array Result of the API call
Exceptions
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,
  $text,
  $summary = '',
  $defaultNs = NS_MAIN 
)
protected

Edits or creates a page/revision.

Parameters
string$pageNamePage title
string$textContent of the page
string$summaryOptional summary string for the revision
int$defaultNsOptional namespace id
Returns
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 
)
protected
ApiTestCase::setUp ( )
protected
ApiTestCase::tearDown ( )
protected
ApiTestCase::testApiTestGroup ( )

Definition at line 199 of file ApiTestCase.php.

Member Data Documentation

ApiTestContext ApiTestCase::$apiContext
protected

Definition at line 9 of file ApiTestCase.php.

ApiTestCase::$apiUrl
staticprotected

Definition at line 4 of file ApiTestCase.php.


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