MediaWiki REL1_30
UserTest Class Reference

Database. More...

Inheritance diagram for UserTest:
Collaboration diagram for UserTest:

Public Member Functions

 provideExperienceLevel ()
 
 testAllRightsWithMessage ()
 Test, if for all rights a right- message exist, which is used on Special:ListGroupRights as help text Extensions and core.
 
 testAnonOptions ()
 T39963 Make sure defaults are loaded when setOption is called.
 
 testAutoblockCookieInauthentic ()
 Test that a modified BlockID cookie doesn't actually load the relevant block (T152951).
 
 testAutoblockCookieInfiniteExpiry ()
 When a user is autoblocked and a cookie is set to track them, the expiry time of the cookie should match the block's expiry, to a maximum of 24 hours.
 
 testAutoblockCookieNoSecretKey ()
 The BlockID cookie is normally verified with a HMAC, but not if wgSecretKey is not set.
 
 testAutoblockCookies ()
 When a user is autoblocked a cookie is set with which to track them in case they log out and change IP addresses.
 
 testAutoblockCookiesDisabled ()
 Make sure that no cookie is set to track autoblocked users when $wgCookieSetOnAutoblock is false.
 
 testCheckAndSetTouched ()
 User::checkAndSetTouched.
 
 testCheckPasswordValidity ()
 Test password validity checks.
 
 testEquals ()
 User::equals.
 
 testExperienceLevel ( $editCount, $memberSince, $expLevel)
 provideExperienceLevel
 
 testExperienceLevelAnon ()
 
 testFindUsersByGroup ()
 User::findUsersByGroup.
 
 testGetCanonicalName ( $name, $expectedArray)
 User::getCanonicalName() provideGetCanonicalName.
 
 testGetEditCount ()
 Test User::editCount medium User::getEditCount.
 
 testGetEditCountForAnons ()
 Test User::editCount medium User::getEditCount.
 
 testGetGroupsWithPermission ( $expected, $right)
 provideGetGroupsWithPermission User::getGroupsWithPermission
 
 testGetId ()
 User::getId.
 
 testGroupPermissions ()
 User::getGroupPermissions.
 
 testIncEditCount ()
 Test User::editCount medium User::incEditCount.
 
 testIsIP ( $value, $result, $message)
 provideIPs User::isIP
 
 testIsLocallyBlockedProxy ( $ip, $blockListEntry)
 provideIsLocallBlockedProxy User::isLocallyBlockedProxy
 
 testIsPingLimitable ()
 
 testIsValidUserName ( $username, $result, $message)
 provideUserNames User::isValidUserName
 
 testLoggedIn ()
 User::isLoggedIn User::isAnon.
 
 testOptions ()
 Test changing user options.
 
 testRevokePermissions ()
 User::getGroupPermissions.
 
 testSoftBlockRanges ()
 
 testUserGetRightsHooks ()
 User::getRights.
 
 testUserPermissions ()
 User::getRights.
 
- Public Member Functions inherited from MediaWikiTestCase
 __call ( $func, $args)
 
 __construct ( $name=null, array $data=[], $dataName='')
 
 __destruct ()
 
 addDBData ()
 Stub.
 
 addDBDataOnce ()
 Stub.
 
 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)
 
 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 provideGetCanonicalName ()
 
static provideGetGroupsWithPermission ()
 
static provideIPs ()
 
static provideIsLocallBlockedProxy ()
 
static provideUserNames ()
 
- Static Public Member Functions inherited from MediaWikiTestCase
static getMutableTestUser ( $groups=[])
 Convenience method for getting a mutable test user.
 
static getTestSysop ()
 Convenience method for getting an immutable admin test user.
 
static getTestUser ( $groups=[])
 Convenience method for getting an immutable test user.
 
static listTables (IMaintainableDatabase $db)
 
static prepareServices (Config $bootstrapConfig)
 Prepare service configuration for unit testing.
 
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.
 
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.
 

Protected Member Functions

 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.
 
 assertArrayEquals (array $expected, array $actual, $ordered=false, $named=false)
 Assert that two arrays are equal.
 
 assertFileContains ( $fileName, $actualData, $createIfMissing=true, $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)
 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.
 
 assertValidHtmlDocument ( $html)
 Asserts that the given string is valid HTML document.
 
 assertValidHtmlSnippet ( $html)
 Asserts that the given string is a valid HTML snippet.
 
 checkDbIsSupported ()
 
 checkPHPExtension ( $extName)
 Check if $extName is a loaded PHP extension, will skip the test whenever it is not loaded.
 
 getDefaultWikitextNS ()
 Returns the ID of a namespace that defaults to Wikitext.
 
 getNewTempDirectory ()
 obtains a new temporary directory
 
 getNewTempFile ()
 Obtains a new temporary file name.
 
 insertPage ( $pageName, $text='Sample page for unit test.', $namespace=null)
 Insert a new page.
 
 isWikitextNS ( $ns)
 Returns true if the given namespace defaults to Wikitext according to $wgNamespaceContentModels.
 
 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.
 
 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 ()
 

