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