AFS
view release on metacpan or search on metacpan
src/VLDB/t/VLDB.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 => 56; }
else { plan skip_all => 'Working directory is not in AFS file system ...'; }
use_ok('AFS::VLDB');
}
my $vldb = AFS::VLDB->new;
is(ref($vldb), 'AFS::VLDB', 'vldb->new()');
undef $vldb;
# vldb->new(verbose=0, timeout=90, noauth=0, localauth=0, tcell=NULL, crypt=0)
$vldb = AFS::VLDB->new(0, 90, 0, 0, 'xyz');
like($AFS::CODE, qr/can\'t find cell/, 'vldb->new(0 90 0 0 no_cell)');
$vldb = AFS::VLDB->new(0, 90, 0, 0, '');
is(ref($vldb), 'AFS::VLDB', 'vldb->new(0 90 0 0 no_cell)');
undef $vldb;
is(leak_test(), 1210, 'vldb leak_test');
$vldb = AFS::VLDB->new;
my $vldblist = $vldb->listvldbentry('no_volume');
like($AFS::CODE, qr/no such entry/, 'vldb->listvldbentry(no_vol)');
$vldblist = $vldb->listvldbentry('root.afs');
isa_ok($vldblist, 'HASH', 'vldb->listvldbentry 1.level');
isa_ok($vldblist->{'root.afs'}, 'HASH', 'vldb->listvldbentry 2.level');
my $server = $vldblist->{'root.afs'}->{'server'}->[0]->{'name'};
my $part = $vldblist->{'root.afs'}->{'server'}->[0]->{'partition'};
my $volid = $vldblist->{'root.afs'}->{'RWrite'};
print "DEBUG: VOLID = $volid \n";
$vldblist = $vldb->listvldb($server, $part, 0);
isa_ok($vldblist, 'HASH', 'vldb->listvldb 1.level');
$vldblist = $vldb->listvldb('no_server', '/vicepa', 0);
like($AFS::CODE, qr/not found in host table/, 'vldb->listvldb(no_serv)');
$vldblist = $vldb->listvldb($server, 'no_partition', 0);
like($AFS::CODE, qr/could not interpret partition name/, 'vldb->listvldb(no_part)');
my @addrlist = $vldb->listaddrs('no_server');
like($AFS::CODE, qr/Can't get host info/, 'vldb->listaddrs(no_serv)');
@addrlist = $vldb->listaddrs($server);
is($addrlist[0]->{'name-1'}, $server, 'vldb->listaddrs(HOST)');
@addrlist = $vldb->listaddrs;
ok(defined $addrlist[0], 'vldb->listaddrs()');
my $ok = $vldb->lock('no_volume');
like($AFS::CODE, qr/no such entry/, 'vldb->lock');
ok(! $ok, 'vldb->lock');
$vldb->unlockvldb('no_server', '/vicepa');
like($AFS::CODE, qr/not found in host table/, 'vldb->unlockvldb(no_serv)');
$vldb->unlockvldb($server, 'no_partition');
like($AFS::CODE, qr/could not interpret partition name/, 'vldb->unlockvldb(no_part)');
$ok = $vldb->unlock('no_volume');
like($AFS::CODE, qr/no such entry/, 'vldb->unlock');
ok(! $ok, 'vldb->unlock');
( run in 0.941 second using v1.01-cache-2.11-cpan-39bf76dae61 )