MediaWiki REL1_33
MediaWiki\Tests\Permissions\PermissionManagerTest Class Reference

Database. More...

Inheritance diagram for MediaWiki\Tests\Permissions\PermissionManagerTest:
Collaboration diagram for MediaWiki\Tests\Permissions\PermissionManagerTest:

Public Member Functions

 testActionPermissions ()
 
 testBlockInstanceCache ()
 \MediaWiki\Permissions\PermissionManager::isBlockedFrom
 
 testCascadingSourcesRestrictions ()
 \MediaWiki\Permissions\PermissionManager::checkCascadingSourcesRestrictions
 
 testCssConfigEditPermissions ()
 
 testIsBlockedFrom ( $title, $expect, array $options=[])
 \MediaWiki\Permissions\PermissionManager::isBlockedFrom provideIsBlockedFrom
 
 testJsConfigEditPermissions ()
 
 testJsonConfigEditPermissions ()
 
 testOtherCssConfigEditPermissions ()
 
 testOtherJsConfigEditPermissions ()
 
 testOtherJsonConfigEditPermissions ()
 
 testOtherNonConfigEditPermissions ()
 
 testPageRestrictions ()
 
 testPatrolActionConfigEditPermissions ()
 
 testQuickPermissions ()
 
 testSpecialsAndNSPermissions ()
 
 testUserBlock ()
 \MediaWiki\Permissions\PermissionManager::checkUserBlock
 
 testUserBlockAction ()
 \MediaWiki\Permissions\PermissionManager::checkUserBlock
 
- Public Member Functions inherited from MediaWikiTestCase
 __construct ( $name=null, array $data=[], $dataName='')
 
 __destruct ()
 
 addDBData ()
 Stub.
 
 addDBDataOnce ()
 Stub.
 
 copyTestData (IDatabase $source, IDatabase $target)
 Copy test data from one database connection to another.
 
 dbPrefix ()
 
 getCliArg ( $offset)
 
 hideDeprecated ( $function)
 Don't throw a warning if $function is deprecated and called later.
 
 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.
 
 setupAllTestDBs ()
 Set up all test DBs.
 
 setUserLang ( $lang)
 
 testMediaWikiTestCaseParentSetupCalled ()
 Make sure MediaWikiTestCase extending classes have called their parent setUp method.
 
 usesTemporaryTables ()
 

Static Public Member Functions

static provideIsBlockedFrom ()
 
- Static Public Member Functions inherited from MediaWikiTestCase
static getMutableTestUser ( $groups=[])
 Convenience method for getting a mutable test user.
 
static getTestPrefixFor (IDatabase $db)
 
static getTestSysop ()
 Convenience method for getting an immutable admin test user.
 
static getTestUser ( $groups=[])
 Convenience method for getting an immutable test user.
 
static installMockMwServices (Config $configOverrides=null)
 Creates a new "mock" MediaWikiServices instance, and installs it.
 
static listTables (IMaintainableDatabase $db)
 
static prepareServices (Config $bootstrapConfig)
 
static resetNonServiceCaches ()
 Resets some non-service singleton instances and other static caches.
 
static restoreMwServices ()
 Restores the original, non-mock MediaWikiServices instance.
 
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.
 
static teardownTestDB ()
 Restores MediaWiki to using the table set (table prefix) it was using before setupTestDB() was called.
 
static wfResetOutputBuffersBarrier ( $buffer)
 Used as a marker to prevent wfResetOutputBuffers from breaking PHPUnit.
 

Public Attributes

const USER_TALK_PAGE = '<user talk page>'
 Constant for self::testIsBlockedFrom.
 
- Public Attributes inherited from MediaWikiTestCase
const DB_PREFIX = 'unittest_'
 Table name prefixes.
 
const ORA_DB_PREFIX = 'ut_'
 

