aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins-scripts/t/check_uptime.t58
1 files changed, 57 insertions, 1 deletions
diff --git a/plugins-scripts/t/check_uptime.t b/plugins-scripts/t/check_uptime.t
index 4606718a..c395307c 100644
--- a/plugins-scripts/t/check_uptime.t
+++ b/plugins-scripts/t/check_uptime.t
@@ -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" );
+