X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fdeploy_methods%2Fsql_translator.t;h=614c6c0d21fd045d940c354c0801e0884f8aa3b9;hb=refs%2Fheads%2Fmigration_schema;hp=c0dba046f7703caa556a0701d89972e42712881c;hpb=cbbd1b5feb7bebfbef455dafc296f6b41f310943;p=dbsrgits%2FDBIx-Class-DeploymentHandler.git diff --git a/t/deploy_methods/sql_translator.t b/t/deploy_methods/sql_translator.t index c0dba04..614c6c0 100644 --- a/t/deploy_methods/sql_translator.t +++ b/t/deploy_methods/sql_translator.t @@ -12,15 +12,32 @@ use aliased 'DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator'; use File::Spec::Functions; use File::Path qw(rmtree mkpath); -my $dbh = DBI->connect('dbi:SQLite::memory:'); +my $dbh = DBICDHTest::dbh(); my @connection = (sub { $dbh }, { ignore_version => 1 }); my $sql_dir = 't/sql'; DBICDHTest::ready; +unlink 'stuffthatran'; + +for (qw(initialize upgrade downgrade deploy)) { + mkpath(catfile(qw( t sql _common), $_, '_any' )); + open my $fh, '>', + catfile(qw( t sql _common), $_, qw(_any 000-win.pl )); + print {$fh} 'sub {open my $fh, ">>", "stuffthatran"; use Data::Dumper::Concise; print {$fh} join(",", @{$_[1]||[]}) . "\n"; }'; + close $fh; +} + +for (qw(initialize upgrade downgrade deploy)) { + mkpath(catfile(qw( t sql SQLite), $_, '_any' )); + open my $fh, '>', + catfile(qw( t sql SQLite), $_, qw(_any 000-win2.pl )); + print {$fh} 'sub {open my $fh, ">>", "stuffthatran"; use Data::Dumper::Concise; print {$fh} join(",", @{$_[1]||[]}) . "\n"; }'; + close $fh; +} VERSION1: { use_ok 'DBICVersion_v1'; - my $s = DBICVersion::Schema->connect(@connection); + my $s = DBICVersion::Schema1->connect(@connection); my $dm = Translator->new({ schema => $s, script_directory => $sql_dir, @@ -39,7 +56,7 @@ VERSION1: { close $prerun; $dm->initialize({ version => '1.0' }); - ok -e 'foobar'; + ok -e 'foobar', 'code got run in preinit'; dies_ok {$dm->prepare_deploy} 'prepare_deploy dies if you run it twice' ; @@ -65,7 +82,7 @@ VERSION1: { VERSION2: { use_ok 'DBICVersion_v2'; - my $s = DBICVersion::Schema->connect(@connection); + my $s = DBICVersion::Schema2->connect(@connection); my $dm = Translator->new({ schema => $s, script_directory => $sql_dir, @@ -172,7 +189,7 @@ VERSION2: { VERSION3: { use_ok 'DBICVersion_v3'; - my $s = DBICVersion::Schema->connect(@connection); + my $s = DBICVersion::Schema3->connect(@connection); my $dm = Translator->new({ schema => $s, script_directory => $sql_dir, @@ -239,9 +256,31 @@ VERSION3: { biff => 'frew', }) } 'schema is deployed'; - dies_ok { - $dm->upgrade_single_step({ version_set => [qw( 2.0 3.0 )] }); - } 'dies when sql dir does not exist'; + ## This doesn't die now with the SQLT fixes + #dies_ok { + # $dm->upgrade_single_step({ version_set => [qw( 2.0 3.0 )] }); + #} 'dies when sql dir does not exist'; + # + $dm->upgrade_single_step({ version_set => [qw( 2.0 3.0 )] }); } + +my $stuff_that_ran = do { local( @ARGV, $/ ) = 'stuffthatran'; <> }; +is $stuff_that_ran, +' + +1.0 +1.0 +1.0,2.0 +1.0,2.0 +2.0,1.0 +2.0,1.0 +1.0,2.0 +1.0,2.0 +2.0,3.0 +2.0,3.0 +2.0,3.0 +2.0,3.0 +', '_any got ran the right amount of times with the right args'; + done_testing; #vim: ts=2 sw=2 expandtab