Jeroen De Dauw has submitted this change and it was merged. Change subject: Expand builder unit test for both db types ......................................................................
Expand builder unit test for both db types Change-Id: Ia2d02195d8ee5eeee891c8f9ca019f4e7c472a91 --- M tests/phpunit/MediaWiki/MWTableBuilderBuilderTest.php M tests/phpunit/MediaWiki/MWTableDefinitionReaderTest.php M tests/phpunit/MediaWiki/MediaWikiSchemaModifierBuilderTest.php 3 files changed, 60 insertions(+), 10 deletions(-) Approvals: Jeroen De Dauw: Looks good to me, approved jenkins-bot: Verified diff --git a/tests/phpunit/MediaWiki/MWTableBuilderBuilderTest.php b/tests/phpunit/MediaWiki/MWTableBuilderBuilderTest.php index ec085d7..03dc180 100644 --- a/tests/phpunit/MediaWiki/MWTableBuilderBuilderTest.php +++ b/tests/phpunit/MediaWiki/MWTableBuilderBuilderTest.php @@ -29,14 +29,24 @@ $this->assertSame( $builder, $returnValue ); } - public function testGetQueryInterface() { - $connection = $this->getMock( 'DatabaseMysql' ); + public function databaseTypeProvider(){ + return array( + array( 'mysql', 'DatabaseMysql', $this->once() ), + array( 'sqlite', 'DatabaseSqlite', $this->never() ), + ); + } + + /** + * @dataProvider databaseTypeProvider + */ + public function testGetQueryInterface( $type, $class, $getDBnameExpectsCount ) { + $connection = $this->getMock( $class ); $connection->expects( $this->once() ) ->method( 'getType' ) - ->will( $this->returnValue( 'mysql' ) ); + ->will( $this->returnValue( $type ) ); - $connection->expects( $this->once() ) + $connection->expects( $getDBnameExpectsCount ) ->method( 'getDBname' ) ->will( $this->returnValue( 'dbName' ) ); diff --git a/tests/phpunit/MediaWiki/MWTableDefinitionReaderTest.php b/tests/phpunit/MediaWiki/MWTableDefinitionReaderTest.php index c569bc8..c225fa4 100644 --- a/tests/phpunit/MediaWiki/MWTableDefinitionReaderTest.php +++ b/tests/phpunit/MediaWiki/MWTableDefinitionReaderTest.php @@ -29,12 +29,22 @@ $this->assertSame( $builder, $returnValue ); } - public function testGetDefinitionReader() { - $connection = $this->getMock( 'DatabaseMysql' ); + public function databaseTypeProvider(){ + return array( + array( 'mysql', 'DatabaseMysql' ), + array( 'sqlite', 'DatabaseSqlite'), + ); + } + + /** + * @dataProvider databaseTypeProvider + */ + public function testGetDefinitionReader( $type, $class ) { + $connection = $this->getMock( $class ); $connection->expects( $this->once() ) ->method( 'getType' ) - ->will( $this->returnValue( 'mysql' ) ); + ->will( $this->returnValue( $type ) ); $connectionProvider = $this->getMock( 'Wikibase\Database\DBConnectionProvider' ); diff --git a/tests/phpunit/MediaWiki/MediaWikiSchemaModifierBuilderTest.php b/tests/phpunit/MediaWiki/MediaWikiSchemaModifierBuilderTest.php index 0b4b4a4..3b0a38b 100644 --- a/tests/phpunit/MediaWiki/MediaWikiSchemaModifierBuilderTest.php +++ b/tests/phpunit/MediaWiki/MediaWikiSchemaModifierBuilderTest.php @@ -41,12 +41,22 @@ $this->assertSame( $builder, $returnValue ); } - public function testGetSchemaModifier(){ - $connection = $this->getMock( 'DatabaseMysql' ); + public function databaseTypeProvider(){ + return array( + array( 'mysql', 'DatabaseMysql' ), + array( 'sqlite', 'DatabaseSqlite'), + ); + } + + /** + * @dataProvider databaseTypeProvider + */ + public function testGetSchemaModifier( $type, $class ){ + $connection = $this->getMock( $class ); $connection->expects( $this->once() ) ->method( 'getType' ) - ->will( $this->returnValue( 'mysql' ) ); + ->will( $this->returnValue( $type ) ); $connectionProvider = $this->getMock( 'Wikibase\Database\DBConnectionProvider' ); @@ -91,4 +101,24 @@ ->getSchemaModifier(); } + public function testSQLiteNeedsQueryInterface(){ + $this->setExpectedException( 'RuntimeException', "Cannot build a MediaWikiSchemaModifier for database type 'SQLite' without queryInterface being defined" ); + $connection = $this->getMock( 'DatabaseSqlite' ); + + $connection->expects( $this->once() ) + ->method( 'getType' ) + ->will( $this->returnValue( 'sqlite' ) ); + + $connectionProvider = $this->getMock( 'Wikibase\Database\DBConnectionProvider' ); + + $connectionProvider->expects( $this->atLeastOnce() ) + ->method( 'getConnection' ) + ->will( $this->returnValue( $connection ) ); + + $builder = new MediaWikiSchemaModifierBuilder(); + + $builder + ->setConnection( $connectionProvider ) + ->getSchemaModifier(); + } } \ No newline at end of file -- To view, visit https://gerrit.wikimedia.org/r/89705 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ia2d02195d8ee5eeee891c8f9ca019f4e7c472a91 Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/extensions/WikibaseDatabase Gerrit-Branch: master Gerrit-Owner: Addshore <addshorew...@gmail.com> Gerrit-Reviewer: Jeroen De Dauw <jeroended...@gmail.com> Gerrit-Reviewer: jenkins-bot _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits