MediaWiki  master
MediaWiki\Auth\AuthManagerTest Class Reference

AuthManager Database MediaWiki\Auth\AuthManager. More...

Inheritance diagram for MediaWiki\Auth\AuthManagerTest:
Collaboration diagram for MediaWiki\Auth\AuthManagerTest:

Public Member Functions

 onSecuritySensitiveOperationStatus (&$status, $operation, $session, $time)
 
 provideAccountCreation ()
 
 provideAccountLink ()
 
 provideAuthentication ()
 
 testAccountCreation (StatusValue $preTest, $primaryTest, $secondaryTest, array $primaryResponses, array $secondaryResponses, array $managerResponses)
 provideAccountCreation More...
 
 testAccountCreationLogging ($isAnon, $logSubtype)
 provideAccountCreationLogging More...
 
 testAccountLink (StatusValue $preTest, array $primaryResponses, array $managerResponses)
 provideAccountLink More...
 
 testAllowsAuthenticationDataChange ($primaryReturn, $secondaryReturn, $expect)
 provideAllowsAuthenticationDataChange More...
 
 testAllowsPropertyChange ()
 
 testAuthentication (StatusValue $preResponse, array $primaryResponses, array $secondaryResponses, array $managerResponses, $link=false)
 provideAuthentication More...
 
 testAuthenticationSessionData ()
 
 testAutoAccountCreation ()
 
 testAutoCreateFailOnLogin ()
 
 testAutoCreateOnLogin ()
 
 testBeginAccountCreation ()
 
 testBeginAccountLink ()
 
 testBeginAuthentication ()
 
 testCanAuthenticateNow ()
 
 testCanCreateAccount ()
 
 testCanCreateAccounts ()
 
 testCanLinkAccounts ()
 
 testChangeAuthenticationData ()
 
 testCheckAccountCreatePermissions ()
 
 testContinueAccountCreation ()
 
 testContinueAccountLink ()
 
 testCreateFromLogin ()
 
 testForcePrimaryAuthenticationProviders ()
 
 testGetAuthenticationRequests ($action, $expect, $state=[])
 provideGetAuthenticationRequests More...
 
 testGetAuthenticationRequestsRequired ()
 
 testNormalizeUsername ()
 
 testProviderCreation ()
 
 testRevokeAccessForUser ()
 
 testSecuritySensitiveOperationStatus ($mutableSession)
 provideSecuritySensitiveOperationStatus More...
 
 testSetDefaultUserOptions ()
 
 testSingleton ()
 
 testUserCanAuthenticate ($primary1Can, $primary2Can, $expect)
 provideUserCanAuthenticate More...
 
 testUserExists ($primary1Exists, $primary2Exists, $expect)
 provideUserExists More...
 
- Public Member Functions inherited from MediaWikiTestCase
 __call ($func, $args)
 
 __construct ($name=null, array $data=[], $dataName= '')
 
 __destruct ()
 
 addDBData ()
 Stub. More...
 
 addDBDataOnce ()
 Stub. 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)
 
 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 provideAccountCreationLogging ()
 
static provideAllowsAuthenticationDataChange ()
 
static provideGetAuthenticationRequests ()
 
static provideSecuritySensitiveOperationStatus ()
 
static provideUserCanAuthenticate ()
 
static provideUserExists ()
 
- Static Public Member Functions inherited from MediaWikiTestCase
static assertNotTag ($matcher, $actual, $message= '', $isHtml=true)
 
static assertTag ($matcher, $actual, $message= '', $isHtml=true)
 Note: we are overriding this method to remove the deprecated error. More...
 
static getMutableTestUser ($groups=[])
 Convenience method for getting a mutable test user. More...
 
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 listTables ($db)
 
static prepareServices (Config $bootstrapConfig)
 Prepare service configuration for unit testing. More...
 
static setUpBeforeClass ()
 
