Ansible-Util
view release on metacpan or search on metacpan
t/31-util-vars-testset2.t view on Meta::CPAN
$test2->chdir;
doRuntimeException();
doKeepFiles0();
doKeepFiles1();
}
done_testing();
#############################################
sub doKeepFiles0 {
my $vars = Ansible::Util::Vars->new(
vaultPasswordFiles => $test2->vaultPasswordFiles,
keepTempFiles => 0
);
ok( $vars->clearCache );
my $href = $vars->getVars( ['states'] );
ok( exists $href->{states} );
# ensure tempfile cleanup worked
my $dir = $vars->_tempDir;
my @files = @{ $vars->_tempFiles };
$vars = undef;
foreach my $file (@files) {
ok( !-f $file );
}
ok( !-d $dir );
}
sub doKeepFiles1 {
my $vars = Ansible::Util::Vars->new(
vaultPasswordFiles => $test2->vaultPasswordFiles,
keepTempFiles => 1
);
ok( $vars->clearCache );
my $href = $vars->getVars( ['states'] );
ok( exists $href->{states} );
# ensure tempfile cleanup worked
my $dir = $vars->_tempDir;
my @files = @{ $vars->_tempFiles };
$vars = undef;
foreach my $file (@files) {
ok( -f $file );
}
cleanup( $dir, \@files );
}
sub doRuntimeException {
#
# test a runtime exception (files should be kept for debug)
# ...this one fails because it needs vault pass files.
#
my $vars = Ansible::Util::Vars->new( keepTempFiles => 0 );
ok( $vars->clearCache );
eval { $vars->getVars( ['states'] ); };
ok($@);
# ensure tempfile cleanup did NOT happen
my $dir = $vars->_tempDir;
my @files = @{ $vars->_tempFiles };
$vars = undef;
foreach my $file (@files) {
ok( -f $file );
}
cleanup( $dir, \@files );
}
sub cleanup {
my ( $dir, $files ) = @_;
foreach my $file (@$files) {
$File->unlink($file);
}
$File->rmdir($dir);
}
( run in 0.548 second using v1.01-cache-2.11-cpan-39bf76dae61 )