75 lines
2.4 KiB
Perl
75 lines
2.4 KiB
Perl
#!/usr/bin/env perl
|
|
|
|
#########################
|
|
|
|
use strict;
|
|
use Test::More;
|
|
use Data::Dumper;
|
|
|
|
if ( !defined $ENV{TEST_SERVER} ) {
|
|
my $msg = 'Author test. Set $ENV{TEST_SOCKET} and $ENV{TEST_SERVER} to run';
|
|
plan( skip_all => $msg );
|
|
} else {
|
|
plan( tests => 7 );
|
|
}
|
|
|
|
# set an alarm
|
|
my $lastquery;
|
|
$SIG{ALRM} = sub {
|
|
my @caller = caller;
|
|
print STDERR 'last query: '.$lastquery if defined $lastquery;
|
|
die "timeout reached:".Dumper(\@caller)."\n"
|
|
};
|
|
alarm(30);
|
|
|
|
use_ok('Monitoring::Livestatus');
|
|
|
|
#use Log::Log4perl qw(:easy);
|
|
#Log::Log4perl->easy_init($DEBUG);
|
|
|
|
#########################
|
|
# Test Query
|
|
#########################
|
|
my $statement = "GET hosts\nColumns: alias\nFilter: name = host1";
|
|
|
|
#########################
|
|
my $objects_to_test = {
|
|
# create inet object with hash args
|
|
'01 inet_hash_args' => Monitoring::Livestatus->new(
|
|
verbose => 0,
|
|
server => $ENV{TEST_SERVER},
|
|
keepalive => 1,
|
|
timeout => 3,
|
|
retries_on_connection_error => 0,
|
|
# logger => get_logger(),
|
|
),
|
|
|
|
# create inet object with a single arg
|
|
'02 inet_single_arg' => Monitoring::Livestatus::INET->new( $ENV{TEST_SERVER} ),
|
|
|
|
};
|
|
|
|
for my $key (sort keys %{$objects_to_test}) {
|
|
my $ml = $objects_to_test->{$key};
|
|
isa_ok($ml, 'Monitoring::Livestatus');
|
|
|
|
# we dont need warnings for testing
|
|
$ml->warnings(0);
|
|
|
|
#########################
|
|
my $ary_ref = $ml->selectall_arrayref($statement);
|
|
is($Monitoring::Livestatus::ErrorCode, 0, 'Query Status 0');
|
|
#is_deeply($ary_ref, $selectall_arrayref1, 'selectall_arrayref($statement)')
|
|
# or diag("got: ".Dumper($ary_ref)."\nbut expected ".Dumper($selectall_arrayref1));
|
|
|
|
sleep(10);
|
|
|
|
$ary_ref = $ml->selectall_arrayref($statement);
|
|
is($Monitoring::Livestatus::ErrorCode, 0, 'Query Status 0');
|
|
#is_deeply($ary_ref, $selectall_arrayref1, 'selectall_arrayref($statement)')
|
|
# or diag("got: ".Dumper($ary_ref)."\nbut expected ".Dumper($selectall_arrayref1));
|
|
|
|
#print Dumper($Monitoring::Livestatus::ErrorCode);
|
|
#print Dumper($Monitoring::Livestatus::ErrorMessage);
|
|
}
|