Protected Member Functions

 runConfigEditPermissions ( $resultNone, $resultMyCss, $resultMyJson, $resultMyJs, $resultUserCss, $resultUserJson, $resultUserJs, $resultPatrol)
 
 runGroupPermissions ( $action, $result, $result2=null)
 
 setTitle ( $ns, $title="Main_Page")
 
 setUp ()
 
 setUser ( $userName=null)
 
 setUserPerm ( $perm)
 
- 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.
 
 assertArrayEquals (array $expected, array $actual, $ordered=false, $named=false)
 Assert that two arrays are equal.
 
 assertFileContains ( $fileName, $actualData, $createIfMissing=false, $msg='')
 Check whether file contains given data.
 
 assertHTMLEquals ( $expected, $actual, $msg='')
 Put each HTML element on its own line and then equals() the results.
 
 assertSelect ( $table, $fields, $condition, array $expectedRows, array $options=[], array $join_conds=[])
 Asserts that the given database query yields the rows given by $expectedRows.
 
 assertType ( $type, $actual, $message='')
 Asserts the type of the provided value.
 
 assertTypeOrValue ( $type, $actual, $value=false, $message='')
 Asserts that the provided variable is of the specified internal type or equals the $value argument.
 
 checkDbIsSupported ()
 
 checkPHPExtension ( $extName)
 Check if $extName is a loaded PHP extension, will skip the test whenever it is not loaded.
 
 editPage ( $pageName, $text, $summary='', $defaultNs=NS_MAIN)
 Edits or creates a page/revision.
 
 ensureMockDatabaseConnection (IDatabase $db)
 
 getDefaultWikitextNS ()
 Returns the ID of a namespace that defaults to Wikitext.
 
 getExistingTestPage ( $title=null)
 Returns a WikiPage representing an existing page.
 
 getNewTempDirectory ()
 obtains a new temporary directory
 
 getNewTempFile ()
 Obtains a new temporary file name.
 
 getNonexistingTestPage ( $title=null)
 Returns a WikiPage representing a non-existing page.
 
 getSchemaOverrides (IMaintainableDatabase $db)
 Stub.
 
 insertPage ( $pageName, $text='Sample page for unit test.', $namespace=null, User $user=null)
 Insert a new page.
 
 isTestInDatabaseGroup ()
 
 isWikitextNS ( $ns)
 Returns true if the given namespace defaults to Wikitext according to $wgNamespaceContentModels.
 
 markTestSkippedIfDbType ( $type)
 Skip the test if using the specified database type.
 
 markTestSkippedIfNoDiff3 ()
 Check, if $wgDiff3 is set and ready to merge Will mark the calling test as skipped, if not ready.
 
 mergeMwGlobalArrayValue ( $name, $values)
 Merges the given values into a MW global array variable.
 
 objectAssociativeSort (array &$array)
 Does an associative sort that works for objects.
 
 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.
 
 revisionDelete ( $rev, array $value=[Revision::DELETED_TEXT=> 1], $comment='')
 Revision-deletes a revision.
 
 setIniSetting ( $name, $value)
 Set an ini setting for the duration of the test.
 
 setLogger ( $channel, LoggerInterface $logger)
 Sets the logger for a specified channel, for the duration of the test.
 
 setMwGlobals ( $pairs, $value=null)
 Sets a global, maintaining a stashed version of the previous global to be restored in tearDown.
 
 setService ( $name, $object)
 Sets a service, maintaining a stashed version of the previous service to be restored in tearDown.
 
 setTemporaryHook ( $hookName, $handler)
 Create a temporary hook handler which will be reset by tearDown.
 
 stashMwGlobals ( $globalKeys)
 Stashes the global, will be restored in tearDown()
 
 tearDown ()
 
 truncateTable ( $tableName, IDatabase $db=null)
 Empties the given table and resets any auto-increment counters.
 

Protected Attributes

User $altUser
 
string $altUserName
 
User $anonUser
 
PermissionManager $permissionManager
 
Title $title
 
User $user
 
string $userName
 
User $userUser
 
- Protected Attributes inherited from MediaWikiTestCase
Database $db
 Primary database.
 
array $supportedDBs
 
