Warn-free test suite with later DBIC
[dbsrgits/DBIx-Class-DeploymentHandler.git] / t / deploy_methods / sql_translator_deprecated.t
CommitLineData
02d58ac0 1#!perl
2
3use Test::More;
4use Test::Exception;
5
6use lib 't/lib';
7use DBICDHTest;
d50f2521 8use aliased
91557c90 9 'DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator::Deprecated';
d50f2521 10
11use File::Spec::Functions;
12
f3b5161e 13my $dbh = DBICDHTest::dbh();
624e3018 14my @connection = (sub { $dbh }, { ignore_version => 1 });
d50f2521 15my $sql_dir = 't/sql';
16
17DBICDHTest::ready;
18
19VERSION1: {
20 use_ok 'DBICVersion_v1';
21 my $s = DBICVersion::Schema->connect(@connection);
22 my $dm = Deprecated->new({
23 schema => $s,
91adde75 24 script_directory => $sql_dir,
d50f2521 25 databases => ['SQLite'],
02a7b8ac 26 sql_translator_args => { add_drop_table => 0 },
d50f2521 27 });
28
29 ok( $dm, 'DBIC::DH::DM::SQLT::Deprecated gets instantiated correctly' );
30
91557c90 31 $dm->prepare_deploy;
d50f2521 32
33 ok(
34 -f catfile(qw( t sql DBICVersion-Schema-1.0-SQLite.sql )),
35 '1.0 schema gets generated properly'
36 );
37
38 dies_ok {
39 $s->resultset('Foo')->create({
40 bar => 'frew',
41 })
42 } 'schema not deployed';
7d2a6974 43 $dm->deploy;
d50f2521 44 lives_ok {
45 $s->resultset('Foo')->create({
46 bar => 'frew',
47 })
48 } 'schema is deployed';
49}
50
51VERSION2: {
91557c90 52 use_ok 'DBICVersion_v2';
53 my $s = DBICVersion::Schema->connect(@connection);
d50f2521 54 my $dm = Deprecated->new({
55 schema => $s,
91adde75 56 script_directory => $sql_dir,
d50f2521 57 databases => ['SQLite'],
58 });
59
60 ok(
91557c90 61 $dm,
62 'DBIC::DH::DM::SQLT::Deprecated gets instantiated correctly w/ version 2.0'
63 );
02d58ac0 64
91557c90 65 $version = $s->schema_version;
66 $dm->prepare_deploy;
be140a5f 67 $dm->prepare_upgrade({
624e3018 68 from_version => '1.0',
69 to_version => $version,
70 version_set => ['1.0', $version]
be140a5f 71 });
91557c90 72 dies_ok {
73 $s->resultset('Foo')->create({
74 bar => 'frew',
75 baz => 'frew',
76 })
77 } 'schema not deployed';
78 dies_ok {
79 $s->resultset('Foo')->create({
80 bar => 'frew',
81 baz => 'frew',
82 })
83 } 'schema not uppgrayyed';
be140a5f 84 $dm->upgrade_single_step({ version_set => ['1.0', $version] });
91557c90 85 lives_ok {
86 $s->resultset('Foo')->create({
87 bar => 'frew',
88 baz => 'frew',
89 })
90 } 'schema is deployed';
d50f2521 91}
02d58ac0 92done_testing;
d50f2521 93#vim: ts=2 sw=2 expandtab