AFS

 view release on metacpan or  search on metacpan

src/VOS/t/VOS.t  view on Meta::CPAN

# -*-cperl-*-

use strict;
use lib qw(../../inc ../inc);
use blib;

use Test::More;

BEGIN {
    use AFS::FS;
    if (AFS::FS::isafs('./')) { plan tests => 61; }
    else { plan skip_all => 'Working directory is not in AFS file system ...'; }

    use_ok('AFS::VOS');
}

# vos->new(verbose=0, timeout=90, noauth=0, localauth=0, tcell=NULL, crypt=0)
my $vos = AFS::VOS->new('no_verb');
like($AFS::CODE, qr/Flag "verb" should be numeric/, 'vos->new(no_verb)');
$vos = AFS::VOS->new(0, 'no_timeout');
like($AFS::CODE, qr/Flag "timeout" should be numeric/, 'vos->new(0 no_timeout)');
$vos = AFS::VOS->new(0, 90, 'no_auth');
like($AFS::CODE, qr/Flag "noauth" should be numeric/, 'vos->new(0 90 no_auth)');
$vos = AFS::VOS->new(0, 90, 0, 'no_localauth');
like($AFS::CODE, qr/Flag "localauth" should be numeric/, 'vos->new(0 90 0 no_localauth)');
$vos = AFS::VOS->new(0, 90, 0, 0, 'xyz');
like($AFS::CODE, qr/can\'t find cell/, 'vos->new(0 90 0 0 no_cell)');
$vos = AFS::VOS->new(0, 90, 0, 0, '', 'no_crypt');
like($AFS::CODE, qr/Flag "crypt" should be numeric/, 'vos->new(0 90 0 0 empty_cell no_crypt)');
$vos = AFS::VOS->new;
is(ref($vos), 'AFS::VOS', 'vos->new()');
undef $vos;
$vos = AFS::VOS->new(0, 90, 0, 0, '');
is(ref($vos), 'AFS::VOS', 'vos->new(0 90 0 0 empty_cell)');
undef $vos;

is(leak_test(), 1210, 'vos leak_test');

$vos = AFS::VOS->new;
$vos->release('novolume');
like($AFS::CODE, qr/no such entry/, 'vos->release(novolume)');
$vos->release('root.afs', 'a');
like($AFS::CODE, qr/Flag "force" should be numeric/, 'vos->release(root.afs a)');

use AFS::VLDB;
my $vldb = AFS::VLDB->new;
my $vldblist = $vldb->listvldbentry('root.afs');
my $server = $vldblist->{'root.afs'}->{'server'}->[0]->{'name'};
my $part   = $vldblist->{'root.afs'}->{'server'}->[0]->{'partition'};

$vos->restore($server, $part, 'root.afs', 'dfile', 'id', 'no_inter');
like($AFS::CODE, qr/Flag "inter" should be numeric/, 'vos->restore(server part volume dfile id no_inter)');
$vos->restore($server, $part, 'root.afs', 'dfile', 'id', 0, 'ovwrt', 'no_offl');
like($AFS::CODE, qr/Flag "offline" should be numeric/, 'vos->restore(server part volume dfile id 0 ovwrt no_offl)');
$vos->restore($server, $part, 'root.afs', 'dfile', 'id', 0, 'ovwrt', 0, 'no_ronly');
like($AFS::CODE, qr/Flag "readonly" should be numeric/, 'vos->restore(server part volume dfile id 0 ovwrt 0 no_ronly)');

$vos->dump('root.afs', 'no_time', 'dump_file', $server, $part, 0, 0);
like($AFS::CODE, qr/failed to parse date/, 'vos->dump(volume no_time dump_file server part 0 0)');
$vos->dump('root.afs', 0, 'dump_file', $server, $part, 0, 'no_omit');
like($AFS::CODE, qr/Flag "omit" should be numeric/, 'vos->dump(volume time dump_file server part 0 no_omit)');
$vos->dump('root.afs', 0, 'dump_file', $server, $part, 'no_clone', 0);
like($AFS::CODE, qr/Flag "clone" should be numeric/, 'vos->dump(volume time dump_file server part no_clone 0)');
$vos->dump('no_volume', 0, 'dump_file', $server, $part, 0, 0);
like($AFS::CODE, qr/VLDB: no such entry/, 'vos->dump(no_volume time dump_file server part 0 0)');
$vos->dump('root.afs', 0, 'dump_file', 'no_server', $part, 0, 0);
like($AFS::CODE, qr/Invalid server name/, 'vos->dump(volume time dump_file no_server part 0 0)');



( run in 1.285 second using v1.01-cache-2.11-cpan-39bf76dae61 )