Split out test migrations.
authorJan Schneider <jan@horde.org>
Tue, 11 Jan 2011 15:07:34 +0000 (16:07 +0100)
committerJan Schneider <jan@horde.org>
Tue, 11 Jan 2011 20:23:09 +0000 (21:23 +0100)
framework/Share/test/Horde/Share/Sql/Base.php
framework/Share/test/Horde/Share/SqlHierarchical/Base.php
framework/Share/test/Horde/Share/migration/sql.php [new file with mode: 0644]
framework/Share/test/Horde/Share/migration/sql_hierarchical.php [new file with mode: 0644]

index 0e46037..2ba15b2 100644 (file)
@@ -144,47 +144,8 @@ class Horde_Share_Test_Sql_Base extends Horde_Share_Test_Base
 
     public static function setUpBeforeClass()
     {
-        $migration = new Horde_Db_Migration_Base(self::$db);
-
-        $t = $migration->createTable('test_shares', array('primaryKey' => 'share_id'));
-        //$t->column('share_id', 'integer', array('null' => false, 'autoincrement' => true));
-        $t->column('share_name', 'string', array('limit' => 255, 'null' => false));
-        $t->column('share_owner', 'string', array('limit' => 255));
-        $t->column('share_flags', 'integer', array('default' => 0, 'null' => false));
-        $t->column('perm_creator', 'integer', array('default' => 0, 'null' => false));
-        $t->column('perm_default', 'integer', array('default' => 0, 'null' => false));
-        $t->column('perm_guest', 'integer', array('default' => 0, 'null' => false));
-        $t->column('attribute_name', 'string', array('limit' => 255));
-        $t->column('attribute_desc', 'string', array('limit' => 255));
-        $t->end();
-
-        $migration->addIndex('test_shares', array('share_name'));
-        $migration->addIndex('test_shares', array('share_owner'));
-        $migration->addIndex('test_shares', array('perm_creator'));
-        $migration->addIndex('test_shares', array('perm_default'));
-        $migration->addIndex('test_shares', array('perm_guest'));
-
-        $t = $migration->createTable('test_shares_groups');
-        $t->column('share_id', 'integer', array('null' => false));
-        $t->column('group_uid', 'string', array('limit' => 255, 'null' => false));
-        $t->column('perm', 'integer', array('null' => false));
-        $t->end();
-
-        $migration->addIndex('test_shares_groups', array('share_id'));
-        $migration->addIndex('test_shares_groups', array('group_uid'));
-        $migration->addIndex('test_shares_groups', array('perm'));
-
-        $t = $migration->createTable('test_shares_users');
-        $t->column('share_id', 'integer', array('null' => false));
-        $t->column('user_uid', 'string', array('limit' => 255));
-        $t->column('perm', 'integer', array('null' => false));
-        $t->end();
-
-        $migration->addIndex('test_shares_users', array('share_id'));
-        $migration->addIndex('test_shares_users', array('user_uid'));
-        $migration->addIndex('test_shares_users', array('perm'));
-
-        $migration->migrate('up');
+        require_once dirname(__FILE__) . '/../migration/sql.php';
+        migrate_sql(self::$db);
 
         $group = new Horde_Group_Test();
         self::$share = new Horde_Share_Sql('test', 'john', new Horde_Perms(), $group);
index 83812fd..e921dfc 100644 (file)
@@ -196,47 +196,8 @@ class Horde_Share_Test_SqlHierarchical_Base extends Horde_Share_Test_Base
 
     public static function setUpBeforeClass()
     {
-        $migration = new Horde_Db_Migration_Base(self::$db);
-
-        $t = $migration->createTable('test_shares', array('primaryKey' => 'share_id'));
-        //$t->column('share_id', 'integer', array('null' => false, 'autoincrement' => true));
-        $t->column('share_owner', 'string', array('limit' => 255));
-        $t->column('share_flags', 'integer', array('default' => 0, 'null' => false));
-        $t->column('share_parents', 'string', array('limit' => 255));
-        $t->column('perm_creator', 'integer', array('default' => 0, 'null' => false));
-        $t->column('perm_default', 'integer', array('default' => 0, 'null' => false));
-        $t->column('perm_guest', 'integer', array('default' => 0, 'null' => false));
-        $t->column('attribute_name', 'string', array('limit' => 255));
-        $t->column('attribute_desc', 'string', array('limit' => 255));
-        $t->end();
-
-        $migration->addIndex('test_shares', array('share_owner'));
-        $migration->addIndex('test_shares', array('perm_creator'));
-        $migration->addIndex('test_shares', array('perm_default'));
-        $migration->addIndex('test_shares', array('perm_guest'));
-        $migration->addIndex('test_shares', array('share_parents'));
-
-        $t = $migration->createTable('test_shares_groups');
-        $t->column('share_id', 'integer', array('null' => false));
-        $t->column('group_uid', 'string', array('limit' => 255, 'null' => false));
-        $t->column('perm', 'integer', array('null' => false));
-        $t->end();
-
-        $migration->addIndex('test_shares_groups', array('share_id'));
-        $migration->addIndex('test_shares_groups', array('group_uid'));
-        $migration->addIndex('test_shares_groups', array('perm'));
-
-        $t = $migration->createTable('test_shares_users');
-        $t->column('share_id', 'integer', array('null' => false));
-        $t->column('user_uid', 'string', array('limit' => 255));
-        $t->column('perm', 'integer', array('null' => false));
-        $t->end();
-
-        $migration->addIndex('test_shares_users', array('share_id'));
-        $migration->addIndex('test_shares_users', array('user_uid'));
-        $migration->addIndex('test_shares_users', array('perm'));
-
-        $migration->migrate('up');
+        require_once dirname(__FILE__) . '/../migration/sql_hierarchical.php';
+        migrate_sql_hierarchical(self::$db);
 
         $group = new Horde_Group_Test();
         self::$share = new Horde_Share_Sql_Hierarchical('test', 'john', new Horde_Perms(), $group);
diff --git a/framework/Share/test/Horde/Share/migration/sql.php b/framework/Share/test/Horde/Share/migration/sql.php
new file mode 100644 (file)
index 0000000..c1da45e
--- /dev/null
@@ -0,0 +1,54 @@
+<?php
+
+function migrate_sql($db)
+{
+    $migration = new Horde_Db_Migration_Base($db);
+
+    /* Cleanup potential left-overs. */
+    try {
+        $migration->dropTable('test_shares');
+        $migration->dropTable('test_shares_groups');
+        $migration->dropTable('test_shares_users');
+    } catch (Horde_Db_Exception $e) {
+    }
+
+    $t = $migration->createTable('test_shares', array('primaryKey' => 'share_id'));
+    //$t->column('share_id', 'integer', array('null' => false, 'autoincrement' => true));
+    $t->column('share_name', 'string', array('limit' => 255, 'null' => false));
+    $t->column('share_owner', 'string', array('limit' => 255));
+    $t->column('share_flags', 'integer', array('default' => 0, 'null' => false));
+    $t->column('perm_creator', 'integer', array('default' => 0, 'null' => false));
+    $t->column('perm_default', 'integer', array('default' => 0, 'null' => false));
+    $t->column('perm_guest', 'integer', array('default' => 0, 'null' => false));
+    $t->column('attribute_name', 'string', array('limit' => 255));
+    $t->column('attribute_desc', 'string', array('limit' => 255));
+    $t->end();
+
+    $migration->addIndex('test_shares', array('share_name'));
+    $migration->addIndex('test_shares', array('share_owner'));
+    $migration->addIndex('test_shares', array('perm_creator'));
+    $migration->addIndex('test_shares', array('perm_default'));
+    $migration->addIndex('test_shares', array('perm_guest'));
+
+    $t = $migration->createTable('test_shares_groups');
+    $t->column('share_id', 'integer', array('null' => false));
+    $t->column('group_uid', 'string', array('limit' => 255, 'null' => false));
+    $t->column('perm', 'integer', array('null' => false));
+    $t->end();
+
+    $migration->addIndex('test_shares_groups', array('share_id'));
+    $migration->addIndex('test_shares_groups', array('group_uid'));
+    $migration->addIndex('test_shares_groups', array('perm'));
+
+    $t = $migration->createTable('test_shares_users');
+    $t->column('share_id', 'integer', array('null' => false));
+    $t->column('user_uid', 'string', array('limit' => 255));
+    $t->column('perm', 'integer', array('null' => false));
+    $t->end();
+
+    $migration->addIndex('test_shares_users', array('share_id'));
+    $migration->addIndex('test_shares_users', array('user_uid'));
+    $migration->addIndex('test_shares_users', array('perm'));
+
+    $migration->migrate('up');
+}
diff --git a/framework/Share/test/Horde/Share/migration/sql_hierarchical.php b/framework/Share/test/Horde/Share/migration/sql_hierarchical.php
new file mode 100644 (file)
index 0000000..f4cb76b
--- /dev/null
@@ -0,0 +1,54 @@
+<?php
+
+function migrate_sql_hierarchical($db)
+{
+    $migration = new Horde_Db_Migration_Base($db);
+
+    /* Cleanup potential left-overs. */
+    try {
+        $migration->dropTable('test_shares');
+        $migration->dropTable('test_shares_groups');
+        $migration->dropTable('test_shares_users');
+    } catch (Horde_Db_Exception $e) {
+    }
+
+    $t = $migration->createTable('test_shares', array('primaryKey' => 'share_id'));
+    //$t->column('share_id', 'integer', array('null' => false, 'autoincrement' => true));
+    $t->column('share_owner', 'string', array('limit' => 255));
+    $t->column('share_flags', 'integer', array('default' => 0, 'null' => false));
+    $t->column('share_parents', 'string', array('limit' => 255));
+    $t->column('perm_creator', 'integer', array('default' => 0, 'null' => false));
+    $t->column('perm_default', 'integer', array('default' => 0, 'null' => false));
+    $t->column('perm_guest', 'integer', array('default' => 0, 'null' => false));
+    $t->column('attribute_name', 'string', array('limit' => 255));
+    $t->column('attribute_desc', 'string', array('limit' => 255));
+    $t->end();
+
+    $migration->addIndex('test_shares', array('share_owner'));
+    $migration->addIndex('test_shares', array('perm_creator'));
+    $migration->addIndex('test_shares', array('perm_default'));
+    $migration->addIndex('test_shares', array('perm_guest'));
+    $migration->addIndex('test_shares', array('share_parents'));
+
+    $t = $migration->createTable('test_shares_groups');
+    $t->column('share_id', 'integer', array('null' => false));
+    $t->column('group_uid', 'string', array('limit' => 255, 'null' => false));
+    $t->column('perm', 'integer', array('null' => false));
+    $t->end();
+
+    $migration->addIndex('test_shares_groups', array('share_id'));
+    $migration->addIndex('test_shares_groups', array('group_uid'));
+    $migration->addIndex('test_shares_groups', array('perm'));
+
+    $t = $migration->createTable('test_shares_users');
+    $t->column('share_id', 'integer', array('null' => false));
+    $t->column('user_uid', 'string', array('limit' => 255));
+    $t->column('perm', 'integer', array('null' => false));
+    $t->end();
+
+    $migration->addIndex('test_shares_users', array('share_id'));
+    $migration->addIndex('test_shares_users', array('user_uid'));
+    $migration->addIndex('test_shares_users', array('perm'));
+
+    $migration->migrate('up');
+}