common tests for schema_base_class and components
[dbsrgits/DBIx-Class-Schema-Loader.git] / t / 60dbicdump_config.t
CommitLineData
0322c5b3 1#!perl
2
3use strict;
4use warnings;
5
6use Test::More;
7use File::Path qw/make_path rmtree/;
8use DBIx::Class::Schema::Loader::Optional::Dependencies ();
9use DBIx::Class::Schema::Loader::Utils 'slurp_file';
10use lib 't/lib';
11use make_dbictest_db ();
12use dbixcsl_test_dir '$tdir';
13
14BEGIN {
15 use DBIx::Class::Schema::Loader::Optional::Dependencies ();
16 plan skip_all => 'Tests needs ' . DBIx::Class::Schema::Loader::Optional::Dependencies->req_missing_for('test_dbicdump_config')
17 unless (DBIx::Class::Schema::Loader::Optional::Dependencies->req_ok_for('test_dbicdump_config'));
18}
19
20plan tests => 2;
21
22my $config_dir = "$tdir/dbicdump_config";
23make_path $config_dir;
24my $config_file = "$config_dir/my.conf";
25
26my $dump_path = "$tdir/dbicdump_config_dump";
27
28open my $fh, '>', $config_file
29 or die "Could not write to $config_file: $!";
30
31print $fh <<"EOF";
32schema_class DBICTest::Schema
33
34<connect_info>
35 dsn $make_dbictest_db::dsn
36</connect_info>
37
38<loader_options>
39 dump_directory $dump_path
40 components InflateColumn::DateTime
41 quiet 1
42</loader_options>
43EOF
44
45close $fh;
46
47system $^X, 'script/dbicdump', $config_file;
48
49is $? >> 8, 0,
50 'dbicdump executed successfully';
51
52my $foo = slurp_file "$dump_path/DBICTest/Schema/Result/Foo.pm";
53
54like $foo, qr/InflateColumn::DateTime/,
55 'loader options read correctly from config_file';
56
57done_testing;
58
59END {
60 rmtree($config_dir, 1, 1);
61 rmtree($dump_path, 1, 1);
62}