Commit | Line | Data |
aa9f3cc7 |
1 | #!perl |
2 | |
3 | use DBIx::Class::Fixtures; |
4 | use Test::More tests => 7; |
5 | use lib qw(t/lib); |
6 | use DBICTest; |
7 | use Path::Class; |
8 | use Data::Dumper; |
9 | use DBICTest::Schema2; |
10 | |
66d02e24 |
11 | use IO::All; |
12 | |
aa9f3cc7 |
13 | # set up and populate normal schema |
14 | ok(my $schema = DBICTest->init_schema(), 'got schema'); |
66d02e24 |
15 | my $config_dir = io->catfile(qw't var configs')->name; |
16 | my $dbix_class_different = io->catfile(qw[ t var DBIxClassDifferent.db ])->name; |
8a1df391 |
17 | my @different_connection_details = ( |
66d02e24 |
18 | "dbi:SQLite:$dbix_class_different", |
8a1df391 |
19 | '', |
20 | '' |
21 | ) |
22 | ; |
23 | my $schema2 = DBICTest::Schema2->compose_namespace('DBICTest2') |
24 | ->connect(@different_connection_details); |
25 | |
26 | ok $schema2; |
27 | |
66d02e24 |
28 | unlink($dbix_class_different) if (-e $dbix_class_different ); |
8a1df391 |
29 | |
66d02e24 |
30 | DBICTest->deploy_schema($schema2, 't lib sqlite_different.sql'); |
8a1df391 |
31 | |
aa9f3cc7 |
32 | # do dump |
8a1df391 |
33 | ok(my $fixtures = DBIx::Class::Fixtures->new({ |
34 | config_dir => $config_dir, |
35 | debug => 0 |
36 | }), |
37 | 'object created with correct config dir'); |
38 | |
39 | ok($fixtures->dump({ |
40 | config => "simple.json", |
41 | schema => $schema, |
66d02e24 |
42 | directory => io->catfile(qw't var fixtures')->name |
8a1df391 |
43 | }), |
44 | "simple dump executed okay"); |
45 | |
46 | ok($fixtures->populate({ |
66d02e24 |
47 | ddl => io->catfile(qw[t lib sqlite_different.sql])->name, |
8a1df391 |
48 | connection_details => [@different_connection_details], |
66d02e24 |
49 | directory => io->catfile(qw't var fixtures')->name |
8a1df391 |
50 | }), |
51 | 'mysql populate okay'); |
aa9f3cc7 |
52 | |
8a1df391 |
53 | ok($fixtures->populate({ |
66d02e24 |
54 | ddl => io->catfile(qw[ t lib sqlite.sql ])->name, |
55 | connection_details => ['dbi:SQLite:'.io->catfile(qw[ t var DBIxClass.db ])->name, '', ''], |
56 | directory => io->catfile(qw't var fixtures')->name |
8a1df391 |
57 | }), |
58 | 'sqlite populate okay'); |
aa9f3cc7 |
59 | |
8a1df391 |
60 | $schema = DBICTest->init_schema(no_deploy => 1); |
aa9f3cc7 |
61 | is($schema->resultset('Artist')->count, 1, 'artist imported to sqlite okay'); |