MediaWiki  1.33.0
ApiUploadTestCase Class Reference

Abstract class to support upload tests. More...

Inheritance diagram for ApiUploadTestCase:
Collaboration diagram for ApiUploadTestCase:

Public Member Functions

 clearFakeUploads ()
 Remove traces of previous fake uploads. More...
 
 deleteFileByContent ( $filePath)
 Helper function – given a file on the filesystem, find matching content in the db (and associated articles) and remove them. More...
 
 deleteFileByFileName ( $fileName)
 Helper function – remove files and associated articles with a particular filename. More...
 
 deleteFileByTitle ( $title)
 Helper function – remove files and associated articles by Title. More...
 
 fakeUploadChunk ( $fieldName, $fileName, $type, & $chunkData)
 
 fakeUploadFile ( $fieldName, $fileName, $type, $filePath)
 Fake an upload by dumping the file into temp space, and adding info to $_FILES. More...
 
- 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 ()
 

Protected Member Functions

 setUp ()
 Fixture – run before every test. 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...
 
 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...
 

Additional Inherited Members

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

Abstract class to support upload tests.

Definition at line 6 of file ApiUploadTestCase.php.

Member Function Documentation

◆ clearFakeUploads()

ApiUploadTestCase::clearFakeUploads ( )

Remove traces of previous fake uploads.

Definition at line 149 of file ApiUploadTestCase.php.

Referenced by setUp(), ApiUploadTest\testUploadChunks(), and ApiUploadTest\testUploadStash().

◆ deleteFileByContent()

ApiUploadTestCase::deleteFileByContent (   $filePath)

Helper function – given a file on the filesystem, find matching content in the db (and associated articles) and remove them.

Parameters
string$filePathPath to file on the filesystem
Returns
bool

Definition at line 74 of file ApiUploadTestCase.php.

References $success, as, deleteFileByTitle(), FSFile\getSha1Base36FromPath(), and RepoGroup\singleton().

Referenced by ApiUploadTest\testUpload(), ApiUploadTest\testUploadChunks(), ApiUploadTest\testUploadSameContent(), and ApiUploadTest\testUploadStash().

◆ deleteFileByFileName()

ApiUploadTestCase::deleteFileByFileName (   $fileName)

Helper function – remove files and associated articles with a particular filename.

Parameters
string$fileNameFilename to be removed
Returns
bool

Definition at line 62 of file ApiUploadTestCase.php.

References deleteFileByTitle(), Title\newFromText(), and NS_FILE.

Referenced by ApiUploadTest\testUpload(), ApiUploadTest\testUploadChunks(), ApiUploadTest\testUploadSameContent(), ApiUploadTest\testUploadSameFileName(), ApiUploadTest\testUploadStash(), and ApiUploadTest\testUploadZeroLength().

◆ deleteFileByTitle()

ApiUploadTestCase::deleteFileByTitle (   $title)

Helper function – remove files and associated articles by Title.

Parameters
Title$titleTitle to be removed
Returns
bool

Definition at line 27 of file ApiUploadTestCase.php.

References $file, $title, FileDeleteForm\doDelete(), WikiPage\factory(), Title\newFromText(), NS_FILE, and wfFindFile().

Referenced by deleteFileByContent(), and deleteFileByFileName().

◆ fakeUploadChunk()

ApiUploadTestCase::fakeUploadChunk (   $fieldName,
  $fileName,
  $type,
$chunkData 
)

Definition at line 124 of file ApiUploadTestCase.php.

References $type, MediaWikiTestCase\getNewTempFile(), and null.

Referenced by ApiUploadTest\testUploadChunks().

◆ fakeUploadFile()

ApiUploadTestCase::fakeUploadFile (   $fieldName,
  $fileName,
  $type,
  $filePath 
)

Fake an upload by dumping the file into temp space, and adding info to $_FILES.

(This is what PHP would normally do).

Parameters
string$fieldNameName this would have in the upload form
string$fileNameName to title this
string$typeMIME type
string$filePathPath where to find file contents
Exceptions
Exception
Returns
bool

Definition at line 97 of file ApiUploadTestCase.php.

References $type, copy, MediaWikiTestCase\getNewTempFile(), and null.

Referenced by ApiUploadTest\testUpload(), ApiUploadTest\testUploadSameContent(), ApiUploadTest\testUploadSameFileName(), ApiUploadTest\testUploadStash(), and ApiUploadTest\testUploadZeroLength().

◆ setUp()

ApiUploadTestCase::setUp ( )
protected

Fixture – run before every test.

Reimplemented from ApiTestCase.

Definition at line 10 of file ApiUploadTestCase.php.

References clearFakeUploads(), and MediaWikiTestCase\setMwGlobals().


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