array $tablesUsed = []
 

Additional Inherited Members

- 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.
 
static isUsingExternalStoreDB ()
 Check whether ExternalStoreDB is being used.
 
static setupDatabaseWithTestPrefix (IMaintainableDatabase $db, $prefix=null)
 Setups a database with cloned tables using the given prefix.
 
static setupExternalStoreTestDBs ( $testPrefix=null)
 Clones the External Store database(s) for testing.
 
static stripStringKeys (&$r)
 Utility function for eliminating all string keys from an array.
 

Detailed Description

Database.

\MediaWiki\Permissions\PermissionManager

Definition at line 21 of file PermissionManagerTest.php.

Member Function Documentation

◆ provideIsBlockedFrom()

static MediaWiki\Tests\Permissions\PermissionManagerTest::provideIsBlockedFrom ( )
static

◆ runConfigEditPermissions()

◆ runGroupPermissions()

MediaWiki\Tests\Permissions\PermissionManagerTest::runGroupPermissions (   $action,
  $result,
  $result2 = null 
)
protected

◆ setTitle()

◆ setUp()

◆ setUser()

◆ setUserPerm()

◆ testActionPermissions()

MediaWiki\Tests\Permissions\PermissionManagerTest::testActionPermissions ( )
Todo:
This test method should be split up into separate test methods and data providers \MediaWiki\Permissions\PermissionManager::checkActionPermissions

Definition at line 908 of file PermissionManagerTest.php.

References NS_HELP, NS_MAIN, NS_MEDIA, MediaWiki\Tests\Permissions\PermissionManagerTest\setTitle(), MediaWiki\Tests\Permissions\PermissionManagerTest\setUserPerm(), title, and user.

◆ testBlockInstanceCache()

MediaWiki\Tests\Permissions\PermissionManagerTest::testBlockInstanceCache ( )

◆ testCascadingSourcesRestrictions()

MediaWiki\Tests\Permissions\PermissionManagerTest::testCascadingSourcesRestrictions ( )

\MediaWiki\Permissions\PermissionManager::checkCascadingSourcesRestrictions

Definition at line 877 of file PermissionManagerTest.php.

References NS_MAIN, MediaWiki\Tests\Permissions\PermissionManagerTest\setTitle(), MediaWiki\Tests\Permissions\PermissionManagerTest\setUserPerm(), and title.

◆ testCssConfigEditPermissions()

MediaWiki\Tests\Permissions\PermissionManagerTest::testCssConfigEditPermissions ( )
Todo:
This test method should be split up into separate test methods and data providers \MediaWiki\Permissions\PermissionManager::checkUserConfigPermissions

Definition at line 577 of file PermissionManagerTest.php.

References NS_USER, MediaWiki\Tests\Permissions\PermissionManagerTest\runConfigEditPermissions(), MediaWiki\Tests\Permissions\PermissionManagerTest\setTitle(), and MediaWiki\Tests\Permissions\PermissionManagerTest\setUser().

◆ testIsBlockedFrom()

MediaWiki\Tests\Permissions\PermissionManagerTest::testIsBlockedFrom (   $title,
  $expect,
array  $options = [] 
)

\MediaWiki\Permissions\PermissionManager::isBlockedFrom provideIsBlockedFrom

Parameters
string | null$titleTitle to test.
bool$expectExpected result from User::isBlockedFrom()
array$optionsAdditional test options:
  • 'blockAllowsUTEdit': (bool, default true) Value for $wgBlockAllowsUTEdit
  • 'allowUsertalk': (bool, default false) Passed to Block::__construct()
  • 'pageRestrictions': (array|null) If non-empty, page restriction titles for the block.

Definition at line 1290 of file PermissionManagerTest.php.

References $options, MediaWiki\Tests\Permissions\PermissionManagerTest\$title, MediaWiki\Tests\Permissions\PermissionManagerTest\$user, as, MediaWikiTestCase\getExistingTestPage(), User\getTalkPage(), MediaWikiTestCase\getTestSysop(), MediaWikiTestCase\getTestUser(), MediaWikiTestCase\setMwGlobals(), and wfTimestamp().

