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

Reply via email to