From 26393fc1a7e6a63b2207a081541ede6f6fece228 Mon Sep 17 00:00:00 2001 From: Chuck Hagenbuch Date: Tue, 12 Jan 2010 23:20:48 -0500 Subject: [PATCH] Tests for creating tables with composite primary keys --- framework/Db/test/Horde/Db/Adapter/MysqliTest.php | 11 +++++++++++ framework/Db/test/Horde/Db/Adapter/Pdo/MysqlTest.php | 11 +++++++++++ framework/Db/test/Horde/Db/Adapter/Pdo/PgsqlTest.php | 11 +++++++++++ framework/Db/test/Horde/Db/Adapter/Pdo/SqliteTest.php | 11 +++++++++++ 4 files changed, 44 insertions(+) diff --git a/framework/Db/test/Horde/Db/Adapter/MysqliTest.php b/framework/Db/test/Horde/Db/Adapter/MysqliTest.php index fdd5a3f31..3ace11bae 100644 --- a/framework/Db/test/Horde/Db/Adapter/MysqliTest.php +++ b/framework/Db/test/Horde/Db/Adapter/MysqliTest.php @@ -515,6 +515,17 @@ class Horde_Db_Adapter_MysqliTest extends PHPUnit_Framework_TestCase $this->assertEquals('`foo` int(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY', $pkColumn->toSql()); } + public function testCreateTableCompositePk() + { + $table = $this->_conn->createTable('testings', array('primaryKey' => array('a_id', 'b_id'))); + $table->column('a_id', 'integer'); + $table->column('b_id', 'integer'); + $table->end(); + + $pk = $this->_conn->primaryKey('testings'); + $this->assertEquals(array('a_id', 'b_id'), $pk->columns); + } + public function testCreateTableForce() { $this->_createTestTable('sports'); diff --git a/framework/Db/test/Horde/Db/Adapter/Pdo/MysqlTest.php b/framework/Db/test/Horde/Db/Adapter/Pdo/MysqlTest.php index b2da70823..c0fe67b45 100644 --- a/framework/Db/test/Horde/Db/Adapter/Pdo/MysqlTest.php +++ b/framework/Db/test/Horde/Db/Adapter/Pdo/MysqlTest.php @@ -535,6 +535,17 @@ class Horde_Db_Adapter_Pdo_MysqlTest extends PHPUnit_Framework_TestCase $this->assertEquals('`foo` int(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY', $pkColumn->toSql()); } + public function testCreateTableCompositePk() + { + $table = $this->_conn->createTable('testings', array('primaryKey' => array('a_id', 'b_id'))); + $table->column('a_id', 'integer'); + $table->column('b_id', 'integer'); + $table->end(); + + $pk = $this->_conn->primaryKey('testings'); + $this->assertEquals(array('a_id', 'b_id'), $pk->columns); + } + public function testCreateTableForce() { $this->_createTestTable('sports'); diff --git a/framework/Db/test/Horde/Db/Adapter/Pdo/PgsqlTest.php b/framework/Db/test/Horde/Db/Adapter/Pdo/PgsqlTest.php index 75e2c5127..79322c931 100644 --- a/framework/Db/test/Horde/Db/Adapter/Pdo/PgsqlTest.php +++ b/framework/Db/test/Horde/Db/Adapter/Pdo/PgsqlTest.php @@ -435,6 +435,17 @@ class Horde_Db_Adapter_Pdo_PgsqlTest extends PHPUnit_Framework_TestCase $this->assertEquals('"foo" serial primary key', $pkColumn->toSql()); } + public function testCreateTableCompositePk() + { + $table = $this->_conn->createTable('testings', array('primaryKey' => array('a_id', 'b_id'))); + $table->column('a_id', 'integer'); + $table->column('b_id', 'integer'); + $table->end(); + + $pk = $this->_conn->primaryKey('testings'); + $this->assertEquals(array('a_id', 'b_id'), $pk->columns); + } + public function testCreateTableForce() { $this->_createTestTable('sports'); diff --git a/framework/Db/test/Horde/Db/Adapter/Pdo/SqliteTest.php b/framework/Db/test/Horde/Db/Adapter/Pdo/SqliteTest.php index 0edc58e33..065fc5539 100644 --- a/framework/Db/test/Horde/Db/Adapter/Pdo/SqliteTest.php +++ b/framework/Db/test/Horde/Db/Adapter/Pdo/SqliteTest.php @@ -431,6 +431,17 @@ class Horde_Db_Adapter_Pdo_SqliteTest extends PHPUnit_Framework_TestCase $this->assertEquals('"foo" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL', $pkColumn->toSql()); } + public function testCreateTableCompositePk() + { + $table = $this->_conn->createTable('testings', array('primaryKey' => array('a_id', 'b_id'))); + $table->column('a_id', 'integer'); + $table->column('b_id', 'integer'); + $table->end(); + + $pk = $this->_conn->primaryKey('testings'); + $this->assertEquals(array('a_id', 'b_id'), $pk->columns); + } + public function testCreateTableForce() { $this->_createTestTable('sports'); -- 2.11.0