X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F02-instantiation.t;h=156bb246dc9023794ff5387844c308cf76b0357b;hb=459a67e3365a32a2a88374d81f7b9cc5f8f8412e;hp=60d521602fbce3910d6a2f1976e6febce317ff51;hpb=cf400f483c5280a6d302f715b0d730ae829a4523;p=dbsrgits%2FDBIx-Class-DeploymentHandler.git diff --git a/t/02-instantiation.t b/t/02-instantiation.t index 60d5216..156bb24 100644 --- a/t/02-instantiation.t +++ b/t/02-instantiation.t @@ -2,31 +2,33 @@ use Test::More; use Test::Exception; +use File::Path 'remove_tree'; use lib 't/lib'; -use DBICTest; +use DBICDHTest; use DBIx::Class::DeploymentHandler; my $db = 'dbi:SQLite:db.db'; +my @connection = ($db, '', '', { ignore_version => 1 }); my $sql_dir = 't/sql'; -unlink 'db.db' if -e 'db.db'; -mkdir 't/sql' unless -d 't/sql'; +DBICDHTest::ready; VERSION1: { use_ok 'DBICVersion_v1'; - my $s = DBICVersion::Schema->connect($db); + my $s = DBICVersion::Schema->connect(@connection); ok($s, 'DBICVersion::Schema 1.0 instantiates correctly'); my $handler = DBIx::Class::DeploymentHandler->new({ upgrade_directory => $sql_dir, schema => $s, databases => 'SQLite', + sqltargs => { add_drop_table => 0 }, }); ok($handler, 'DBIx::Class::DeploymentHandler w/1.0 instantiates correctly'); my $version = $s->schema_version(); - $handler->create_ddl_dir( $version, 0); - ok(-e 't/sql/DBICVersion-Schema-1.0-SQLite.sql', 'DDL for 1.0 got created successfully'); + $handler->prepare_install(); + #ok(-e 't/sql/DBICVersion-Schema-schema-1.0-SQLite.sql', 'DDL for 1.0 got created successfully'); dies_ok { $s->resultset('Foo')->create({ @@ -34,6 +36,9 @@ VERSION1: { }) } 'schema not deployed'; $handler->install; + dies_ok { + $handler->install; + } 'cannot install twice'; lives_ok { $s->resultset('Foo')->create({ bar => 'frew', @@ -43,7 +48,7 @@ VERSION1: { VERSION2: { use_ok 'DBICVersion_v2'; - my $s = DBICVersion::Schema->connect($db); + my $s = DBICVersion::Schema->connect(@connection); ok($s, 'DBICVersion::Schema 2.0 instantiates correctly'); my $handler = DBIx::Class::DeploymentHandler->new({ upgrade_directory => $sql_dir, @@ -54,10 +59,11 @@ VERSION2: { ok($handler, 'DBIx::Class::DeploymentHandler w/2.0 instantiates correctly'); $version = $s->schema_version(); - $handler->create_ddl_dir($version, 0); - $handler->create_ddl_dir($version, '1.0'); - ok(-e 't/sql/DBICVersion-Schema-2.0-SQLite.sql', 'DDL for 2.0 got created successfully'); - ok(-e 't/sql/DBICVersion-Schema-1.0-2.0-SQLite.sql', 'DDL for migration from 1.0 to 2.0 got created successfully'); + $handler->prepare_install(); + $handler->prepare_upgrade('1.0', $version); + $handler->prepare_upgrade($version, '1.0'); + #ok(-e 't/sql/DBICVersion-Schema-schema-2.0-SQLite.sql', 'DDL for 2.0 got created successfully'); + #ok(-e 't/sql/DBICVersion-Schema-diff-1.0-2.0-SQLite.sql', 'DDL for migration from 1.0 to 2.0 got created successfully'); dies_ok { $s->resultset('Foo')->create({ bar => 'frew', @@ -71,7 +77,7 @@ VERSION2: { baz => 'frew', }) } 'schema not uppgrayyed'; - $handler->upgrade_single_step('1.0', '2.0'); + $handler->upgrade; lives_ok { $s->resultset('Foo')->create({ bar => 'frew', @@ -82,7 +88,7 @@ VERSION2: { VERSION3: { use_ok 'DBICVersion_v3'; - my $s = DBICVersion::Schema->connect($db); + my $s = DBICVersion::Schema->connect(@connection); ok($s, 'DBICVersion::Schema 3.0 instantiates correctly'); my $handler = DBIx::Class::DeploymentHandler->new({ upgrade_directory => $sql_dir, @@ -93,12 +99,12 @@ VERSION3: { ok($handler, 'DBIx::Class::DeploymentHandler w/3.0 instantiates correctly'); $version = $s->schema_version(); - $handler->create_ddl_dir( $version, 0); - $handler->create_ddl_dir( $version, '1.0'); - $handler->create_ddl_dir( $version, '2.0'); - ok(-e 't/sql/DBICVersion-Schema-3.0-SQLite.sql', 'DDL for 3.0 got created successfully'); - ok(-e 't/sql/DBICVersion-Schema-1.0-3.0-SQLite.sql', 'DDL for migration from 1.0 to 3.0 got created successfully'); - ok(-e 't/sql/DBICVersion-Schema-2.0-3.0-SQLite.sql', 'DDL for migration from 2.0 to 3.0 got created successfully'); + $handler->prepare_install; + $handler->prepare_upgrade( '1.0', $version ); + $handler->prepare_upgrade( '2.0', $version ); + #ok(-e 't/sql/DBICVersion-Schema-schema-3.0-SQLite.sql', 'DDL for 3.0 got created successfully'); + #ok(-e 't/sql/DBICVersion-Schema-diff-1.0-3.0-SQLite.sql', 'DDL for migration from 1.0 to 3.0 got created successfully'); + #ok(-e 't/sql/DBICVersion-Schema-diff-2.0-3.0-SQLite.sql', 'DDL for migration from 2.0 to 3.0 got created successfully'); dies_ok { $s->resultset('Foo')->create({ bar => 'frew', @@ -119,4 +125,4 @@ VERSION3: { done_testing; __END__ -vim: ts=2,sw=2,expandtab +vim: ts=2 sw=2 expandtab