Protected Attributes

User $user
 
- Protected Attributes inherited from MediaWikiTestCase
Database $db
 Primary database.
 
array $supportedDBs
 
array $tablesUsed = []
 

Private Member Functions

 setUpPermissionGlobals ()
 

Additional Inherited Members

- Public Attributes inherited from MediaWikiTestCase
const DB_PREFIX = 'unittest_'
 Table name prefixes.
 
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.
 
static isUsingExternalStoreDB ()
 Check whether ExternalStoreDB is being used.
 
static resetGlobalServices (Config $bootstrapConfig=null)
 Reset global services, and install testing environment.
 
static setupDatabaseWithTestPrefix (IMaintainableDatabase $db, $prefix)
 Setups a database with the given prefix.
 
static setupExternalStoreTestDBs ( $testPrefix)
 Clones the External Store database(s) for testing.
 
static stripStringKeys (&$r)
 Utility function for eliminating all string keys from an array.
 

Detailed Description

Database.

Definition at line 12 of file UserTest.php.

Member Function Documentation

◆ provideExperienceLevel()

UserTest::provideExperienceLevel ( )

Definition at line 892 of file UserTest.php.

◆ provideGetCanonicalName()

static UserTest::provideGetCanonicalName ( )
static

Definition at line 466 of file UserTest.php.

References false.

◆ provideGetGroupsWithPermission()

static UserTest::provideGetGroupsWithPermission ( )
static

Definition at line 158 of file UserTest.php.

◆ provideIPs()

static UserTest::provideIPs ( )
static

Definition at line 187 of file UserTest.php.

◆ provideIsLocallBlockedProxy()

static UserTest::provideIsLocallBlockedProxy ( )
static

Definition at line 941 of file UserTest.php.

◆ provideUserNames()

static UserTest::provideUserNames ( )
static

Definition at line 212 of file UserTest.php.

◆ setUp()

UserTest::setUp ( )
protected

◆ setUpPermissionGlobals()

UserTest::setUpPermissionGlobals ( )
private

Definition at line 31 of file UserTest.php.

References $wgGroupPermissions, and $wgRevokePermissions.

Referenced by setUp().

◆ testAllRightsWithMessage()

UserTest::testAllRightsWithMessage ( )

Test, if for all rights a right- message exist, which is used on Special:ListGroupRights as help text Extensions and core.

Definition at line 240 of file UserTest.php.

◆ testAnonOptions()

UserTest::testAnonOptions ( )

T39963 Make sure defaults are loaded when setOption is called.

User::loadOptions

Definition at line 367 of file UserTest.php.

References $wgDefaultUserOptions.

◆ testAutoblockCookieInauthentic()

UserTest::testAutoblockCookieInauthentic ( )

Test that a modified BlockID cookie doesn't actually load the relevant block (T152951).

Definition at line 796 of file UserTest.php.

References MWCryptRand\generateHex(), MediaWikiTestCase\getTestUser(), and MediaWikiTestCase\setMwGlobals().

◆ testAutoblockCookieInfiniteExpiry()

UserTest::testAutoblockCookieInfiniteExpiry ( )

When a user is autoblocked and a cookie is set to track them, the expiry time of the cookie should match the block's expiry, to a maximum of 24 hours.

If the expiry time is changed, the cookie's should change with it.

Definition at line 705 of file UserTest.php.

References MWCryptRand\generateHex(), MediaWikiTestCase\getTestUser(), MediaWikiTestCase\setMwGlobals(), Block\TYPE_USER, and wfTimestamp().

◆ testAutoblockCookieNoSecretKey()

UserTest::testAutoblockCookieNoSecretKey ( )

The BlockID cookie is normally verified with a HMAC, but not if wgSecretKey is not set.

This checks that a non-authenticated cookie still works.

Definition at line 833 of file UserTest.php.

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

◆ testAutoblockCookies()

UserTest::testAutoblockCookies ( )

When a user is autoblocked a cookie is set with which to track them in case they log out and change IP addresses.

https://phabricator.wikimedia.org/T5233

Definition at line 595 of file UserTest.php.

References MWCryptRand\generateHex(), Block\getIdFromCookieValue(), MediaWikiTestCase\getTestUser(), MediaWikiTestCase\setMwGlobals(), Block\TYPE_USER, and wfTimestamp().

◆ testAutoblockCookiesDisabled()

UserTest::testAutoblockCookiesDisabled ( )

Make sure that no cookie is set to track autoblocked users when $wgCookieSetOnAutoblock is false.

Definition at line 667 of file UserTest.php.

References MWCryptRand\generateHex(), MediaWikiTestCase\getTestUser(), MediaWikiTestCase\setMwGlobals(), and Block\TYPE_USER.