◆ testJsConfigEditPermissions()

MediaWiki\Tests\Permissions\PermissionManagerTest::testJsConfigEditPermissions ( )
Todo:
This test method should be split up into separate test methods and data providers \MediaWiki\Permissions\PermissionManager::checkUserConfigPermissions

Definition at line 529 of file PermissionManagerTest.php.

References NS_USER, MediaWiki\Tests\Permissions\PermissionManagerTest\runConfigEditPermissions(), MediaWiki\Tests\Permissions\PermissionManagerTest\setTitle(), and MediaWiki\Tests\Permissions\PermissionManagerTest\setUser().

◆ testJsonConfigEditPermissions()

MediaWiki\Tests\Permissions\PermissionManagerTest::testJsonConfigEditPermissions ( )
Todo:
This test method should be split up into separate test methods and data providers \MediaWiki\Permissions\PermissionManager::checkUserConfigPermissions

Definition at line 552 of file PermissionManagerTest.php.

References MediaWiki\MediaWikiServices\getInstance(), NS_PROJECT, NS_USER, MediaWiki\Tests\Permissions\PermissionManagerTest\runConfigEditPermissions(), MediaWiki\Tests\Permissions\PermissionManagerTest\setTitle(), and MediaWiki\Tests\Permissions\PermissionManagerTest\setUser().

◆ testOtherCssConfigEditPermissions()

MediaWiki\Tests\Permissions\PermissionManagerTest::testOtherCssConfigEditPermissions ( )
Todo:
This test method should be split up into separate test methods and data providers \MediaWiki\Permissions\PermissionManager::checkUserConfigPermissions

Definition at line 646 of file PermissionManagerTest.php.

References NS_USER, MediaWiki\Tests\Permissions\PermissionManagerTest\runConfigEditPermissions(), MediaWiki\Tests\Permissions\PermissionManagerTest\setTitle(), and MediaWiki\Tests\Permissions\PermissionManagerTest\setUser().

◆ testOtherJsConfigEditPermissions()

MediaWiki\Tests\Permissions\PermissionManagerTest::testOtherJsConfigEditPermissions ( )
Todo:
This test method should be split up into separate test methods and data providers \MediaWiki\Permissions\PermissionManager::checkUserConfigPermissions

Definition at line 600 of file PermissionManagerTest.php.

References NS_USER, MediaWiki\Tests\Permissions\PermissionManagerTest\runConfigEditPermissions(), MediaWiki\Tests\Permissions\PermissionManagerTest\setTitle(), and MediaWiki\Tests\Permissions\PermissionManagerTest\setUser().

◆ testOtherJsonConfigEditPermissions()

MediaWiki\Tests\Permissions\PermissionManagerTest::testOtherJsonConfigEditPermissions ( )
Todo:
This test method should be split up into separate test methods and data providers \MediaWiki\Permissions\PermissionManager::checkUserConfigPermissions

Definition at line 623 of file PermissionManagerTest.php.

References NS_USER, MediaWiki\Tests\Permissions\PermissionManagerTest\runConfigEditPermissions(), MediaWiki\Tests\Permissions\PermissionManagerTest\setTitle(), and MediaWiki\Tests\Permissions\PermissionManagerTest\setUser().

◆ testOtherNonConfigEditPermissions()

MediaWiki\Tests\Permissions\PermissionManagerTest::testOtherNonConfigEditPermissions ( )
Todo:
This test method should be split up into separate test methods and data providers \MediaWiki\Permissions\PermissionManager::checkUserConfigPermissions

Definition at line 669 of file PermissionManagerTest.php.

References NS_USER, MediaWiki\Tests\Permissions\PermissionManagerTest\runConfigEditPermissions(), MediaWiki\Tests\Permissions\PermissionManagerTest\setTitle(), and MediaWiki\Tests\Permissions\PermissionManagerTest\setUser().

