test fixin
[dbsrgits/DBIx-Class-Fixtures.git] / t / 13-populate-two-dbs.t
CommitLineData
aa9f3cc7 1#!perl
2
3use DBIx::Class::Fixtures;
4use Test::More tests => 7;
5use lib qw(t/lib);
6use DBICTest;
7use Path::Class;
8use Data::Dumper;
9use DBICTest::Schema2;
a9fe6f36 10use Devel::Confess;
66d02e24 11use IO::All;
12
aa9f3cc7 13# set up and populate normal schema
14ok(my $schema = DBICTest->init_schema(), 'got schema');
66d02e24 15my $config_dir = io->catfile(qw't var configs')->name;
16my $dbix_class_different = io->catfile(qw[ t var DBIxClassDifferent.db ])->name;
8a1df391 17my @different_connection_details = (
66d02e24 18 "dbi:SQLite:$dbix_class_different",
8a1df391 19 '',
20 ''
21)
22;
23my $schema2 = DBICTest::Schema2->compose_namespace('DBICTest2')
24 ->connect(@different_connection_details);
25
26ok $schema2;
27
66d02e24 28unlink($dbix_class_different) if (-e $dbix_class_different );
8a1df391 29
a9fe6f36 30DBICTest->deploy_schema($schema2, io->catfile(qw't lib sqlite_different.sql')->name);
8a1df391 31
aa9f3cc7 32# do dump
8a1df391 33ok(my $fixtures = DBIx::Class::Fixtures->new({
34 config_dir => $config_dir,
35 debug => 0
36 }),
37 'object created with correct config dir');
38
39ok($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
46ok($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 53ok($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 61is($schema->resultset('Artist')->count, 1, 'artist imported to sqlite okay');