MediaWiki  1.33.0
ApiMainTest Class Reference

API Database medium. More...

Inheritance diagram for ApiMainTest:
Collaboration diagram for ApiMainTest:

Public Member Functions

 provideExceptionErrors ()
 
 testAddRequestedFieldsCurTimestamp ()
 
 testAddRequestedFieldsRequestId ()
 
 testAddRequestedFieldsResponseLangInfo ()
 
 testApi ()
 Test that the API will accept a FauxRequest and execute. More...
 
 testApiErrorFormatterCreation (array $request, array $expect)
 Test proper creation of the ApiErrorFormatter. More...
 
 testApiNoParam ()
 
 testAssert ( $registered, $rights, $assert, $error)
 Tests the assert={user|bot} functionality. More...
 
 testAssertBeforeModule ()
 Test that 'assert' is processed before module errors. More...
 
 testAssertUser ()
 Tests the assertuser= functionality. More...
 
 testCheckConditionalRequestHeaders ( $headers, $conditions, $status, $options=[])
 Test HTTP precondition headers. More...
 
 testCheckConditionalRequestHeadersFailed ()
 
 testCheckExecutePermissionHookAbort ()
 
 testCheckExecutePermissionPromiseNonWrite ()
 
 testCheckExecutePermissionsReadProhibited ()
 
 testCheckExecutePermissionWriteApiProhibited ()
 
 testCheckExecutePermissionWriteDisabled ()
 
 testCheckMaxLagExceeded ()
 
 testCheckMaxLagExceededWithHostNames ()
 
 testCheckMaxLagFailed ()
 
 testCheckMaxLagOkay ()
 
 testClassNamesInModuleManager ()
 Test if all classes in the main module manager exists. More...
 
 testConditionalRequestHeadersOutput ( $conditions, $headers, $isError=false, $post=false)
 Test conditional headers output provideConditionalRequestHeadersOutput. More...
 
 testExceptionErrors ( $error, $expectReturn, $expectResult)
 provideExceptionErrors More...
 
 testGetValUnsupportedArray ()
 
 testLacksSameOriginSecurity ()
 
 testNonWhitelistedCorsWithCookies ()
 
 testPrinterParameterValidationError ()
 
 testReportUnusedParams ()
 
 testSetCacheModePrivateWiki ()
 
 testSetCacheModeUnrecognized ()
 
 testSetContinuationManager ()
 
 testSetContinuationManagerTwice ( $args)
 @depends testSetContinuationManager More...
 
 testSetupModuleInvalidTokenProvided ()
 
 testSetupModuleNeedsTokenNeedntBePosted ()
 
 testSetupModuleNeedsTokenTrue ()
 
 testSetupModuleNoTokenProvided ()
 
 testSetupModuleUnknown ()
 
 testSuppressedLogin ()
 
 testUselang ()
 
- 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

static provideApiErrorFormatterCreation ()
 
static provideAssert ()
 
static provideCheckConditionalRequestHeaders ()
 
static provideConditionalRequestHeadersOutput ()
 