static setupTestDB (DatabaseBase $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...
 

Protected Member Functions

 getMockSessionProvider ($canChangeUser=null, array $methods=[])
 Setup SessionManager with a mock session provider. More...
 
 hook ($hook, $expect)
 Sets a mock on a hook. More...
 
 initializeConfig ()
 Initialize the AuthManagerConfig variable in $this->config. More...
 
 initializeManager ($regen=false)
 Initialize $this->manager. More...
 
 message ($key, $params=[])
 Ensure a value is a clean Message object. More...
 
 setUp ()
 
 unhook ($hook)
 Unsets a hook. More...
 
- 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. More...
 
 assertArrayEquals (array $expected, array $actual, $ordered=false, $named=false)
 Assert that two arrays are equal. 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)
 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...
 
 assertValidHtmlDocument ($html)
 Asserts that the given string is valid HTML document. More...
 
 assertValidHtmlSnippet ($html)
 Asserts that the given string is a valid HTML snippet. More...
 
 checkDbIsSupported ()
 
 checkPHPExtension ($extName)
 Check if $extName is a loaded PHP extension, will skip the test whenever it is not loaded. More...
 
 getDefaultWikitextNS ()
 Returns the ID of a namespace that defaults to Wikitext. More...
 
 getNewTempDirectory ()
 obtains a new temporary directory More...
 
 getNewTempFile ()
 Obtains a new temporary file name. More...
 
 insertPage ($pageName, $text= 'Sample page for unit test.')
 Insert a new page. More...
 
 isWikitextNS ($ns)
 Returns true if the given namespace defaults to Wikitext according to $wgNamespaceContentModels. 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...
 
 setLogger ($channel, LoggerInterface $logger)
 Sets the logger for a specified channel, for the duration of the test. More...
 
 setMwGlobals ($pairs, $value=null)
 
 setService ($name, $object)
 Sets a service, maintaining a stashed version of the previous service to be restored in tearDown. More...
 
 setUp ()
 
 stashMwGlobals ($globalKeys)
 Stashes the global, will be restored in tearDown() More...
 
 tearDown ()
 

Protected Attributes

Config $config
 
Psr Log LoggerInterface $logger
 
AuthManager $manager
 
TestingAccessWrapper $managerPriv
 
 $preauthMocks = []
 
 $primaryauthMocks = []
 
WebRequest $request
 
 $secondaryauthMocks = []
 
- Protected Attributes inherited from MediaWikiTestCase
DatabaseBase $db
 Primary database. More...
 
array $supportedDBs
 
array $tablesUsed = []
 

Static Private Member Functions

static usernameForCreation ($uniq= '')
 

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
 
- 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 resetGlobalServices (Config $bootstrapConfig=null)
 Reset global services, and install testing environment. More...
 
static setupDatabaseWithTestPrefix (DatabaseBase $db, $prefix)
 Setups a database with the given prefix. More...
 
static setupExternalStoreTestDBs ($testPrefix)
 Clones the External Store database(s) for testing. More...
 
static stripStringKeys (&$r)
 Utility function for eliminating all string keys from an array. More...
 

Detailed Description

Member Function Documentation

MediaWiki\Auth\AuthManagerTest::getMockSessionProvider (   $canChangeUser = null,
array  $methods = [] 
)
protected

Setup SessionManager with a mock session provider.

Parameters
bool | null$canChangeUserIf non-null, canChangeUser will be mocked to return this
array$methodsAdditional methods to mock
Returns
array (MediaWiki\Session\SessionProvider, ScopedCallback)

Definition at line 141 of file AuthManagerTest.php.

References MediaWiki\Auth\AuthManagerTest\$manager, MediaWiki\Auth\AuthManagerTest\initializeConfig(), TestingAccessWrapper\newFromObject(), request, MediaWiki\Session\TestUtils\setSessionManagerSingleton(), and use.

Referenced by MediaWiki\Auth\AuthManagerTest\testBeginAuthentication(), MediaWiki\Auth\AuthManagerTest\testCanAuthenticateNow(), and MediaWiki\Auth\AuthManagerTest\testSecuritySensitiveOperationStatus().

MediaWiki\Auth\AuthManagerTest::initializeConfig ( )
protected

Initialize the AuthManagerConfig variable in $this->config.

