DBIx-Migration-Directories
view release on metacpan or search on metacpan
t/01_class.t view on Meta::CPAN
desired_version_from => 'DBIx::Migration::Directories',
);
is(
$mh->desired_version, $DBIx::Migration::Directories::SCHEMA_VERSION,
'desired_version_from - Good package'
);
ok(
$mh = $mh->new(
dbh => $dbh,
base => 't/tetc',
schema => 'OtherTest',
dir => 't/tetc/TestSchema/_generic',
),
'Initialize new object off of existing object'
);
is($mh->desired_version, 4, 'new object initializes properly');
ok(
$mh = $mh->new(
dbh => $dbh,
dir => 't/tetc/TestSchema',
desired_version_from => 'TestSchema',
),
'Initialize new object with desired_version_from'
);
is($mh->{schema}, 'TestSchema', 'schema name set from desired_version_from');
is($mh->desired_version, $TestSchema::VERSION, 'version number matches');
$mh = $mh->new(
dbh => $dbh,
base => 't/tetc',
schema => 'TestSchema',
current_version => 3,
);
is($mh->desired_version, 3, 'desired_version - Impossible to upgrade');
eval {
$mh = $mh->new(
dbh => $dbh,
dir => 't/tetc/TestSchema',
schema => 'TestSchema',
current_version => -1,
);
};
like($@,
qr/Failed to detect the highest version/,
'Initialize new object with bad current_version'
);
SKIP: {
mkdir('bogus-dir', 0000) or die $!;
if(opendir(my $dir, 'bogus-dir')) {
closedir $dir;
chmod(0700, 'bogus-dir');
rmdir('bogus-dir');
skip "root can write to everything", 1;
}
eval {
$mh = $mh->new(
dbh => $dbh,
dir => 'bogus-dir',
schema => 'TestSchema',
current_version => -1,
);
};
like($@,
qr/^opendir\("bogus-dir"\) failed:/,
'Initialize with directory we dont have access to'
);
chmod(0700, 'bogus-dir');
rmdir('bogus-dir');
}
( run in 1.065 second using v1.01-cache-2.11-cpan-98e64b0badf )