public function testStringToIndexStatement_003() { $fieldString = "\n <field>\n <name>group_id</name>\n <type>integer</type>\n </field>"; $field = Setup_Backend_Schema_Field_Factory::factory('Xml', $fieldString); $this->_backend->addCol($this->_table->name, $field); $fieldString = "\n <field>\n <name>account_id</name>\n <type>integer</type>\n </field>"; $field = Setup_Backend_Schema_Field_Factory::factory('Xml', $fieldString); $this->_backend->addCol($this->_table->name, $field); $string = "\n <index>\n <name>group_id-account_id</name>\n <unique>true</unique>\n <field>\n <name>group_id</name>\n </field>\n <field>\n <name>account_id</name>\n </field>\n </index> "; $index = Setup_Backend_Schema_Index_Factory::factory('Xml', $string); $this->_backend->addIndex($this->_table->name, $index); $db = Tinebase_Core::getDb(); $tableName = SQL_TABLE_PREFIX . $this->_table->name; $db->insert($tableName, array('name' => 'test1', 'group_id' => 1, 'account_id' => 1)); $db->insert($tableName, array('name' => 'test2', 'group_id' => 1, 'account_id' => 2)); $db->insert($tableName, array('name' => 'test3', 'group_id' => 2, 'account_id' => 1)); $this->setExpectedException('Zend_Db_Statement_Exception'); //unique constraint violation $db->insert($tableName, array('name' => 'test4', 'group_id' => 1, 'account_id' => 1)); }