[Jifty-commit] r2258 - in Jifty-DBI/trunk: t

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Fri Dec 1 14:54:45 EST 2006


Author: falcone
Date: Fri Dec  1 14:54:45 2006
New Revision: 2258

Modified:
   Jifty-DBI/trunk/   (props changed)
   Jifty-DBI/trunk/t/10schema.t
   Jifty-DBI/trunk/t/testmodels.pl

Log:
 r14929 at ketch:  falcone | 2006-12-01 14:44:48 -0500
 * add sqlite sql so that these tests run without needing postgres configured
 * reorganize the code so its easier to add more databases later, and uses util.pl more


Modified: Jifty-DBI/trunk/t/10schema.t
==============================================================================
--- Jifty-DBI/trunk/t/10schema.t	(original)
+++ Jifty-DBI/trunk/t/10schema.t	Fri Dec  1 14:54:45 2006
@@ -26,9 +26,10 @@
 
 foreach my $d ( @available_drivers ) {
   SKIP: {
-#   unless ($d eq 'Pg' or $d eq 'SQLite' or $d eq 'mysql') {
-    unless ($d eq 'Pg') {
-      skip "first goal is to work on Pg", TESTS_PER_DRIVER;
+    my $address_schema = has_schema('Sample::Address',$d);
+    my $employee_schema = has_schema('Sample::Employee',$d);
+    unless ($address_schema && $employee_schema) {
+      skip "need to work on $d", TESTS_PER_DRIVER;
     }
     
     unless( should_test( $d ) ) {
@@ -61,22 +62,9 @@
 
     ok($ret != 0, "added model from real class");
 
-    if ($d eq 'Pg' ) { is_ignoring_space($SG->create_table_sql_text, <<END_SCHEMA, "got the right schema");
-    CREATE TABLE addresses ( 
-      id serial NOT NULL , 
-      employee_id integer ,
-      name varchar DEFAULT 'Frank' ,
-      phone varchar ,
-      PRIMARY KEY (id)
-    ) ;
-END_SCHEMA
-
-    } else {
-     TODO: {
-            local $TODO = "Need schema for $d";
-            ok(0, "need db schema for $d");
-        };
-    }
+    is_ignoring_space($SG->create_table_sql_text, 
+                      Sample::Address->$address_schema,
+                      "got the right Address schema for $d");
 
     my $employee = Sample::Employee->new;
     
@@ -87,40 +75,14 @@
 
     ok($ret != 0, "added model from an instantiated object");
 
-    if ($d eq 'Pg') {
-    is_ignoring_space($SG->create_table_sql_text, <<END_SCHEMA, "got the right schema");
-    CREATE TABLE addresses ( 
-      id serial NOT NULL , 
-      employee_id integer  ,
-      name varchar DEFAULT 'Frank' ,
-      phone varchar ,
-      PRIMARY KEY (id)
-    ) ;
-    CREATE TABLE employees (
-      id serial NOT NULL ,
-      dexterity integer ,
-      name varchar ,
-      label varchar ,
-      type varchar ,
-      PRIMARY KEY (id)
-    ) ;
-END_SCHEMA
-    } else {
-        TODO: {
-            local $TODO = "Need schema for $d";
-        ok(0, "need db schema for $d");
-        };
-    }
+    is_ignoring_space($SG->create_table_sql_text, 
+                      Sample::Address->$address_schema. Sample::Employee->$employee_schema, 
+                      "got the right Address+Employee schema for $d");
     
     my $manually_make_text = join ' ', map { "$_;" } $SG->create_table_sql_statements;
-    if ($d eq 'Pg') { 
-         is_ignoring_space($SG->create_table_sql_text, $manually_make_text, 'create_table_sql_text is the statements in create_table_sql_statements')
-    } else {
-        TODO: {
-            local $TODO = "Need schema for $d";
-        ok(0, "need db schema for $d");
-        };
-    }
+     is_ignoring_space($SG->create_table_sql_text, 
+                       $manually_make_text, 
+                       'create_table_sql_text is the statements in create_table_sql_statements');
 
     cleanup_schema( 'TestApp', $handle );
     disconnect_handle( $handle );

Modified: Jifty-DBI/trunk/t/testmodels.pl
==============================================================================
--- Jifty-DBI/trunk/t/testmodels.pl	(original)
+++ Jifty-DBI/trunk/t/testmodels.pl	Fri Dec  1 14:54:45 2006
@@ -9,6 +9,32 @@
 
 };
 
+sub schema_sqlite {
+    return q{
+    CREATE TABLE employees (
+      id INTEGER PRIMARY KEY NOT NULL  ,
+      dexterity integer   ,
+      name varchar   ,
+      label varchar   ,
+      type varchar
+    ) ;
+    };
+}
+
+sub schema_pg {
+    return q{
+    CREATE TABLE employees (
+      id serial NOT NULL ,
+      dexterity integer ,
+      name varchar ,
+      label varchar ,
+      type varchar ,
+      PRIMARY KEY (id)
+    ) ;
+    };
+
+}
+
 package Sample::Address;
 use Jifty::DBI::Schema;
 use Jifty::DBI::Record schema {
@@ -25,4 +51,27 @@
 
 };
 
+sub schema_sqlite {
+    return q{
+    CREATE TABLE addresses (
+     id INTEGER PRIMARY KEY NOT NULL  ,
+     employee_id integer   ,
+     name varchar  DEFAULT 'Frank' ,
+     phone varchar
+    ) ;
+    }
+}
+
+sub schema_pg {
+    return q{
+    CREATE TABLE addresses ( 
+      id serial NOT NULL , 
+      employee_id integer  ,
+      name varchar DEFAULT 'Frank' ,
+      phone varchar ,
+      PRIMARY KEY (id)
+    ) ;
+    };
+}
+
 1;


More information about the Jifty-commit mailing list