X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flib%2FDBICDHTest.pm;fp=t%2Flib%2FDBICDHTest.pm;h=7960e05c064ccf7971426531728eb7a8dd2e72c8;hb=4a65f60b80222596f851950728f0a115f511481c;hp=908b76787d8e7648834b8d7aed764ff293769bb1;hpb=627581cdaaf29719081ce6c9675063ada752afd3;p=dbsrgits%2FDBIx-Class-DeploymentHandler.git diff --git a/t/lib/DBICDHTest.pm b/t/lib/DBICDHTest.pm index 908b767..7960e05 100644 --- a/t/lib/DBICDHTest.pm +++ b/t/lib/DBICDHTest.pm @@ -15,155 +15,4 @@ sub ready { } } -sub test_bundle { - my $bundle = shift; - my $db = 'dbi:SQLite:db.db'; - my @connection = ($db, '', '', { ignore_version => 1 }); - my $sql_dir = 't/sql'; - - ready; - - VERSION1: { - use_ok 'DBICVersion_v1'; - my $s = DBICVersion::Schema->connect(@connection); - is $s->schema_version, '1.0', 'schema version is at 1.0'; - ok($s, 'DBICVersion::Schema 1.0 instantiates correctly'); - my $handler = $bundle->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->prepare_install(); - - dies_ok { - $s->resultset('Foo')->create({ - bar => 'frew', - }) - } 'schema not deployed'; - $handler->install; - dies_ok { - $handler->install; - } 'cannot install twice'; - lives_ok { - $s->resultset('Foo')->create({ - bar => 'frew', - }) - } 'schema is deployed'; - } - - VERSION2: { - use_ok 'DBICVersion_v2'; - my $s = DBICVersion::Schema->connect(@connection); - is $s->schema_version, '2.0', 'schema version is at 2.0'; - ok($s, 'DBICVersion::Schema 2.0 instantiates correctly'); - my $handler = $bundle->new({ - upgrade_directory => $sql_dir, - schema => $s, - databases => 'SQLite', - }); - - ok($handler, 'DBIx::Class::DeploymentHandler w/2.0 instantiates correctly'); - - my $version = $s->schema_version(); - $handler->prepare_install(); - $handler->prepare_upgrade('1.0', $version); - dies_ok { - $s->resultset('Foo')->create({ - bar => 'frew', - baz => 'frew', - }) - } 'schema not deployed'; - dies_ok { - $s->resultset('Foo')->create({ - bar => 'frew', - baz => 'frew', - }) - } 'schema not uppgrayyed'; - $handler->upgrade; - lives_ok { - $s->resultset('Foo')->create({ - bar => 'frew', - baz => 'frew', - }) - } 'schema is deployed'; - } - - VERSION3: { - use_ok 'DBICVersion_v3'; - my $s = DBICVersion::Schema->connect(@connection); - is $s->schema_version, '3.0', 'schema version is at 3.0'; - ok($s, 'DBICVersion::Schema 3.0 instantiates correctly'); - my $handler = $bundle->new({ - upgrade_directory => $sql_dir, - schema => $s, - databases => 'SQLite', - }); - - ok($handler, 'DBIx::Class::DeploymentHandler w/3.0 instantiates correctly'); - - my $version = $s->schema_version(); - $handler->prepare_install; - $handler->prepare_upgrade( '2.0', $version ); - dies_ok { - $s->resultset('Foo')->create({ - bar => 'frew', - baz => 'frew', - biff => 'frew', - }) - } 'schema not deployed'; - $handler->upgrade; - lives_ok { - $s->resultset('Foo')->create({ - bar => 'frew', - baz => 'frew', - biff => 'frew', - }) - } 'schema is deployed'; - } - - DOWN2: { - use_ok 'DBICVersion_v4'; - my $s = DBICVersion::Schema->connect(@connection); - is $s->schema_version, '2.0', 'schema version is at 2.0'; - ok($s, 'DBICVersion::Schema 2.0 instantiates correctly'); - my $handler = $bundle->new({ - upgrade_directory => $sql_dir, - schema => $s, - databases => 'SQLite', - }); - - ok($handler, 'DBIx::Class::DeploymentHandler w/2.0 instantiates correctly'); - - my $version = $s->schema_version(); - $handler->prepare_downgrade('3.0', $version); - lives_ok { - $s->resultset('Foo')->create({ - bar => 'frew', - baz => 'frew', - biff => 'frew', - }) - } 'schema at version 3'; - $handler->downgrade; - dies_ok { - $s->resultset('Foo')->create({ - bar => 'frew', - baz => 'frew', - biff => 'frew', - }) - } 'schema not at version 3'; - lives_ok { - $s->resultset('Foo')->create({ - bar => 'frew', - baz => 'frew', - }) - } 'schema is at version 2'; - } -} - - 1;