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