Uses data from the various 'mocks' fields.

Definition at line 88 of file AuthManagerTest.php.

References MediaWiki\Auth\AuthManagerTest\$config, $type, as, and use.

Referenced by MediaWiki\Auth\AuthManagerTest\getMockSessionProvider(), MediaWiki\Auth\AuthManagerTest\initializeManager(), and MediaWiki\Auth\AuthManagerTest\testProviderCreation().

MediaWiki\Auth\AuthManagerTest::initializeManager (   $regen = false)
protected

Initialize $this->manager.

Parameters
bool$regenForce a call to $this->initializeConfig()

Definition at line 116 of file AuthManagerTest.php.

References MediaWiki\Auth\AuthManagerTest\initializeConfig(), TestingAccessWrapper\newFromObject(), and request.

Referenced by MediaWiki\Auth\AuthManagerTest\testAccountCreation(), MediaWiki\Auth\AuthManagerTest\testAccountCreationLogging(), MediaWiki\Auth\AuthManagerTest\testAccountLink(), MediaWiki\Auth\AuthManagerTest\testAllowsAuthenticationDataChange(), MediaWiki\Auth\AuthManagerTest\testAllowsPropertyChange(), MediaWiki\Auth\AuthManagerTest\testAuthentication(), MediaWiki\Auth\AuthManagerTest\testAuthenticationSessionData(), MediaWiki\Auth\AuthManagerTest\testAutoAccountCreation(), MediaWiki\Auth\AuthManagerTest\testAutoCreateFailOnLogin(), MediaWiki\Auth\AuthManagerTest\testAutoCreateOnLogin(), MediaWiki\Auth\AuthManagerTest\testBeginAccountCreation(), MediaWiki\Auth\AuthManagerTest\testBeginAccountLink(), MediaWiki\Auth\AuthManagerTest\testBeginAuthentication(), MediaWiki\Auth\AuthManagerTest\testCanAuthenticateNow(), MediaWiki\Auth\AuthManagerTest\testCanCreateAccount(), MediaWiki\Auth\AuthManagerTest\testCanCreateAccounts(), MediaWiki\Auth\AuthManagerTest\testCanLinkAccounts(), MediaWiki\Auth\AuthManagerTest\testChangeAuthenticationData(), MediaWiki\Auth\AuthManagerTest\testCheckAccountCreatePermissions(), MediaWiki\Auth\AuthManagerTest\testContinueAccountCreation(), MediaWiki\Auth\AuthManagerTest\testContinueAccountLink(), MediaWiki\Auth\AuthManagerTest\testCreateFromLogin(), MediaWiki\Auth\AuthManagerTest\testForcePrimaryAuthenticationProviders(), MediaWiki\Auth\AuthManagerTest\testGetAuthenticationRequests(), MediaWiki\Auth\AuthManagerTest\testGetAuthenticationRequestsRequired(), MediaWiki\Auth\AuthManagerTest\testNormalizeUsername(), MediaWiki\Auth\AuthManagerTest\testProviderCreation(), MediaWiki\Auth\AuthManagerTest\testRevokeAccessForUser(), MediaWiki\Auth\AuthManagerTest\testSecuritySensitiveOperationStatus(), MediaWiki\Auth\AuthManagerTest\testSetDefaultUserOptions(), MediaWiki\Auth\AuthManagerTest\testUserCanAuthenticate(), and MediaWiki\Auth\AuthManagerTest\testUserExists().

MediaWiki\Auth\AuthManagerTest::onSecuritySensitiveOperationStatus ( $status,
  $operation,
  $session,
  $time 
)

Definition at line 404 of file AuthManagerTest.php.

static MediaWiki\Auth\AuthManagerTest::provideAccountCreationLogging ( )
static

Definition at line 2343 of file AuthManagerTest.php.

static MediaWiki\Auth\AuthManagerTest::provideAllowsAuthenticationDataChange ( )
static
static MediaWiki\Auth\AuthManagerTest::provideSecuritySensitiveOperationStatus ( )
static

Definition at line 407 of file AuthManagerTest.php.

