49 lines
1.3 KiB
PHP
49 lines
1.3 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace MediaWiki\Session;
|
||
|
|
|
||
|
|
use Config;
|
||
|
|
use HashConfig;
|
||
|
|
use MediaWiki\HookContainer\HookContainer;
|
||
|
|
use MediaWiki\User\UserNameUtils;
|
||
|
|
use Psr\Log\LoggerInterface;
|
||
|
|
use Psr\Log\NullLogger;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* A trait providing utility function for testing subclasses of
|
||
|
|
* SessionProvider. This trait is intended to be used on
|
||
|
|
* subclasses of MediaWikiIntegrationTestCase or MediaWikiUnitTestCase.
|
||
|
|
*
|
||
|
|
* @stable to use
|
||
|
|
* @package MediaWiki\Session
|
||
|
|
*/
|
||
|
|
trait SessionProviderTestTrait {
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Calls init() on an SessionProvider.
|
||
|
|
*
|
||
|
|
* @param SessionProvider $provider
|
||
|
|
* @param LoggerInterface|null $logger
|
||
|
|
* @param Config|null $config
|
||
|
|
* @param SessionManager|null $manager
|
||
|
|
* @param HookContainer|null $hookContainer
|
||
|
|
* @param UserNameUtils|null $userNameUtils
|
||
|
|
*/
|
||
|
|
private function initProvider(
|
||
|
|
SessionProvider $provider,
|
||
|
|
LoggerInterface $logger = null,
|
||
|
|
Config $config = null,
|
||
|
|
SessionManager $manager = null,
|
||
|
|
HookContainer $hookContainer = null,
|
||
|
|
UserNameUtils $userNameUtils = null
|
||
|
|
) {
|
||
|
|
$provider->init(
|
||
|
|
$logger ?? new NullLogger(),
|
||
|
|
$config ?? new HashConfig(),
|
||
|
|
$manager ?? $this->createNoOpMock( SessionManager::class ),
|
||
|
|
$hookContainer ?? $this->createHookContainer(),
|
||
|
|
$userNameUtils ?? $this->createNoOpMock( UserNameUtils::class )
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|