Create new SessionProviderTestTrait and SessionProviderTestTrait::initProvider method. Replace uses of SessionProvider::init with new method in tests. Bug: T283709 Change-Id: I2770188faf3e4f374f9df885ff4deff7189063fc
48 lines
1.3 KiB
PHP
48 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 )
|
|
);
|
|
}
|
|
}
|