◆ testCheckAndSetTouched()

UserTest::testCheckAndSetTouched ( )

User::checkAndSetTouched.

Definition at line 539 of file UserTest.php.

References MediaWikiTestCase\getMutableTestUser().

◆ testCheckPasswordValidity()

UserTest::testCheckPasswordValidity ( )

Test password validity checks.

There are 3 checks in core,

  • ensure the password meets the minimal length
  • ensure the password is not the same as the username
  • ensure the username/password combo isn't forbidden User::checkPasswordValidity() User::getPasswordValidity() User::isValidPassword()

Definition at line 383 of file UserTest.php.

References MediaWikiTestCase\setMwGlobals().

◆ testEquals()

UserTest::testEquals ( )

User::equals.

Definition at line 488 of file UserTest.php.

References MediaWikiTestCase\getMutableTestUser().

◆ testExperienceLevel()

UserTest::testExperienceLevel ( $editCount,
$memberSince,
$expLevel )

◆ testExperienceLevelAnon()

UserTest::testExperienceLevelAnon ( )

Definition at line 935 of file UserTest.php.

◆ testFindUsersByGroup()

UserTest::testFindUsersByGroup ( )

User::findUsersByGroup.

Definition at line 560 of file UserTest.php.

References MediaWikiTestCase\$users, and MediaWikiTestCase\getMutableTestUser().

◆ testGetCanonicalName()

UserTest::testGetCanonicalName ( $name,
$expectedArray )

User::getCanonicalName() provideGetCanonicalName.

Definition at line 442 of file UserTest.php.

References MediaWikiTestCase\mergeMwGlobalArrayValue().

◆ testGetEditCount()

UserTest::testGetEditCount ( )

Test User::editCount medium User::getEditCount.

Definition at line 268 of file UserTest.php.

References WikiPage\factory(), MediaWikiTestCase\getMutableTestUser(), and ContentHandler\makeContent().

◆ testGetEditCountForAnons()

UserTest::testGetEditCountForAnons ( )

Test User::editCount medium User::getEditCount.

Definition at line 304 of file UserTest.php.

◆ testGetGroupsWithPermission()

UserTest::testGetGroupsWithPermission ( $expected,
$right )

provideGetGroupsWithPermission User::getGroupsWithPermission

Definition at line 150 of file UserTest.php.

◆ testGetId()

UserTest::testGetId ( )

User::getId.

Definition at line 512 of file UserTest.php.

◆ testGroupPermissions()

UserTest::testGroupPermissions ( )

User::getGroupPermissions.

Definition at line 61 of file UserTest.php.

◆ testIncEditCount()

UserTest::testIncEditCount ( )

Test User::editCount medium User::incEditCount.

Definition at line 325 of file UserTest.php.

References MediaWikiTestCase\getMutableTestUser(), and User\incEditCount().

◆ testIsIP()

UserTest::testIsIP ( $value,
$result,
$message )

provideIPs User::isIP

Definition at line 183 of file UserTest.php.

References $value.

◆ testIsLocallyBlockedProxy()

UserTest::testIsLocallyBlockedProxy ( $ip,
$blockListEntry )

provideIsLocallBlockedProxy User::isLocallyBlockedProxy

Definition at line 952 of file UserTest.php.

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

◆ testIsPingLimitable()

UserTest::testIsPingLimitable ( )

Definition at line 870 of file UserTest.php.

References $request, any, and MediaWikiTestCase\setMwGlobals().

◆ testIsValidUserName()

UserTest::testIsValidUserName ( $username,
$result,
$message )

provideUserNames User::isValidUserName

Definition at line 208 of file UserTest.php.

References $username.

◆ testLoggedIn()

UserTest::testLoggedIn ( )

User::isLoggedIn User::isAnon.

Definition at line 521 of file UserTest.php.

References MediaWikiTestCase\getMutableTestUser().

◆ testOptions()

UserTest::testOptions ( )

Test changing user options.

User::setOption User::getOption

Definition at line 344 of file UserTest.php.

References MediaWikiTestCase\getMutableTestUser(), and User\setOption().

◆ testRevokePermissions()

UserTest::testRevokePermissions ( )

User::getGroupPermissions.

Definition at line 78 of file UserTest.php.

◆ testSoftBlockRanges()

UserTest::testSoftBlockRanges ( )

◆ testUserGetRightsHooks()

UserTest::testUserGetRightsHooks ( )

User::getRights.

Definition at line 100 of file UserTest.php.

References MediaWikiTestCase\getTestUser(), and MediaWikiTestCase\mergeMwGlobalArrayValue().

◆ testUserPermissions()

UserTest::testUserPermissions ( )

User::getRights.

Definition at line 89 of file UserTest.php.

Member Data Documentation

◆ $user

User UserTest::$user
protected

Definition at line 16 of file UserTest.php.

Referenced by testSoftBlockRanges().


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