- 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 (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...
 

Private Member Functions

 doTestCheckMaxLag ( $lag)
 
 getNonInternalApiMain (array $requestData, array $headers=[])
 ApiMain behaves differently if passed a FauxRequest (mInternalMode set to true) or a proper WebRequest (mInternalMode false). More...
 

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
 
- 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...
 
- 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

API Database medium.

ApiMain

Definition at line 13 of file ApiMainTest.php.

Member Function Documentation

◆ doTestCheckMaxLag()

ApiMainTest::doTestCheckMaxLag (   $lag)
private

◆ getNonInternalApiMain()

ApiMainTest::getNonInternalApiMain ( array  $requestData,
array  $headers = [] 
)
private

ApiMain behaves differently if passed a FauxRequest (mInternalMode set to true) or a proper WebRequest (mInternalMode false).

For most tests we can just set mInternalMode to false using TestingAccessWrapper, but this doesn't work for the constructor. This method returns an ApiMain that's been set up in non-internal mode.

Note that calling execute() will print to the console. Wrap it in ob_start()/ob_end_clean() to prevent this.

Parameters
array$requestDataQuery parameters for the WebRequest
array$headersHeaders for the WebRequest

Definition at line 48 of file ApiMainTest.php.

References $req, $response, and class.

Referenced by testNonWhitelistedCorsWithCookies(), testPrinterParameterValidationError(), testSuppressedLogin(), and testUselang().

◆ provideApiErrorFormatterCreation()

static ApiMainTest::provideApiErrorFormatterCreation ( )
static

Definition at line 852 of file ApiMainTest.php.

References class.

◆ provideAssert()

static ApiMainTest::provideAssert ( )
static

Definition at line 378 of file ApiMainTest.php.

References false.

◆ provideCheckConditionalRequestHeaders()

static ApiMainTest::provideCheckConditionalRequestHeaders ( )
static

Definition at line 533 of file ApiMainTest.php.

References $wgSquidMaxage, true, and wfTimestamp().

◆ provideConditionalRequestHeadersOutput()

static ApiMainTest::provideConditionalRequestHeadersOutput ( )
static

Definition at line 670 of file ApiMainTest.php.

◆ provideExceptionErrors()

◆ testAddRequestedFieldsCurTimestamp()

ApiMainTest::testAddRequestedFieldsCurTimestamp ( )

Definition at line 172 of file ApiMainTest.php.

References $req.

◆ testAddRequestedFieldsRequestId()

ApiMainTest::testAddRequestedFieldsRequestId ( )

Definition at line 161 of file ApiMainTest.php.

References $req.

◆ testAddRequestedFieldsResponseLangInfo()

ApiMainTest::testAddRequestedFieldsResponseLangInfo ( )

Definition at line 184 of file ApiMainTest.php.

References $data, and $req.

◆ testApi()

ApiMainTest::testApi ( )

Test that the API will accept a FauxRequest and execute.

Definition at line 18 of file ApiMainTest.php.

References $data.

◆ testApiErrorFormatterCreation()

ApiMainTest::testApiErrorFormatterCreation ( array  $request,
array  $expect 
)

Test proper creation of the ApiErrorFormatter.

provideApiErrorFormatterCreation

Parameters
array$requestRequest parameters
array$expectExpected data

Definition at line 836 of file ApiMainTest.php.

References $context, and $request.

◆ testApiNoParam()

ApiMainTest::testApiNoParam ( )

Definition at line 28 of file ApiMainTest.php.

References $data.

◆ testAssert()

ApiMainTest::testAssert (   $registered,
  $rights,
  $assert,
  $error 
)

Tests the assert={user|bot} functionality.

provideAssert

Parameters
bool$registered
array$rights
string$assert
string | bool$errorFalse if no error expected

Definition at line 397 of file ApiMainTest.php.

References $e, $user, ApiTestCase\doApiRequest(), MediaWikiTestCase\getMutableTestUser(), and User.

◆ testAssertBeforeModule()

ApiMainTest::testAssertBeforeModule ( )

Test that 'assert' is processed before module errors.

Definition at line 441 of file ApiMainTest.php.

References $e, ApiTestCase\doApiRequest(), and ApiBase\LIMIT_SML1.

◆ testAssertUser()

ApiMainTest::testAssertUser ( )

Tests the assertuser= functionality.

Definition at line 420 of file ApiMainTest.php.

References $e, $user, ApiTestCase\doApiRequest(), and MediaWikiTestCase\getTestUser().

◆ testCheckConditionalRequestHeaders()

ApiMainTest::testCheckConditionalRequestHeaders (   $headers,
  $conditions,
  $status,
  $options = [] 
)

Test HTTP precondition headers.

provideCheckConditionalRequestHeaders

Parameters
array$headersHTTP headers
array$conditionsReturn data for ApiBase::getConditionalRequestData
int$statusExpected response status
array$optionsArray of options: post => true Request is a POST cdn => true CDN is enabled ($wgUseSquid)

Definition at line 495 of file ApiMainTest.php.

References $context, $options, $request, $ret, any, class, MediaWikiTestCase\setMwGlobals(), and use.

◆ testCheckConditionalRequestHeadersFailed()

ApiMainTest::testCheckConditionalRequestHeadersFailed ( )

Definition at line 291 of file ApiMainTest.php.

References $req, class, MediaWikiTestCase\setMwGlobals(), use, and wfTimestamp().

◆ testCheckExecutePermissionHookAbort()

ApiMainTest::testCheckExecutePermissionHookAbort ( )

Definition at line 756 of file ApiMainTest.php.

References class, and MediaWikiTestCase\setTemporaryHook().

◆ testCheckExecutePermissionPromiseNonWrite()

ApiMainTest::testCheckExecutePermissionPromiseNonWrite ( )

Definition at line 740 of file ApiMainTest.php.

References $req, and class.

◆ testCheckExecutePermissionsReadProhibited()

ApiMainTest::testCheckExecutePermissionsReadProhibited ( )

Definition at line 702 of file ApiMainTest.php.

References class, and MediaWikiTestCase\setGroupPermissions().

◆ testCheckExecutePermissionWriteApiProhibited()

ApiMainTest::testCheckExecutePermissionWriteApiProhibited ( )

Definition at line 726 of file ApiMainTest.php.

References class, and MediaWikiTestCase\setGroupPermissions().

◆ testCheckExecutePermissionWriteDisabled()

ApiMainTest::testCheckExecutePermissionWriteDisabled ( )

Definition at line 712 of file ApiMainTest.php.

References class.

◆ testCheckMaxLagExceeded()

ApiMainTest::testCheckMaxLagExceeded ( )

Definition at line 360 of file ApiMainTest.php.

References class, doTestCheckMaxLag(), and MediaWikiTestCase\setMwGlobals().

◆ testCheckMaxLagExceededWithHostNames()

ApiMainTest::testCheckMaxLagExceededWithHostNames ( )

Definition at line 369 of file ApiMainTest.php.

References class, doTestCheckMaxLag(), and MediaWikiTestCase\setMwGlobals().

◆ testCheckMaxLagFailed()

ApiMainTest::testCheckMaxLagFailed ( )

Definition at line 272 of file ApiMainTest.php.

References $req, and class.

◆ testCheckMaxLagOkay()

ApiMainTest::testCheckMaxLagOkay ( )

Definition at line 353 of file ApiMainTest.php.

References doTestCheckMaxLag().

◆ testClassNamesInModuleManager()

ApiMainTest::testClassNamesInModuleManager ( )

Test if all classes in the main module manager exists.

Definition at line 470 of file ApiMainTest.php.

References $modules, $name, and as.

◆ testConditionalRequestHeadersOutput()

ApiMainTest::testConditionalRequestHeadersOutput (   $conditions,
  $headers,
  $isError = false,
  $post = false 
)

Test conditional headers output provideConditionalRequestHeadersOutput.

Parameters
array$conditionsReturn data for ApiBase::getConditionalRequestData
array$headersExpected output headers
bool$isError$isError flag
bool$postRequest is a POST

Definition at line 638 of file ApiMainTest.php.

References $header, $request, $response, any, as, class, and use.

◆ testExceptionErrors()

ApiMainTest::testExceptionErrors (   $error,
  $expectReturn,
  $expectResult 
)

provideExceptionErrors

Parameters
Exception$exception
array$expectReturn
array$expectResult

Definition at line 965 of file ApiMainTest.php.

References $context, and $ret.

◆ testGetValUnsupportedArray()

ApiMainTest::testGetValUnsupportedArray ( )

Definition at line 773 of file ApiMainTest.php.

◆ testLacksSameOriginSecurity()

ApiMainTest::testLacksSameOriginSecurity ( )

Definition at line 797 of file ApiMainTest.php.

References $request, and MediaWikiTestCase\mergeMwGlobalArrayValue().

◆ testNonWhitelistedCorsWithCookies()

ApiMainTest::testNonWhitelistedCorsWithCookies ( )

◆ testPrinterParameterValidationError()

ApiMainTest::testPrinterParameterValidationError ( )

Definition at line 1142 of file ApiMainTest.php.

References $data, FormatJson\decode(), and getNonInternalApiMain().

◆ testReportUnusedParams()

ApiMainTest::testReportUnusedParams ( )

Definition at line 785 of file ApiMainTest.php.

◆ testSetCacheModePrivateWiki()

ApiMainTest::testSetCacheModePrivateWiki ( )

Definition at line 151 of file ApiMainTest.php.

References MediaWikiTestCase\setGroupPermissions().

◆ testSetCacheModeUnrecognized()

ApiMainTest::testSetCacheModeUnrecognized ( )

Definition at line 141 of file ApiMainTest.php.

◆ testSetContinuationManager()

ApiMainTest::testSetContinuationManager ( )

Definition at line 121 of file ApiMainTest.php.

References class.

◆ testSetContinuationManagerTwice()

ApiMainTest::testSetContinuationManagerTwice (   $args)

@depends testSetContinuationManager

Definition at line 132 of file ApiMainTest.php.

References $args, class, and list.

◆ testSetupModuleInvalidTokenProvided()

ApiMainTest::testSetupModuleInvalidTokenProvided ( )

Definition at line 223 of file ApiMainTest.php.

References $req, and class.

◆ testSetupModuleNeedsTokenNeedntBePosted()

ApiMainTest::testSetupModuleNeedsTokenNeedntBePosted ( )

Definition at line 254 of file ApiMainTest.php.

References class, and use.

◆ testSetupModuleNeedsTokenTrue()

ApiMainTest::testSetupModuleNeedsTokenTrue ( )

Definition at line 236 of file ApiMainTest.php.

References class, and use.

◆ testSetupModuleNoTokenProvided()

ApiMainTest::testSetupModuleNoTokenProvided ( )

Definition at line 210 of file ApiMainTest.php.

References $req, and class.

◆ testSetupModuleUnknown()

ApiMainTest::testSetupModuleUnknown ( )

Definition at line 201 of file ApiMainTest.php.

References $req, and class.

◆ testSuppressedLogin()

ApiMainTest::testSuppressedLogin ( )

Definition at line 102 of file ApiMainTest.php.

References getNonInternalApiMain().

◆ testUselang()

ApiMainTest::testUselang ( )

Definition at line 65 of file ApiMainTest.php.

References $wgLang, and getNonInternalApiMain().


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