Added tests for range values

This commit is contained in:
Bernd Arnold 2018-06-13 17:13:20 +02:00
parent db499b6f5b
commit 558090a7d8

View file

@ -5,7 +5,7 @@
#
use strict;
use Test::More tests => 21;
use Test::More tests => 40;
use NPTest;
my $result;
@ -71,3 +71,59 @@ cmp_ok( $result->return_code, '==', 0, "Uptime lower than 111222 days" );
like ( $result->output, '/^OK: uptime is \d+ seconds/', "Output for uptime lower than 111222 days correct" );
like ( $result->output, '/\|uptime=[0-9]+s;9609580800;19209571200;/', "Checking for performance output" );
# Same as before, hopefully uptime is higher than 2 seconds so no warning
$result = NPTest->testCmd(
"./check_uptime -w 2:111222d -c 1:222333d"
);
cmp_ok( $result->return_code, '==', 0, "Uptime lower than 111222 days, and higher 2 seconds" );
like ( $result->output, '/^OK: uptime is \d+ seconds/', "Output for uptime lower than 111222 days, and higher 2 seconds correct" );
like ( $result->output, '/\|uptime=[0-9]+s;9609580800;19209571200;/', "Checking for performance output" );
# Same as before, now the low warning should trigger
$result = NPTest->testCmd(
"./check_uptime -w 111221d:111222d -c 1:222333d"
);
cmp_ok( $result->return_code, '==', 1, "Uptime lower than 111221 days raises warning" );
like ( $result->output, '/^WARNING: uptime is \d+ seconds/', "Output for uptime lower than 111221 days correct" );
like ( $result->output, '/Exceeds lower warn threshold/', "Exceeds text correct" );
like ( $result->output, '/\|uptime=[0-9]+s;9609580800;19209571200;/', "Checking for performance output" );
# Same as before, now the low critical should trigger
$result = NPTest->testCmd(
"./check_uptime -w 111221d:111222d -c 111220d:222333d"
);
cmp_ok( $result->return_code, '==', 2, "Uptime lower than 111220 days raises critical" );
like ( $result->output, '/^CRITICAL: uptime is \d+ seconds/', "Output for uptime lower than 111220 days correct" );
like ( $result->output, '/Exceeds lower crit threshold/', "Exceeds text correct" );
like ( $result->output, '/\|uptime=[0-9]+s;9609580800;19209571200;/', "Checking for performance output" );
#
# Range values using ":" without two parts ("a:b") is invalid
# Strings without two parts are always considered as upper threshold
#
$result = NPTest->testCmd(
"./check_uptime -w 2: -c 1:4"
);
cmp_ok( $result->return_code, '==', 3, "Wrong parameter format raises unknown" );
like ( $result->output, '/^Upper warning .* is not numeric/', "Output for wrong parameter format correct" );
$result = NPTest->testCmd(
"./check_uptime -w 2:3 -c 1:"
);
cmp_ok( $result->return_code, '==', 3, "Wrong parameter format raises unknown" );
like ( $result->output, '/^Upper critical .* is not numeric/', "Output for wrong parameter format correct" );
$result = NPTest->testCmd(
"./check_uptime -w :3 -c 1:4"
);
cmp_ok( $result->return_code, '==', 3, "Wrong parameter format raises unknown" );
like ( $result->output, '/^Upper warning .* is not numeric/', "Output for wrong parameter format correct" );
$result = NPTest->testCmd(
"./check_uptime -w 2:3 -c :4"
);
cmp_ok( $result->return_code, '==', 3, "Wrong parameter format raises unknown" );
like ( $result->output, '/^Upper critical .* is not numeric/', "Output for wrong parameter format correct" );