Warn-free test suite with later DBIC
[dbsrgits/DBIx-Class-DeploymentHandler.git] / t / deploy_methods / sql_translator_protoschema_transform.t
CommitLineData
f9c6ab50 1#!perl
2
cbbd1b5f 3use strict;
4use warnings;
5
f9c6ab50 6use Test::More;
7use Test::Exception;
8
9use lib 't/lib';
10use DBICDHTest;
11use aliased 'DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator';
12use File::Spec::Functions;
13use File::Path qw(rmtree mkpath);
14
f3b5161e 15my $dbh = DBICDHTest::dbh();
624e3018 16my @connection = (sub { $dbh }, { ignore_version => 1 });
f9c6ab50 17my $sql_dir = 't/sql';
18
19DBICDHTest::ready;
20
21VERSION1: {
22 use_ok 'DBICVersion_v1';
23 my $s = DBICVersion::Schema->connect(@connection);
24 my $dm = Translator->new({
25 schema => $s,
26 script_directory => $sql_dir,
27 databases => ['SQLite'],
28 sql_translator_args => { add_drop_table => 0 },
29 });
30
31 $dm->prepare_deploy;
32 $dm->deploy;
33}
34
35VERSION2: {
36 use_ok 'DBICVersion_v2';
37 my $s = DBICVersion::Schema->connect(@connection);
38 my $dm = Translator->new({
39 schema => $s,
40 script_directory => $sql_dir,
41 databases => ['SQLite'],
42 sql_translator_args => { add_drop_table => 0 },
43 txn_wrap => 1,
44 });
45
f9c6ab50 46 $dm->prepare_deploy;
58eb99c3 47 mkpath(catfile(qw( t sql _preprocess_schema upgrade 1.0-2.0 )));
f9c6ab50 48 open my $prerun, '>',
58eb99c3 49 catfile(qw( t sql _preprocess_schema upgrade 1.0-2.0 003-semiautomatic.pl ));
f9c6ab50 50 print {$prerun}
51 'sub {
52 use File::Touch;
53 touch(q(robotparty))
54 if $_[0]->isa("SQL::Translator::Schema")
55 && $_[1]->isa("SQL::Translator::Schema");
56 }';
57 close $prerun;
58 $dm->prepare_upgrade({
59 from_version => '1.0',
60 to_version => '2.0',
61 version_set => [qw(1.0 2.0)]
62 });
63 ok -e 'robotparty', 'intermediate script ran with the right args';
64 $dm->upgrade_single_step({ version_set => [qw( 1.0 2.0 )] });
65}
66done_testing;
67#vim: ts=2 sw=2 expandtab