From 2a6af6854d9ce11a062cd373c0618f2eb5abe419 Mon Sep 17 00:00:00 2001 From: Addshore Date: Tue, 3 Jul 2018 11:49:24 +0000 Subject: [PATCH] Revert "Introduce RevisionStoreFactory & Tests" This needs more work, I'll file some tickets with TODOs This reverts commit eb39d5f945245d65c0f5e44466c6d616b62577f5. Change-Id: I0678d0c4e4e7496a67dfe826b00246723e9c7d54 --- includes/MediaWikiServices.php | 9 -- includes/ServiceWiring.php | 18 +-- includes/Storage/RevisionStoreFactory.php | 141 ------------------ .../includes/MediaWikiServicesTest.php | 2 - .../Storage/RevisionStoreFactoryTest.php | 131 ---------------- 5 files changed, 8 insertions(+), 293 deletions(-) delete mode 100644 includes/Storage/RevisionStoreFactory.php delete mode 100644 tests/phpunit/includes/Storage/RevisionStoreFactoryTest.php diff --git a/includes/MediaWikiServices.php b/includes/MediaWikiServices.php index caaa6b35f8..ce43f0ec50 100644 --- a/includes/MediaWikiServices.php +++ b/includes/MediaWikiServices.php @@ -21,7 +21,6 @@ use MediaWiki\Storage\NameTableStore; use MediaWiki\Storage\RevisionFactory; use MediaWiki\Storage\RevisionLookup; use MediaWiki\Storage\RevisionStore; -use MediaWiki\Storage\RevisionStoreFactory; use OldRevisionImporter; use UploadRevisionImporter; use Wikimedia\Rdbms\LBFactory; @@ -760,14 +759,6 @@ class MediaWikiServices extends ServiceContainer { return $this->getService( 'RevisionStore' ); } - /** - * @since 1.32 - * @return RevisionStoreFactory - */ - public function getRevisionStoreFactory() { - return $this->getService( 'RevisionStoreFactory' ); - } - /** * @since 1.31 * @return RevisionLookup diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php index ba576d5899..425b789ae5 100644 --- a/includes/ServiceWiring.php +++ b/includes/ServiceWiring.php @@ -46,7 +46,7 @@ use MediaWiki\Preferences\DefaultPreferencesFactory; use MediaWiki\Shell\CommandFactory; use MediaWiki\Storage\BlobStoreFactory; use MediaWiki\Storage\NameTableStore; -use MediaWiki\Storage\RevisionStoreFactory; +use MediaWiki\Storage\RevisionStore; use MediaWiki\Storage\SqlBlobStore; use Wikimedia\ObjectFactory; @@ -463,15 +463,10 @@ return [ }, 'RevisionStore' => function ( MediaWikiServices $services ) { - return $services->getRevisionStoreFactory()->getRevisionStore(); - }, - - 'RevisionStoreFactory' => function ( MediaWikiServices $services ) { /** @var SqlBlobStore $blobStore */ $blobStore = $services->getService( '_SqlBlobStore' ); - $config = $services->getMainConfig(); - $store = new RevisionStoreFactory( + $store = new RevisionStore( $services->getDBLoadBalancer(), $blobStore, $services->getMainWANObjectCache(), @@ -479,11 +474,14 @@ return [ $services->getContentModelStore(), $services->getSlotRoleStore(), $services->getMainConfig()->get( 'MultiContentRevisionSchemaMigrationStage' ), - $services->getActorMigration(), - LoggerFactory::getInstance( 'RevisionStore' ), - $config->get( 'ContentHandlerUseDB' ) + $services->getActorMigration() ); + $store->setLogger( LoggerFactory::getInstance( 'RevisionStore' ) ); + + $config = $services->getMainConfig(); + $store->setContentHandlerUseDB( $config->get( 'ContentHandlerUseDB' ) ); + return $store; }, diff --git a/includes/Storage/RevisionStoreFactory.php b/includes/Storage/RevisionStoreFactory.php deleted file mode 100644 index 6f8bd99e0d..0000000000 --- a/includes/Storage/RevisionStoreFactory.php +++ /dev/null @@ -1,141 +0,0 @@ -loadBalancer = $loadBalancer; - $this->blobStore = $blobStore; - $this->cache = $cache; - $this->commentStore = $commentStore; - $this->contentModelStore = $contentModelStore; - $this->slotRoleStore = $slotRoleStore; - $this->mcrMigrationStage = $migrationStage; - $this->actorMigration = $actorMigration; - $this->logger = $logger; - $this->contentHandlerUseDB = $contentHandlerUseDB; - } - - /** - * @since 1.32 - * - * @param bool|string $wikiId false for the current domain / wikid - * - * @return RevisionStore for the given wikiId with all necessary services and a logger - */ - public function getRevisionStore( $wikiId = false ) { - Assert::parameterType( 'string|boolean', $wikiId, '$wikiId' ); - - $store = new RevisionStore( - $this->loadBalancer, - $this->blobStore, - $this->cache, - $this->commentStore, - $this->contentModelStore, - $this->slotRoleStore, - $this->mcrMigrationStage, - $this->actorMigration, - $wikiId - ); - - $store->setLogger( $this->logger ); - $store->setContentHandlerUseDB( $this->contentHandlerUseDB ); - - return $store; - } - -} diff --git a/tests/phpunit/includes/MediaWikiServicesTest.php b/tests/phpunit/includes/MediaWikiServicesTest.php index cf48215083..dfee8c3c75 100644 --- a/tests/phpunit/includes/MediaWikiServicesTest.php +++ b/tests/phpunit/includes/MediaWikiServicesTest.php @@ -16,7 +16,6 @@ use MediaWiki\Storage\NameTableStore; use MediaWiki\Storage\RevisionFactory; use MediaWiki\Storage\RevisionLookup; use MediaWiki\Storage\RevisionStore; -use MediaWiki\Storage\RevisionStoreFactory; use MediaWiki\Storage\SqlBlobStore; /** @@ -347,7 +346,6 @@ class MediaWikiServicesTest extends MediaWikiTestCase { 'BlobStore' => [ 'BlobStore', BlobStore::class ], '_SqlBlobStore' => [ '_SqlBlobStore', SqlBlobStore::class ], 'RevisionStore' => [ 'RevisionStore', RevisionStore::class ], - 'RevisionStoreFactory' => [ 'RevisionStoreFactory', RevisionStoreFactory::class ], 'RevisionLookup' => [ 'RevisionLookup', RevisionLookup::class ], 'RevisionFactory' => [ 'RevisionFactory', RevisionFactory::class ], 'ContentModelStore' => [ 'ContentModelStore', NameTableStore::class ], diff --git a/tests/phpunit/includes/Storage/RevisionStoreFactoryTest.php b/tests/phpunit/includes/Storage/RevisionStoreFactoryTest.php deleted file mode 100644 index a5c18ac5a6..0000000000 --- a/tests/phpunit/includes/Storage/RevisionStoreFactoryTest.php +++ /dev/null @@ -1,131 +0,0 @@ -getMockLoadBalancer(), - $this->getMockSqlBlobStore(), - $this->getHashWANObjectCache(), - $this->getMockCommentStore(), - $this->getMockNameTableStore(), - $this->getMockNameTableStore(), - MIGRATION_OLD, - ActorMigration::newMigration(), - LoggerFactory::getInstance( 'someInstance' ), - true - ); - $this->assertTrue( true ); - } - - public function provideWikiIds() { - yield [ true ]; - yield [ false ]; - yield [ 'somewiki' ]; - yield [ 'somewiki', MIGRATION_OLD , false ]; - yield [ 'somewiki', MIGRATION_NEW , true ]; - } - - /** - * @dataProvider provideWikiIds - */ - public function testGetRevisionStore( - $wikiId, - $mcrMigrationStage = MIGRATION_OLD, - $contentHandlerUseDb = true - ) { - $lb = $this->getMockLoadBalancer(); - $blobStore = $this->getMockSqlBlobStore(); - $cache = $this->getHashWANObjectCache(); - $commentStore = $this->getMockCommentStore(); - $contentModelStore = $this->getMockNameTableStore(); - $slotRoleStore = $this->getMockNameTableStore(); - $actorMigration = ActorMigration::newMigration(); - $logger = LoggerFactory::getInstance( 'someInstance' ); - - $factory = new RevisionStoreFactory( - $lb, - $blobStore, - $cache, - $commentStore, - $contentModelStore, - $slotRoleStore, - $mcrMigrationStage, - $actorMigration, - $logger, - $contentHandlerUseDb - ); - - $store = $factory->getRevisionStore( $wikiId ); - $wrapper = TestingAccessWrapper::newFromObject( $store ); - - // ensure the correct object type is returned - $this->assertInstanceOf( RevisionStore::class, $store ); - - // ensure the RevisionStore is for the given wikiId - $this->assertSame( $wikiId, $wrapper->wikiId ); - - // ensure all other required services are correctly set - $this->assertSame( $lb, $wrapper->loadBalancer ); - $this->assertSame( $blobStore, $wrapper->blobStore ); - $this->assertSame( $cache, $wrapper->cache ); - $this->assertSame( $commentStore, $wrapper->commentStore ); - $this->assertSame( $contentModelStore, $wrapper->contentModelStore ); - $this->assertSame( $slotRoleStore, $wrapper->slotRoleStore ); - $this->assertSame( $mcrMigrationStage, $wrapper->mcrMigrationStage ); - $this->assertSame( $actorMigration, $wrapper->actorMigration ); - $this->assertSame( $logger, $wrapper->logger ); - $this->assertSame( $contentHandlerUseDb, $store->getContentHandlerUseDB() ); - } - - /** - * @return \PHPUnit_Framework_MockObject_MockObject|NameTableStore - */ - private function getMockNameTableStore() { - return $this->getMockBuilder( NameTableStore::class ) - ->disableOriginalConstructor()->getMock(); - } - - /** - * @return \PHPUnit_Framework_MockObject_MockObject|LoadBalancer - */ - private function getMockLoadBalancer() { - return $this->getMockBuilder( LoadBalancer::class ) - ->disableOriginalConstructor()->getMock(); - } - - /** - * @return \PHPUnit_Framework_MockObject_MockObject|SqlBlobStore - */ - private function getMockSqlBlobStore() { - return $this->getMockBuilder( SqlBlobStore::class ) - ->disableOriginalConstructor()->getMock(); - } - - /** - * @return \PHPUnit_Framework_MockObject_MockObject|CommentStore - */ - private function getMockCommentStore() { - return $this->getMockBuilder( CommentStore::class ) - ->disableOriginalConstructor()->getMock(); - } - - private function getHashWANObjectCache() { - return new WANObjectCache( [ 'cache' => new \HashBagOStuff() ] ); - } - -} -- 2.20.1