Monitoring-Availability
view release on metacpan or search on metacpan
t/35-availability-timeperiods.t view on Meta::CPAN
#!/usr/bin/env perl
#########################
use strict;
use Test::More;
use Data::Dumper;
# checks against localtime will fail otherwise
use POSIX qw(tzset);
$ENV{'TZ'} = "CET";
POSIX::tzset();
BEGIN {
if( $^O eq 'MSWin32' ) {
plan skip_all => 'windows is not supported';
}
else {
plan tests => 30;
}
require 't/00_test_utils.pm';
import TestUtils;
}
use_ok('Monitoring::Availability');
#########################
# read logs from data
my $logs;
while(my $line = <DATA>) {
$logs .= $line;
}
my $options = {
'verbose' => 0,
'backtrack' => 4,
'assumestateretention' => 'yes',
'assumeinitialstates' => 'yes',
'assumestatesduringnotrunning' => 'yes',
'initialassumedhoststate' => 'unspecified',
'initialassumedservicestate' => 'unspecified',
'timeformat' => '%Y-%m-%d %H:%M:%S',
'rpttimeperiod' => '',
};
my $expected = {
'hosts' => {},
'services' => {
'testhost' => {
'testservice' => {
'time_ok' => 230,
'time_warning' => 0,
'time_unknown' => 0,
'time_critical' => 70,
'scheduled_time_ok' => 0,
'scheduled_time_warning' => 0,
'scheduled_time_unknown' => 0,
'scheduled_time_critical' => 0,
'scheduled_time_indeterminate' => 0,
'time_indeterminate_nodata' => 0,
'time_indeterminate_notrunning' => 0,
'time_indeterminate_outside_timeperiod' => 0,
}
}
}
};
my $expected_log = [
{ 'plugin_output' => 'service is ok', 'duration' => '0d 0h 0m 40s', 'class' => 'OK', 'type' => 'SERVICE OK (HARD)', 'end' => '2010-01-09 00:00:40', 'start' => '2010-01-09 00:00:00', 'in_downtime' => 0 },
( run in 1.950 second using v1.01-cache-2.11-cpan-d7f47b0818f )