Cleanup to PageUpdaterFactory and tests
Use one line instead of three to document variable types. Make ContentHandlerFactory final again, no need to make non-final. Use MockServiceDependenciesTrait to simplify creation of PageUpdaterFactory in unit tests. Use Wikimedia\Rdbms\LoadBalancer instead of deprecated alias \LoadBalancer. Follow-up: I2a060bfa8ac098edf24fc4d51212eeb7ddf3942d Change-Id: I63b18f71cb6e40c971511e71e8475d49ef530d71
This commit is contained in:
parent
edd6ed7c5e
commit
9d0d489412
3 changed files with 30 additions and 81 deletions
|
|
@ -64,74 +64,46 @@ class PageUpdaterFactory {
|
||||||
'UseRCPatrol',
|
'UseRCPatrol',
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/** @var RevisionStore */
|
||||||
* @var RevisionStore
|
|
||||||
*/
|
|
||||||
private $revisionStore;
|
private $revisionStore;
|
||||||
|
|
||||||
/**
|
/** @var RevisionRenderer */
|
||||||
* @var RevisionRenderer
|
|
||||||
*/
|
|
||||||
private $revisionRenderer;
|
private $revisionRenderer;
|
||||||
|
|
||||||
/**
|
/** @var SlotRoleRegistry */
|
||||||
* @var SlotRoleRegistry
|
|
||||||
*/
|
|
||||||
private $slotRoleRegistry;
|
private $slotRoleRegistry;
|
||||||
|
|
||||||
/**
|
/** @var ParserCache */
|
||||||
* @var ParserCache
|
|
||||||
*/
|
|
||||||
private $parserCache;
|
private $parserCache;
|
||||||
|
|
||||||
/**
|
/** @var JobQueueGroup */
|
||||||
* @var JobQueueGroup
|
|
||||||
*/
|
|
||||||
private $jobQueueGroup;
|
private $jobQueueGroup;
|
||||||
|
|
||||||
/**
|
/** @var MessageCache */
|
||||||
* @var MessageCache
|
|
||||||
*/
|
|
||||||
private $messageCache;
|
private $messageCache;
|
||||||
|
|
||||||
/**
|
/** @var Language */
|
||||||
* @var Language
|
|
||||||
*/
|
|
||||||
private $contLang;
|
private $contLang;
|
||||||
|
|
||||||
/**
|
/** @var ILBFactory */
|
||||||
* @var ILBFactory
|
|
||||||
*/
|
|
||||||
private $loadbalancerFactory;
|
private $loadbalancerFactory;
|
||||||
|
|
||||||
/**
|
/** @var IContentHandlerFactory */
|
||||||
* @var IContentHandlerFactory
|
|
||||||
*/
|
|
||||||
private $contentHandlerFactory;
|
private $contentHandlerFactory;
|
||||||
|
|
||||||
/**
|
/** @var HookContainer */
|
||||||
* @var HookContainer
|
|
||||||
*/
|
|
||||||
private $hookContainer;
|
private $hookContainer;
|
||||||
|
|
||||||
/**
|
/** @var EditResultCache */
|
||||||
* @var EditResultCache
|
|
||||||
*/
|
|
||||||
private $editResultCache;
|
private $editResultCache;
|
||||||
|
|
||||||
/**
|
/** @var UserNameUtils */
|
||||||
* @var UserNameUtils
|
|
||||||
*/
|
|
||||||
private $userNameUtils;
|
private $userNameUtils;
|
||||||
|
|
||||||
/**
|
/** @var LoggerInterface */
|
||||||
* @var LoggerInterface
|
|
||||||
*/
|
|
||||||
private $logger;
|
private $logger;
|
||||||
|
|
||||||
/**
|
/** @var ServiceOptions */
|
||||||
* @var ServiceOptions
|
|
||||||
*/
|
|
||||||
private $options;
|
private $options;
|
||||||
|
|
||||||
/** @var UserEditTracker */
|
/** @var UserEditTracker */
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ use Wikimedia\ObjectFactory;
|
||||||
* @ingroup Content
|
* @ingroup Content
|
||||||
* @since 1.35
|
* @since 1.35
|
||||||
*/
|
*/
|
||||||
class ContentHandlerFactory implements IContentHandlerFactory {
|
final class ContentHandlerFactory implements IContentHandlerFactory {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string[]|callable[]
|
* @var string[]|callable[]
|
||||||
|
|
|
||||||
|
|
@ -1,36 +1,24 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace MediaWiki\Tests\Storage;
|
namespace MediaWiki\Tests\Unit\Storage;
|
||||||
|
|
||||||
use JobQueueGroup;
|
|
||||||
use Language;
|
|
||||||
use LoadBalancer;
|
|
||||||
use MediaWiki\Config\ServiceOptions;
|
use MediaWiki\Config\ServiceOptions;
|
||||||
use MediaWiki\Content\ContentHandlerFactory;
|
|
||||||
use MediaWiki\HookContainer\HookContainer;
|
|
||||||
use MediaWiki\Revision\RevisionRenderer;
|
|
||||||
use MediaWiki\Revision\RevisionStore;
|
|
||||||
use MediaWiki\Revision\SlotRoleRegistry;
|
|
||||||
use MediaWiki\Storage\DerivedPageDataUpdater;
|
use MediaWiki\Storage\DerivedPageDataUpdater;
|
||||||
use MediaWiki\Storage\EditResultCache;
|
|
||||||
use MediaWiki\Storage\PageUpdater;
|
use MediaWiki\Storage\PageUpdater;
|
||||||
use MediaWiki\Storage\PageUpdaterFactory;
|
use MediaWiki\Storage\PageUpdaterFactory;
|
||||||
use MediaWiki\User\UserEditTracker;
|
use MediaWiki\Tests\Unit\MockServiceDependenciesTrait;
|
||||||
use MediaWiki\User\UserGroupManager;
|
|
||||||
use MediaWiki\User\UserIdentityValue;
|
use MediaWiki\User\UserIdentityValue;
|
||||||
use MediaWiki\User\UserNameUtils;
|
|
||||||
use MediaWikiUnitTestCase;
|
use MediaWikiUnitTestCase;
|
||||||
use MessageCache;
|
|
||||||
use ParserCache;
|
|
||||||
use Psr\Log\LoggerInterface;
|
|
||||||
use Wikimedia\Rdbms\LBFactory;
|
use Wikimedia\Rdbms\LBFactory;
|
||||||
|
use Wikimedia\Rdbms\LoadBalancer;
|
||||||
use WikiPage;
|
use WikiPage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @covers MediaWiki\Storage\PageUpdaterFactory
|
* @covers MediaWiki\Storage\PageUpdaterFactory
|
||||||
* @group Database
|
|
||||||
*/
|
*/
|
||||||
class PageUpdaterFactoryTest extends MediaWikiUnitTestCase {
|
class PageUpdaterFactoryTest extends MediaWikiUnitTestCase {
|
||||||
|
use MockServiceDependenciesTrait;
|
||||||
|
|
||||||
private function getPageUpdaterFactory() {
|
private function getPageUpdaterFactory() {
|
||||||
$config = [
|
$config = [
|
||||||
'ArticleCountMethod' => null,
|
'ArticleCountMethod' => null,
|
||||||
|
|
@ -46,27 +34,16 @@ class PageUpdaterFactoryTest extends MediaWikiUnitTestCase {
|
||||||
$lbFactory = $this->createNoOpMock( LBFactory::class, [ 'getMainLB' ] );
|
$lbFactory = $this->createNoOpMock( LBFactory::class, [ 'getMainLB' ] );
|
||||||
$lbFactory->method( 'getMainLB' )->willReturn( $lb );
|
$lbFactory->method( 'getMainLB' )->willReturn( $lb );
|
||||||
|
|
||||||
return new PageUpdaterFactory(
|
return $this->newServiceInstance(
|
||||||
$this->createNoOpMock( RevisionStore::class ),
|
PageUpdaterFactory::class,
|
||||||
$this->createNoOpMock( RevisionRenderer::class ),
|
[
|
||||||
$this->createNoOpMock( SlotRoleRegistry::class ),
|
'loadbalancerFactory' => $lbFactory,
|
||||||
$this->createNoOpMock( ParserCache::class ),
|
'options' => new ServiceOptions(
|
||||||
$this->createNoOpMock( JobQueueGroup::class ),
|
PageUpdaterFactory::CONSTRUCTOR_OPTIONS,
|
||||||
$this->createNoOpMock( MessageCache::class ),
|
$config
|
||||||
$this->createNoOpMock( Language::class ),
|
),
|
||||||
$lbFactory,
|
'softwareTags' => [],
|
||||||
$this->createNoOpMock( ContentHandlerFactory::class ),
|
]
|
||||||
$this->createNoOpMock( HookContainer::class ),
|
|
||||||
$this->createNoOpMock( EditResultCache::class ),
|
|
||||||
$this->createNoOpMock( UserNameUtils::class ),
|
|
||||||
$this->createNoOpMock( LoggerInterface::class ),
|
|
||||||
new ServiceOptions(
|
|
||||||
PageUpdaterFactory::CONSTRUCTOR_OPTIONS,
|
|
||||||
$config
|
|
||||||
),
|
|
||||||
$this->createNoOpMock( UserEditTracker::class ),
|
|
||||||
$this->createNoOpMock( UserGroupManager::class ),
|
|
||||||
[]
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue