3b9435ba6cef3b6db6c8955ac6589c351d734a4f
[dbsrgits/DBIx-Class.git] / t / storage / deploy.t
1 use strict;
2 use warnings;
3
4 use Test::More;
5 use Test::Exception;
6
7 use lib qw(t/lib);
8 use DBICTest;
9
10 BEGIN {
11   require DBIx::Class;
12   plan skip_all =>
13       'Test needs ' . DBIx::Class::Optional::Dependencies->req_missing_for ('deploy')
14     unless DBIx::Class::Optional::Dependencies->req_ok_for ('deploy')
15 }
16
17 use File::Spec;
18 use Path::Class qw/dir/;
19 use File::Path qw/make_path remove_tree/;
20
21 lives_ok( sub {
22     my $parse_schema = DBICTest->init_schema(no_deploy => 1);
23     $parse_schema->deploy({},'t/lib/test_deploy');
24     $parse_schema->resultset("Artist")->all();
25 }, 'artist table deployed correctly' );
26
27 my $schema = DBICTest->init_schema();
28
29 my $var = dir (qw| t var create_ddl_dir |);
30 -d $var
31     or make_path( "$var" )
32     or die "can't create $var: $!";
33
34 my $test_dir_1 = $var->subdir ('test1', 'foo', 'bar' );
35 remove_tree( "$test_dir_1" ) if -d $test_dir_1;
36 $schema->create_ddl_dir( undef, undef, $test_dir_1 );
37
38 ok( -d $test_dir_1, 'create_ddl_dir did a make_path on its target dir' );
39 ok( scalar( glob $test_dir_1.'/*.sql' ), 'there are sql files in there' );
40
41 TODO: {
42     local $TODO = 'we should probably add some tests here for actual deployability of the DDL?';
43     ok( 0 );
44 }
45
46 done_testing;