References false, and true.

static MediaWiki\Auth\AuthManagerTest::provideUserCanAuthenticate ( )
static

Definition at line 439 of file AuthManagerTest.php.

References false, and true.

static MediaWiki\Auth\AuthManagerTest::provideUserExists ( )
static

Definition at line 1279 of file AuthManagerTest.php.

References false, and true.

MediaWiki\Auth\AuthManagerTest::setUp ( )
protected
MediaWiki\Auth\AuthManagerTest::testAccountCreationLogging (   $isAnon,
  $logSubtype 
)
MediaWiki\Auth\AuthManagerTest::testAllowsAuthenticationDataChange (   $primaryReturn,
  $secondaryReturn,
  $expect 
)

provideAllowsAuthenticationDataChange

Parameters
StatusValue$primaryReturn
StatusValue$secondaryReturn
Status$expect

Definition at line 1294 of file AuthManagerTest.php.

References $req, class, and MediaWiki\Auth\AuthManagerTest\initializeManager().

MediaWiki\Auth\AuthManagerTest::testAllowsPropertyChange ( )

Definition at line 3135 of file AuthManagerTest.php.

References as, MediaWiki\Auth\AuthManagerTest\initializeManager(), and use.

MediaWiki\Auth\AuthManagerTest::testAuthentication ( StatusValue  $preResponse,
array  $primaryResponses,
array  $secondaryResponses,
array  $managerResponses,
  $link = false 
)
MediaWiki\Auth\AuthManagerTest::testAuthenticationSessionData ( )
MediaWiki\Auth\AuthManagerTest::testCanAuthenticateNow ( )
MediaWiki\Auth\AuthManagerTest::testChangeAuthenticationData ( )
MediaWiki\Auth\AuthManagerTest::testForcePrimaryAuthenticationProviders ( )
MediaWiki\Auth\AuthManagerTest::testNormalizeUsername ( )
MediaWiki\Auth\AuthManagerTest::testRevokeAccessForUser ( )
MediaWiki\Auth\AuthManagerTest::testSingleton ( )
MediaWiki\Auth\AuthManagerTest::testUserCanAuthenticate (   $primary1Can,
  $primary2Can,
  $expect 
)

provideUserCanAuthenticate

Parameters
bool$primary1Can
bool$primary2Can
bool$expect

Definition at line 420 of file AuthManagerTest.php.

References class, and MediaWiki\Auth\AuthManagerTest\initializeManager().

MediaWiki\Auth\AuthManagerTest::testUserExists (   $primary1Exists,
  $primary2Exists,
  $expect 
)

provideUserExists

Parameters
bool$primary1Exists
bool$primary2Exists
bool$expect

Definition at line 1260 of file AuthManagerTest.php.

References class, and MediaWiki\Auth\AuthManagerTest\initializeManager().

static MediaWiki\Auth\AuthManagerTest::usernameForCreation (   $uniq = '')
staticprivate
Parameters
string$uniq
Returns
string

Definition at line 1490 of file AuthManagerTest.php.

References $username, and User\newFromName().

Member Data Documentation

Config MediaWiki\Auth\AuthManagerTest::$config
protected
Psr Log LoggerInterface MediaWiki\Auth\AuthManagerTest::$logger
protected
AuthManager MediaWiki\Auth\AuthManagerTest::$manager
protected
TestingAccessWrapper MediaWiki\Auth\AuthManagerTest::$managerPriv
protected

Definition at line 30 of file AuthManagerTest.php.

MediaWiki\Auth\AuthManagerTest::$preauthMocks = []
protected

Definition at line 23 of file AuthManagerTest.php.

MediaWiki\Auth\AuthManagerTest::$primaryauthMocks = []
protected

Definition at line 24 of file AuthManagerTest.php.

WebRequest MediaWiki\Auth\AuthManagerTest::$request
protected

Definition at line 17 of file AuthManagerTest.php.

MediaWiki\Auth\AuthManagerTest::$secondaryauthMocks = []
protected

Definition at line 25 of file AuthManagerTest.php.


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