use Path::Class;
use Data::Dumper;
use DBICTest::Schema2;
+use Devel::Confess;
+use Test::TempDir::Tiny;
+use IO::All;
-# set up and populate normal schema
-ok(my $schema = DBICTest->init_schema(), 'got schema');
-my $config_dir = 't/var/configs';
+my $tempdir = tempdir;
+# set up and populate normal schema
+ok(my $schema = DBICTest->init_schema(db_dir => $tempdir), 'got schema');
+my $config_dir = io->catfile(qw't var configs')->name;
+my $dbix_class_different = io->catfile($tempdir, qw[ DBIxClassDifferent.db ])->name;
my @different_connection_details = (
- 'dbi:SQLite:t/var/DBIxClassDifferent.db',
+ "dbi:SQLite:$dbix_class_different",
'',
''
)
ok $schema2;
-unlink('t/var/DBIxClassDifferent.db') if (-e 't/var/DBIxClassDifferent.db');
+unlink($dbix_class_different) if (-e $dbix_class_different );
-DBICTest->deploy_schema($schema2, 't/lib/sqlite_different.sql');
+DBICTest->deploy_schema($schema2, io->catfile(qw't lib sqlite_different.sql')->name);
# do dump
ok(my $fixtures = DBIx::Class::Fixtures->new({
ok($fixtures->dump({
config => "simple.json",
- schema => $schema,
- directory => 't/var/fixtures'
+ schema => $schema,
+ directory => $tempdir
}),
"simple dump executed okay");
ok($fixtures->populate({
- ddl => 't/lib/sqlite_different.sql',
+ ddl => io->catfile(qw[t lib sqlite_different.sql])->name,
connection_details => [@different_connection_details],
- directory => 't/var/fixtures'
+ directory => $tempdir
}),
'mysql populate okay');
ok($fixtures->populate({
- ddl => 't/lib/sqlite.sql',
- connection_details => ['dbi:SQLite:t/var/DBIxClass.db', '', ''],
- directory => 't/var/fixtures'
+ ddl => io->catfile(qw[ t lib sqlite.sql ])->name,
+ connection_details => ['dbi:SQLite:'.io->catfile($tempdir, qw[ DBIxClass.db ])->name, '', ''],
+ directory => $tempdir
}),
'sqlite populate okay');
-$schema = DBICTest->init_schema(no_deploy => 1);
+$schema = DBICTest->init_schema(db_dir => $tempdir,no_deploy => 1);
is($schema->resultset('Artist')->count, 1, 'artist imported to sqlite okay');