1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
#!/usr/bin/perl
use strict;
use warnings;
use Config;
use English qw(-no_match_vars);
use File::Temp qw(tempdir);
use Test::More;
use Test::Exception;
use URI;
use FusionInventory::Agent::Target::Server;
plan tests => 10;
my $target;
throws_ok {
$target = FusionInventory::Agent::Target::Server->new();
} qr/^no url parameter/,
'instanciation: no url';
throws_ok {
$target = FusionInventory::Agent::Target::Server->new(
url => 'http://foo/bar'
);
} qr/^no basevardir parameter/,
'instanciation: no base directory';
my $basevardir = tempdir(CLEANUP => $ENV{TEST_DEBUG} ? 0 : 1);
lives_ok {
$target = FusionInventory::Agent::Target::Server->new(
url => 'http://my.domain.tld/ocsinventory',
basevardir => $basevardir
);
} 'instanciation: ok';
my $storage_dir = $OSNAME eq 'MSWin32' ?
"$basevardir/http..__my.domain.tld_ocsinventory" :
"$basevardir/http:__my.domain.tld_ocsinventory" ;
ok(-d $storage_dir, "storage directory creation");
is($target->{id}, 'server0', "identifier");
$target = FusionInventory::Agent::Target::Server->new(
url => 'http://my.domain.tld',
basevardir => $basevardir
);
is($target->getUrl(), 'http://my.domain.tld/ocsinventory', 'missing path');
$target = FusionInventory::Agent::Target::Server->new(
url => 'my.domain.tld',
basevardir => $basevardir
);
is($target->getUrl(), 'http://my.domain.tld/ocsinventory', 'bare hostname');
is($target->getMaxDelay(), 3600, 'default value');
my $nextRunDate = $target->getNextRunDate();
ok(-f "$storage_dir/target.dump", "state file existence");
$target = FusionInventory::Agent::Target::Server->new(
url => 'http://my.domain.tld/ocsinventory',
basevardir => $basevardir
);
is($target->getNextRunDate(), $nextRunDate, 'state persistence');
|