Commit | Line | Data |
4068e05f |
1 | use strict; |
2 | use warnings; |
3 | |
4 | use Test::More; |
91d0c99f |
5 | use Test::Exception; |
1759f82f |
6 | use Path::Class qw/dir/; |
4068e05f |
7 | |
8 | use lib qw(t/lib); |
9 | use DBICTest; |
10 | |
43d2a76e |
11 | BEGIN { |
12 | require DBIx::Class; |
13 | plan skip_all => |
14 | 'Test needs ' . DBIx::Class::Optional::Dependencies->req_missing_for ('deploy') |
15 | unless DBIx::Class::Optional::Dependencies->req_ok_for ('deploy') |
16 | } |
17 | |
1759f82f |
18 | # this is how maint/gen_schema did it (connect() to force a storage |
19 | # instance, but no conninfo) |
20 | # there ought to be more code like this in the wild |
21 | like( |
22 | DBICTest::Schema->connect->deployment_statements('SQLite'), |
23 | qr/\bCREATE TABLE\b/i |
24 | ); |
91d0c99f |
25 | |
26 | lives_ok( sub { |
27 | my $parse_schema = DBICTest->init_schema(no_deploy => 1); |
28 | $parse_schema->deploy({},'t/lib/test_deploy'); |
29 | $parse_schema->resultset("Artist")->all(); |
30 | }, 'artist table deployed correctly' ); |
31 | |
4068e05f |
32 | my $schema = DBICTest->init_schema(); |
33 | |
8d6b1478 |
34 | my $var = dir ("t/var/ddl_dir-$$"); |
35 | $var->mkpath unless -d $var; |
4068e05f |
36 | |
076be7c4 |
37 | my $test_dir_1 = $var->subdir ('test1', 'foo', 'bar' ); |
8d6b1478 |
38 | $test_dir_1->rmtree if -d $test_dir_1; |
4068e05f |
39 | $schema->create_ddl_dir( undef, undef, $test_dir_1 ); |
40 | |
076be7c4 |
41 | ok( -d $test_dir_1, 'create_ddl_dir did a make_path on its target dir' ); |
4068e05f |
42 | ok( scalar( glob $test_dir_1.'/*.sql' ), 'there are sql files in there' ); |
43 | |
4ca1fd6f |
44 | { |
45 | local $TODO = 'we should probably add some tests here for actual deployability of the DDL?'; |
46 | ok( 0 ); |
4068e05f |
47 | } |
48 | |
8d6b1478 |
49 | END { |
50 | $var->rmtree; |
51 | } |
52 | |
4068e05f |
53 | done_testing; |