initial commit
This commit is contained in:
53
api/perl/t/35-Monitoring-Livestatus-callbacks_support.t
Normal file
53
api/perl/t/35-Monitoring-Livestatus-callbacks_support.t
Normal file
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env perl
|
||||
|
||||
#########################
|
||||
|
||||
use strict;
|
||||
use Encode;
|
||||
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 => 15 );
|
||||
}
|
||||
|
||||
use_ok('Monitoring::Livestatus');
|
||||
|
||||
#use Log::Log4perl qw(:easy);
|
||||
#Log::Log4perl->easy_init($DEBUG);
|
||||
|
||||
#########################
|
||||
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');
|
||||
|
||||
my $got = $ml->selectall_arrayref("GET hosts\nColumns: name alias state\nLimit: 1", { Slice => 1, callbacks => { 'c1' => sub { return $_[0]->{'alias'}; } } });
|
||||
isnt($got->[0]->{'alias'}, undef, 'got a test host');
|
||||
is($got->[0]->{'alias'}, $got->[0]->{'c1'}, 'callback for sliced results');
|
||||
|
||||
$got = $ml->selectall_arrayref("GET hosts\nColumns: name alias state\nLimit: 1", { Slice => 1, callbacks => { 'name' => sub { return $_[0]->{'alias'}; } } });
|
||||
isnt($got->[0]->{'alias'}, undef, 'got a test host');
|
||||
is($got->[0]->{'alias'}, $got->[0]->{'name'}, 'callback for sliced results which overwrites key');
|
||||
|
||||
$got = $ml->selectall_arrayref("GET hosts\nColumns: name alias state\nLimit: 1", { callbacks => { 'c1' => sub { return $_[0]->[1]; } } });
|
||||
isnt($got->[0]->[1], undef, 'got a test host');
|
||||
is($got->[0]->[1], $got->[0]->[3], 'callback for non sliced results');
|
||||
}
|
||||
Reference in New Issue
Block a user