initial commit
This commit is contained in:
74
api/perl/t/33-Monitoring-Livestatus-test_socket_timeout.t
Normal file
74
api/perl/t/33-Monitoring-Livestatus-test_socket_timeout.t
Normal file
@@ -0,0 +1,74 @@
|
||||
#!/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);
|
||||
}
|
||||
Reference in New Issue
Block a user