Module: monitoring-plugins
 Branch: master
 Commit: 558090a7d884a265aa909d894672154892a0baae
 Author: Bernd Arnold <wop...@gmail.com>
   Date: Wed Jun 13 17:13:20 2018 +0200
    URL: 
https://www.monitoring-plugins.org/repositories/monitoring-plugins/commit/?id=558090a

Added tests for range values

---

 plugins-scripts/t/check_uptime.t | 58 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 57 insertions(+), 1 deletion(-)

diff --git a/plugins-scripts/t/check_uptime.t b/plugins-scripts/t/check_uptime.t
index 4606718..c395307 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" );
+

Reply via email to