◆ testPageRestrictions()

MediaWiki\Tests\Permissions\PermissionManagerTest::testPageRestrictions ( )
Todo:
This test method should be split up into separate test methods and data providers

This test is failing per T201776.

Broken \MediaWiki\Permissions\PermissionManager::checkPageRestrictions

Definition at line 773 of file PermissionManagerTest.php.

References MediaWiki\MediaWikiServices\getInstance(), NS_MAIN, NS_PROJECT, MediaWiki\Tests\Permissions\PermissionManagerTest\setTitle(), MediaWiki\Tests\Permissions\PermissionManagerTest\setUserPerm(), and title.

◆ testPatrolActionConfigEditPermissions()

MediaWiki\Tests\Permissions\PermissionManagerTest::testPatrolActionConfigEditPermissions ( )
Todo:
This should use data providers like the other methods here. \MediaWiki\Permissions\PermissionManager::checkUserConfigPermissions

Definition at line 691 of file PermissionManagerTest.php.

References NS_USER, MediaWiki\Tests\Permissions\PermissionManagerTest\runConfigEditPermissions(), MediaWiki\Tests\Permissions\PermissionManagerTest\setTitle(), and MediaWiki\Tests\Permissions\PermissionManagerTest\setUser().

◆ testQuickPermissions()

MediaWiki\Tests\Permissions\PermissionManagerTest::testQuickPermissions ( )

◆ testSpecialsAndNSPermissions()

MediaWiki\Tests\Permissions\PermissionManagerTest::testSpecialsAndNSPermissions ( )
Todo:
This test method should be split up into separate test methods and data providers MediaWiki\Permissions\PermissionManager::checkSpecialsAndNSPermissions

Definition at line 464 of file PermissionManagerTest.php.

References $wgNamespaceProtection, NS_MAIN, NS_MEDIAWIKI, NS_SPECIAL, NS_USER, MediaWiki\Tests\Permissions\PermissionManagerTest\setTitle(), MediaWiki\Tests\Permissions\PermissionManagerTest\setUser(), MediaWiki\Tests\Permissions\PermissionManagerTest\setUserPerm(), title, and user.

◆ testUserBlock()

◆ testUserBlockAction()

MediaWiki\Tests\Permissions\PermissionManagerTest::testUserBlockAction ( )

\MediaWiki\Permissions\PermissionManager::checkUserBlock

Tests to determine that the passed in permission does not get mixed up with an action of the same name.

Definition at line 1189 of file PermissionManagerTest.php.

References $wgLang, MediaWikiTestCase\setMwGlobals(), title, user, and wfTimestamp().

Member Data Documentation

◆ $altUser

User MediaWiki\Tests\Permissions\PermissionManagerTest::$altUser
protected

◆ $altUserName

string MediaWiki\Tests\Permissions\PermissionManagerTest::$altUserName
protected

Definition at line 26 of file PermissionManagerTest.php.

◆ $anonUser

User MediaWiki\Tests\Permissions\PermissionManagerTest::$anonUser
protected

◆ $permissionManager

PermissionManager MediaWiki\Tests\Permissions\PermissionManagerTest::$permissionManager
protected

Definition at line 41 of file PermissionManagerTest.php.

◆ $title

Title MediaWiki\Tests\Permissions\PermissionManagerTest::$title
protected

◆ $user

User MediaWiki\Tests\Permissions\PermissionManagerTest::$user
protected

◆ $userName

string MediaWiki\Tests\Permissions\PermissionManagerTest::$userName
protected

◆ $userUser

User MediaWiki\Tests\Permissions\PermissionManagerTest::$userUser
protected

◆ USER_TALK_PAGE

const MediaWiki\Tests\Permissions\PermissionManagerTest::USER_TALK_PAGE = '<user talk page>'

Constant for self::testIsBlockedFrom.

Definition at line 44 of file PermissionManagerTest.php.

Referenced by MediaWiki\Tests\Permissions\PermissionManagerTest\provideIsBlockedFrom().


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