MediaWiki  1.32.5
ApiQueryTestBase Class Reference

This class has some common functionality for testing query module. More...

Inheritance diagram for ApiQueryTestBase:
Collaboration diagram for ApiQueryTestBase:

Public Attributes

const PARAM_ASSERT =
 
- Public Attributes inherited from MediaWikiTestCase
const DB_PREFIX = 'unittest_'
 Table name prefixes. More...
 
const ORA_DB_PREFIX = 'ut_'
 

Protected Member Functions

 assertResult ( $exp, $result, $message='')
 
 check ( $values, array $session=null, $appendModule=false, User $user=null)
 Checks that the request's result matches the expected results. More...
 
 merge ()
 Merges all requests parameter + expected values into one. More...
 
- 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. 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...
 

Private Member Functions

 mergeExpected (&$all, $item)
 Recursively merges the expected values in the $item into the $all. More...
 
 validateRequestExpectedPair ( $v)
 Check that the parameter is a valid two element array, with the first element being API request and the second - expected result. More...
 

Static Private Member Functions

static sanitizeResultArray ( $result)
 Recursively ksorts a result array and removes any 'pageid' keys. More...
 

Additional Inherited Members

- Public Member Functions inherited from ApiTestCase
 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 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. 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 (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...
 
- 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. 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 inherited from ApiTestCase
ApiTestContext $apiContext
 
- Protected Attributes inherited from MediaWikiTestCase
Database $db
 Primary database. More...
 
array $supportedDBs
 
array $tablesUsed = []
 
- Static Protected Attributes inherited from ApiTestCase
static $apiUrl
 
static $errorFormatter = null
 

Detailed Description

This class has some common functionality for testing query module.

Definition at line 25 of file ApiQueryTestBase.php.

Member Function Documentation

◆ assertResult()

ApiQueryTestBase::assertResult (   $exp,
  $result,
  $message = '' 
)
protected

Definition at line 110 of file ApiQueryTestBase.php.

References $e, and sanitizeResultArray().

Referenced by check(), and ApiQueryContinueTestBase\checkC().

◆ check()

ApiQueryTestBase::check (   $values,
array  $session = null,
  $appendModule = false,
User  $user = null 
)
protected

Checks that the request's result matches the expected results.

Assumes no rawcontinue and a complete batch.

Parameters
array$valuesArray is a two element array( request, expected_results )
array | null$session
bool$appendModule
User | null$user

Definition at line 94 of file ApiQueryTestBase.php.

References $req, $user, as, assertResult(), ApiTestCase\doApiRequest(), list, and validateRequestExpectedPair().

Referenced by ApiQueryBasicTest\testAllTogether(), ApiQueryBasicTest\testGenerator(), ApiQueryBasicTest\testGeneratorRedirects(), ApiQueryBasicTest\testLists(), and ApiQueryBasicTest\testProps().

◆ merge()

ApiQueryTestBase::merge ( )
protected

Merges all requests parameter + expected values into one.

Parameters
array$v,...List of arrays, each of which contains exactly two
Returns
array

Definition at line 38 of file ApiQueryTestBase.php.

References $req, $request, as, list, mergeExpected(), and validateRequestExpectedPair().

Referenced by ApiQueryBasicTest\testAllTogether(), and ApiQueryBasicTest\testGenerator().

◆ mergeExpected()

ApiQueryTestBase::mergeExpected ( $all,
  $item 
)
private

Recursively merges the expected values in the $item into the $all.

Parameters
array&$all
array$item

Definition at line 72 of file ApiQueryTestBase.php.

References as.

Referenced by merge().

◆ sanitizeResultArray()

static ApiQueryTestBase::sanitizeResultArray (   $result)
staticprivate

Recursively ksorts a result array and removes any 'pageid' keys.

Parameters
array$result
Returns
array

Definition at line 145 of file ApiQueryTestBase.php.

References $value, and as.

Referenced by assertResult().

◆ validateRequestExpectedPair()

ApiQueryTestBase::validateRequestExpectedPair (   $v)
private

Check that the parameter is a valid two element array, with the first element being API request and the second - expected result.

Parameters
array$v
Returns
array

Definition at line 56 of file ApiQueryTestBase.php.

References captcha-old\count.

Referenced by check(), and merge().

Member Data Documentation

◆ PARAM_ASSERT

const ApiQueryTestBase::PARAM_ASSERT =

Definition at line 27 of file ApiQueryTestBase.php.


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