Jeroen De Dauw has uploaded a new change for review. https://gerrit.wikimedia.org/r/89135
Change subject: Add index rem and add exceptions ...................................................................... Add index rem and add exceptions Change-Id: I0db050fac2517f26120879378ac33f21ee4f086a --- A src/Schema/IndexAdditionFailedException.php A src/Schema/IndexRemovalFailedException.php A tests/phpunit/Schema/IndexAdditionFailedExceptionTest.php A tests/phpunit/Schema/IndexRemovalFailedExceptionTest.php 4 files changed, 150 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikibaseDatabase refs/changes/35/89135/1 diff --git a/src/Schema/IndexAdditionFailedException.php b/src/Schema/IndexAdditionFailedException.php new file mode 100644 index 0000000..1128053 --- /dev/null +++ b/src/Schema/IndexAdditionFailedException.php @@ -0,0 +1,32 @@ +<?php + +namespace Wikibase\Database\Schema; + +use Wikibase\Database\Schema\Definitions\IndexDefinition; + +/** + * @since 0.1 + * @licence GNU GPL v2+ + * @author Jeroen De Dauw < [email protected] > + */ +class IndexAdditionFailedException extends SchemaModificationException { + + protected $tableName; + protected $index; + + public function __construct( $tableName, IndexDefinition $index, $message = '', \Exception $previous = null ) { + parent::__construct( $message, 0, $previous ); + + $this->tableName = $tableName; + $this->index = $index; + } + + public function getTableName() { + return $this->tableName; + } + + public function getIndex() { + return $this->index; + } + +} diff --git a/src/Schema/IndexRemovalFailedException.php b/src/Schema/IndexRemovalFailedException.php new file mode 100644 index 0000000..7be2ab4 --- /dev/null +++ b/src/Schema/IndexRemovalFailedException.php @@ -0,0 +1,30 @@ +<?php + +namespace Wikibase\Database\Schema; + +/** + * @since 0.1 + * @licence GNU GPL v2+ + * @author Jeroen De Dauw < [email protected] > + */ +class IndexRemovalFailedException extends SchemaModificationException { + + protected $tableName; + protected $indexName; + + public function __construct( $tableName, $indexName, $message = '', \Exception $previous = null ) { + parent::__construct( $message, 0, $previous ); + + $this->tableName = $tableName; + $this->indexName = $indexName; + } + + public function getTableName() { + return $this->tableName; + } + + public function getIndexName() { + return $this->indexName; + } + +} diff --git a/tests/phpunit/Schema/IndexAdditionFailedExceptionTest.php b/tests/phpunit/Schema/IndexAdditionFailedExceptionTest.php new file mode 100644 index 0000000..1bfd3ad --- /dev/null +++ b/tests/phpunit/Schema/IndexAdditionFailedExceptionTest.php @@ -0,0 +1,45 @@ +<?php + +namespace Wikibase\Database\Tests\Schema; + +use Wikibase\Database\Schema\IndexAdditionFailedException; + +/** + * @covers Wikibase\Database\Schema\IndexAdditionFailedException + * + * @group Wikibase + * @group WikibaseDatabase + * + * @licence GNU GPL v2+ + * @author Jeroen De Dauw < [email protected] > + */ +class IndexAdditionFailedExceptionTest extends \PHPUnit_Framework_TestCase { + + public function testConstructorWithJustATable() { + $tableName = 'users'; + $index = $this->getMockBuilder( 'Wikibase\Database\Schema\Definitions\IndexDefinition' ) + ->disableOriginalConstructor()->getMock(); + + $exception = new IndexAdditionFailedException( $tableName, $index ); + + $this->assertEquals( $tableName, $exception->getTableName() ); + $this->assertEquals( $index, $exception->getIndex() ); + } + + public function testConstructorWithAllArguments() { + $tableName = 'users'; + $index = $this->getMockBuilder( 'Wikibase\Database\Schema\Definitions\IndexDefinition' ) + ->disableOriginalConstructor()->getMock(); + + $message = 'NyanData all the way accross the sky!'; + $previous = new \Exception( 'Onoez!' ); + + $exception = new IndexAdditionFailedException( $tableName, $index, $message, $previous ); + + $this->assertEquals( $tableName, $exception->getTableName() ); + $this->assertEquals( $index, $exception->getIndex() ); + $this->assertEquals( $message, $exception->getMessage() ); + $this->assertEquals( $previous, $exception->getPrevious() ); + } + +} diff --git a/tests/phpunit/Schema/IndexRemovalFailedExceptionTest.php b/tests/phpunit/Schema/IndexRemovalFailedExceptionTest.php new file mode 100644 index 0000000..1bab12f --- /dev/null +++ b/tests/phpunit/Schema/IndexRemovalFailedExceptionTest.php @@ -0,0 +1,43 @@ +<?php + +namespace Wikibase\Database\Tests\Schema; + +use Wikibase\Database\Schema\IndexRemovalFailedException; + +/** + * @covers Wikibase\Database\Schema\IndexRemovalFailedException + * + * @group Wikibase + * @group WikibaseDatabase + * + * @licence GNU GPL v2+ + * @author Jeroen De Dauw < [email protected] > + */ +class IndexRemovalFailedExceptionTest extends \PHPUnit_Framework_TestCase { + + public function testConstructorWithJustATable() { + $tableName = 'users'; + $indexName = 'btc'; + + $exception = new IndexRemovalFailedException( $tableName, $indexName ); + + $this->assertEquals( $tableName, $exception->getTableName() ); + $this->assertEquals( $indexName, $exception->getIndexName() ); + } + + public function testConstructorWithAllArguments() { + $tableName = 'users'; + $indexName = 'btc'; + + $message = 'NyanData all the way accross the sky!'; + $previous = new \Exception( 'Onoez!' ); + + $exception = new IndexRemovalFailedException( $tableName, $indexName, $message, $previous ); + + $this->assertEquals( $tableName, $exception->getTableName() ); + $this->assertEquals( $indexName, $exception->getIndexName() ); + $this->assertEquals( $message, $exception->getMessage() ); + $this->assertEquals( $previous, $exception->getPrevious() ); + } + +} -- To view, visit https://gerrit.wikimedia.org/r/89135 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I0db050fac2517f26120879378ac33f21ee4f086a Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/WikibaseDatabase Gerrit-Branch: master Gerrit-Owner: Jeroen De Dauw <[email protected]> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
