diff options
Diffstat (limited to 'plugins/t')
-rw-r--r-- | plugins/t/NPTest.cache.travis | 54 | ||||
-rw-r--r-- | plugins/t/check_curl.t | 16 | ||||
-rw-r--r-- | plugins/t/check_disk.t | 7 | ||||
-rw-r--r-- | plugins/t/check_dns.t | 10 | ||||
-rw-r--r-- | plugins/t/check_fping.t | 32 | ||||
-rw-r--r-- | plugins/t/check_http.t | 4 | ||||
-rw-r--r-- | plugins/t/check_load.t | 4 | ||||
-rw-r--r-- | plugins/t/check_swap.t | 6 |
8 files changed, 43 insertions, 90 deletions
diff --git a/plugins/t/NPTest.cache.travis b/plugins/t/NPTest.cache.travis deleted file mode 100644 index 9b9f805..0000000 --- a/plugins/t/NPTest.cache.travis +++ /dev/null | |||
@@ -1,54 +0,0 @@ | |||
1 | { | ||
2 | 'NP_ALLOW_SUDO' => 'yes', | ||
3 | 'NP_DNS_SERVER' => '8.8.8.8', | ||
4 | 'NP_GOOD_NTP_SERVICE' => '', | ||
5 | 'NP_HOST_DHCP_RESPONSIVE' => '', | ||
6 | 'NP_HOST_HPJD_PORT_INVALID' => '161', | ||
7 | 'NP_HOST_HPJD_PORT_VALID' => '', | ||
8 | 'NP_HOSTNAME_INVALID_CIDR' => '130.133.8.39/30', | ||
9 | 'NP_HOSTNAME_INVALID' => 'nosuchhost', | ||
10 | 'NP_HOSTNAME_VALID_CIDR' => '130.133.8.41/30', | ||
11 | 'NP_HOSTNAME_VALID_IP' => '130.133.8.40', | ||
12 | 'NP_HOSTNAME_VALID' => 'monitoring-plugins.org', | ||
13 | 'NP_HOSTNAME_VALID_REVERSE' => 'orwell.monitoring-plugins.org.', | ||
14 | 'NP_HOST_NONRESPONSIVE' => '10.0.0.1', | ||
15 | 'NP_HOST_RESPONSIVE' => 'localhost', | ||
16 | 'NP_HOST_SMB' => '', | ||
17 | 'NP_HOST_SNMP' => '', | ||
18 | 'NP_HOST_TCP_FTP' => '', | ||
19 | 'NP_HOST_TCP_HPJD' => '', | ||
20 | 'NP_HOST_TCP_HTTP2' => 'test.monitoring-plugins.org', | ||
21 | 'NP_HOST_TCP_HTTP' => 'localhost', | ||
22 | 'NP_HOST_TCP_IMAP' => 'imap.web.de', | ||
23 | 'NP_HOST_TCP_JABBER' => 'jabber.org', | ||
24 | 'NP_HOST_TCP_LDAP' => 'localhost', | ||
25 | 'NP_HOST_TCP_POP' => 'pop.web.de', | ||
26 | 'NP_HOST_TCP_PROXY' => 'localhost', | ||
27 | 'NP_HOST_TCP_SMTP' => 'localhost', | ||
28 | 'NP_HOST_TCP_SMTP_NOTLS' => '', | ||
29 | 'NP_HOST_TCP_SMTP_TLS' => '', | ||
30 | 'NP_HOST_TLS_CERT' => 'localhost, | ||
31 | 'NP_HOST_TLS_HTTP' => 'localhost', | ||
32 | 'NP_HOST_UDP_TIME' => 'none', | ||
33 | 'NP_INTERNET_ACCESS' => 'yes', | ||
34 | 'NP_LDAP_BASE_DN' => 'cn=admin,dc=nodomain', | ||
35 | 'NP_MOUNTPOINT2_VALID' => '/media/ramdisk', | ||
36 | 'NP_MOUNTPOINT_VALID' => '/', | ||
37 | 'NP_MYSQL_LOGIN_DETAILS' => '-u root -d test', | ||
38 | 'NP_MYSQL_SERVER' => 'localhost', | ||
39 | 'NP_MYSQL_SOCKET' => '/var/run/mysqld/mysqld.sock', | ||
40 | 'NP_MYSQL_WITH_SLAVE' => '', | ||
41 | 'NP_MYSQL_WITH_SLAVE_LOGIN' => '', | ||
42 | 'NP_NO_NTP_SERVICE' => 'localhost', | ||
43 | 'NP_PORT_TCP_PROXY' => '3128', | ||
44 | 'NP_SMB_SHARE' => '', | ||
45 | 'NP_SMB_SHARE_DENY' => '', | ||
46 | 'NP_SMB_SHARE_SPC' => '', | ||
47 | 'NP_SMB_VALID_USER' => '', | ||
48 | 'NP_SMB_VALID_USER_PASS' => '', | ||
49 | 'NP_SNMP_COMMUNITY' => '', | ||
50 | 'NP_SNMP_USER' => '', | ||
51 | 'NP_SSH_CONFIGFILE' => '~/.ssh/config', | ||
52 | 'NP_SSH_HOST' => 'localhost', | ||
53 | 'NP_SSH_IDENTITY' => '~/.ssh/id_rsa' | ||
54 | } | ||
diff --git a/plugins/t/check_curl.t b/plugins/t/check_curl.t index 4bff538..ada6a04 100644 --- a/plugins/t/check_curl.t +++ b/plugins/t/check_curl.t | |||
@@ -9,7 +9,7 @@ use Test::More; | |||
9 | use POSIX qw/mktime strftime/; | 9 | use POSIX qw/mktime strftime/; |
10 | use NPTest; | 10 | use NPTest; |
11 | 11 | ||
12 | plan tests => 57; | 12 | plan tests => 58; |
13 | 13 | ||
14 | my $successOutput = '/OK.*HTTP.*second/'; | 14 | my $successOutput = '/OK.*HTTP.*second/'; |
15 | 15 | ||
@@ -46,7 +46,7 @@ $res = NPTest->testCmd( | |||
46 | ); | 46 | ); |
47 | cmp_ok( $res->return_code, '==', 2, "Webserver $host_nonresponsive not responding" ); | 47 | cmp_ok( $res->return_code, '==', 2, "Webserver $host_nonresponsive not responding" ); |
48 | # was CRITICAL only, but both check_curl and check_http print HTTP CRITICAL (puzzle?!) | 48 | # was CRITICAL only, but both check_curl and check_http print HTTP CRITICAL (puzzle?!) |
49 | cmp_ok( $res->output, 'eq', "HTTP CRITICAL - Invalid HTTP response received from host on port 80: cURL returned 28 - Timeout was reached", "Output OK"); | 49 | like( $res->output, "/HTTP CRITICAL - Invalid HTTP response received from host on port 80: cURL returned 28 - Connection timed out after/", "Output OK"); |
50 | 50 | ||
51 | $res = NPTest->testCmd( | 51 | $res = NPTest->testCmd( |
52 | "./$plugin $hostname_invalid -wt 1 -ct 2" | 52 | "./$plugin $hostname_invalid -wt 1 -ct 2" |
@@ -56,7 +56,7 @@ cmp_ok( $res->return_code, '==', 2, "Webserver $hostname_invalid not valid" ); | |||
56 | # On Debian, it is Name or service not known, on Darwin, it is No address associated with nodename | 56 | # On Debian, it is Name or service not known, on Darwin, it is No address associated with nodename |
57 | # Is also possible to get a socket timeout if DNS is not responding fast enough | 57 | # Is also possible to get a socket timeout if DNS is not responding fast enough |
58 | # cURL gives us consistent strings from it's own 'lib/strerror.c' | 58 | # cURL gives us consistent strings from it's own 'lib/strerror.c' |
59 | like( $res->output, "/cURL returned 6 - Couldn't resolve host name/", "Output OK"); | 59 | like( $res->output, "/cURL returned 6 - Could not resolve host:/", "Output OK"); |
60 | 60 | ||
61 | # host header checks | 61 | # host header checks |
62 | $res = NPTest->testCmd("./$plugin -v -H $host_tcp_http"); | 62 | $res = NPTest->testCmd("./$plugin -v -H $host_tcp_http"); |
@@ -84,7 +84,7 @@ like( $res->output, '/^Host: testhost:8001\s*$/ms', "Host Header OK" ); | |||
84 | like( $res->output, '/CURLOPT_URL: http:\/\/'.$host_tcp_http.':80\//ms', "Url OK" ); | 84 | like( $res->output, '/CURLOPT_URL: http:\/\/'.$host_tcp_http.':80\//ms', "Url OK" ); |
85 | 85 | ||
86 | SKIP: { | 86 | SKIP: { |
87 | skip "No internet access", 3 if $internet_access eq "no"; | 87 | skip "No internet access", 4 if $internet_access eq "no"; |
88 | 88 | ||
89 | $res = NPTest->testCmd("./$plugin -v -H $host_tls_http -S"); | 89 | $res = NPTest->testCmd("./$plugin -v -H $host_tls_http -S"); |
90 | like( $res->output, '/^Host: '.$host_tls_http.'\s*$/ms', "Host Header OK" ); | 90 | like( $res->output, '/^Host: '.$host_tls_http.'\s*$/ms', "Host Header OK" ); |
@@ -94,6 +94,9 @@ SKIP: { | |||
94 | 94 | ||
95 | $res = NPTest->testCmd("./$plugin -v -H $host_tls_http:443 -S -p 443"); | 95 | $res = NPTest->testCmd("./$plugin -v -H $host_tls_http:443 -S -p 443"); |
96 | like( $res->output, '/^Host: '.$host_tls_http.'\s*$/ms', "Host Header OK" ); | 96 | like( $res->output, '/^Host: '.$host_tls_http.'\s*$/ms', "Host Header OK" ); |
97 | |||
98 | $res = NPTest->testCmd("./$plugin -v -H $host_tls_http -D -S -p 443"); | ||
99 | like( $res->output, '/(^Host: '.$host_tls_http.'\s*$)|(cURL returned 60)/ms', "Host Header OK" ); | ||
97 | }; | 100 | }; |
98 | 101 | ||
99 | SKIP: { | 102 | SKIP: { |
@@ -117,7 +120,7 @@ SKIP: { | |||
117 | cmp_ok( $res->return_code, "==", 0, "And also when not found"); | 120 | cmp_ok( $res->return_code, "==", 0, "And also when not found"); |
118 | } | 121 | } |
119 | SKIP: { | 122 | SKIP: { |
120 | skip "No internet access", 16 if $internet_access eq "no"; | 123 | skip "No internet access", 28 if $internet_access eq "no"; |
121 | 124 | ||
122 | $res = NPTest->testCmd( | 125 | $res = NPTest->testCmd( |
123 | "./$plugin --ssl $host_tls_http" | 126 | "./$plugin --ssl $host_tls_http" |
@@ -190,8 +193,7 @@ SKIP: { | |||
190 | ); | 193 | ); |
191 | cmp_ok( $res->return_code, "==", 0, "Can read https for www.e-paycobalt.com (uses AES certificate)" ); | 194 | cmp_ok( $res->return_code, "==", 0, "Can read https for www.e-paycobalt.com (uses AES certificate)" ); |
192 | 195 | ||
193 | 196 | $res = NPTest->testCmd( "./$plugin -H www.mozilla.com -u /firefox -f curl" ); | |
194 | $res = NPTest->testCmd( "./$plugin -H www.mozilla.com -u /firefox -f follow" ); | ||
195 | is( $res->return_code, 0, "Redirection based on location is okay"); | 197 | is( $res->return_code, 0, "Redirection based on location is okay"); |
196 | 198 | ||
197 | $res = NPTest->testCmd( "./$plugin -H www.mozilla.com --extended-perfdata" ); | 199 | $res = NPTest->testCmd( "./$plugin -H www.mozilla.com --extended-perfdata" ); |
diff --git a/plugins/t/check_disk.t b/plugins/t/check_disk.t index fdd8769..ec527e7 100644 --- a/plugins/t/check_disk.t +++ b/plugins/t/check_disk.t | |||
@@ -88,8 +88,9 @@ $result = NPTest->testCmd( | |||
88 | ); | 88 | ); |
89 | $_ = $result->perf_output; | 89 | $_ = $result->perf_output; |
90 | my ($warn_absth_data, $crit_absth_data, $total_absth_data) = (m/=.[^;]*;(\d+);(\d+);\d+;(\d+)/); | 90 | my ($warn_absth_data, $crit_absth_data, $total_absth_data) = (m/=.[^;]*;(\d+);(\d+);\d+;(\d+)/); |
91 | is ($warn_absth_data, $total_absth_data - 20, "Wrong warning in perf data using absolute thresholds"); | 91 | # default unit is MiB, but perfdata is always bytes |
92 | is ($crit_absth_data, $total_absth_data - 10, "Wrong critical in perf data using absolute thresholds"); | 92 | is ($warn_absth_data, $total_absth_data - (20 * (2 ** 20)), "Wrong warning in perf data using absolute thresholds"); |
93 | is ($crit_absth_data, $total_absth_data - (10 * (2 ** 20)), "Wrong critical in perf data using absolute thresholds"); | ||
93 | 94 | ||
94 | # Then check percent thresholds. | 95 | # Then check percent thresholds. |
95 | $result = NPTest->testCmd( | 96 | $result = NPTest->testCmd( |
@@ -119,7 +120,7 @@ like ( $result->only_output, qr/$more_free/, "Have disk name in text"); | |||
119 | $result = NPTest->testCmd( "./check_disk -w 1 -c 1 -p $more_free -p $less_free" ); | 120 | $result = NPTest->testCmd( "./check_disk -w 1 -c 1 -p $more_free -p $less_free" ); |
120 | cmp_ok( $result->return_code, '==', 0, "At least 1 MB available on $more_free and $less_free"); | 121 | cmp_ok( $result->return_code, '==', 0, "At least 1 MB available on $more_free and $less_free"); |
121 | $_ = $result->output; | 122 | $_ = $result->output; |
122 | my ($free_mb_on_mp1, $free_mb_on_mp2) = (m/(\d+) MB .* (\d+) MB /g); | 123 | my ($free_mb_on_mp1, $free_mb_on_mp2) = (m/(\d+)MiB .* (\d+)MiB /g); |
123 | my $free_mb_on_all = $free_mb_on_mp1 + $free_mb_on_mp2; | 124 | my $free_mb_on_all = $free_mb_on_mp1 + $free_mb_on_mp2; |
124 | 125 | ||
125 | 126 | ||
diff --git a/plugins/t/check_dns.t b/plugins/t/check_dns.t index cdfbe60..afb2062 100644 --- a/plugins/t/check_dns.t +++ b/plugins/t/check_dns.t | |||
@@ -10,7 +10,7 @@ use NPTest; | |||
10 | 10 | ||
11 | plan skip_all => "check_dns not compiled" unless (-x "check_dns"); | 11 | plan skip_all => "check_dns not compiled" unless (-x "check_dns"); |
12 | 12 | ||
13 | plan tests => 19; | 13 | plan tests => 23; |
14 | 14 | ||
15 | my $successOutput = '/DNS OK: [\.0-9]+ seconds? response time/'; | 15 | my $successOutput = '/DNS OK: [\.0-9]+ seconds? response time/'; |
16 | 16 | ||
@@ -105,3 +105,11 @@ cmp_ok( $res->return_code, '==', 0, "Got expected address"); | |||
105 | $res = NPTest->testCmd("./check_dns -H $hostname_valid -a $hostname_invalid_cidr -t 5"); | 105 | $res = NPTest->testCmd("./check_dns -H $hostname_valid -a $hostname_invalid_cidr -t 5"); |
106 | cmp_ok( $res->return_code, '==', 2, "Got wrong address"); | 106 | cmp_ok( $res->return_code, '==', 2, "Got wrong address"); |
107 | like ( $res->output, "/^DNS CRITICAL.*expected '$hostname_invalid_cidr' but got '$hostname_valid_ip'".'$/', "Output OK"); | 107 | like ( $res->output, "/^DNS CRITICAL.*expected '$hostname_invalid_cidr' but got '$hostname_valid_ip'".'$/', "Output OK"); |
108 | |||
109 | $res = NPTest->testCmd("./check_dns -H $hostname_valid -n"); | ||
110 | cmp_ok( $res->return_code, '==', 2, "Found $hostname_valid"); | ||
111 | like ( $res->output, "/^DNS CRITICAL.*Domain '$hostname_valid' was found by the server:/", "Output OK"); | ||
112 | |||
113 | $res = NPTest->testCmd("./check_dns -H $hostname_invalid -n"); | ||
114 | cmp_ok( $res->return_code, '==', 0, "Did not find $hostname_invalid"); | ||
115 | like ( $res->output, $successOutput, "Output OK" ); | ||
diff --git a/plugins/t/check_fping.t b/plugins/t/check_fping.t index 342b0a7..67b357b 100644 --- a/plugins/t/check_fping.t +++ b/plugins/t/check_fping.t | |||
@@ -5,34 +5,30 @@ | |||
5 | # | 5 | # |
6 | 6 | ||
7 | use strict; | 7 | use strict; |
8 | use Test; | 8 | use Test::More; |
9 | use NPTest; | 9 | use NPTest; |
10 | 10 | ||
11 | use vars qw($tests); | ||
12 | |||
13 | BEGIN {$tests = 4; plan tests => $tests} | ||
14 | |||
15 | my $successOutput = '/^FPING OK - /'; | ||
16 | my $failureOutput = '/^FPING CRITICAL - /'; | ||
17 | |||
18 | my $host_responsive = getTestParameter("NP_HOST_RESPONSIVE", "The hostname of system responsive to network requests", "localhost"); | 11 | my $host_responsive = getTestParameter("NP_HOST_RESPONSIVE", "The hostname of system responsive to network requests", "localhost"); |
19 | my $host_nonresponsive = getTestParameter("NP_HOST_NONRESPONSIVE", "The hostname of system not responsive to network requests", "10.0.0.1"); | 12 | my $host_nonresponsive = getTestParameter("NP_HOST_NONRESPONSIVE", "The hostname of system not responsive to network requests", "10.0.0.1"); |
20 | my $hostname_invalid = getTestParameter("NP_HOSTNAME_INVALID", "An invalid (not known to DNS) hostname", "nosuchhost"); | 13 | my $hostname_invalid = getTestParameter("NP_HOSTNAME_INVALID", "An invalid (not known to DNS) hostname", "nosuchhost"); |
21 | 14 | ||
22 | my $t; | 15 | my $res; |
23 | 16 | ||
24 | my $fping = qx(which fping 2> /dev/null); | 17 | my $fping = qx(which fping 2> /dev/null); |
25 | chomp($fping); | 18 | chomp($fping); |
26 | if( ! -x "./check_fping") { | 19 | if( ! -x "./check_fping") { |
27 | $t += skipMissingCmd( "./check_fping", $tests ); | 20 | plan skip_all => "check_fping not found, skipping tests"; |
28 | } | 21 | } |
29 | elsif ( $> != 0 && (!$fping || ! -u $fping)) { | 22 | elsif ( !$fping || !-x $fping ) { |
30 | $t += skipMsg( "./check_fping", $tests ); | 23 | plan skip_all => "fping not found or cannot be executed, skipping tests"; |
31 | } else { | 24 | } else { |
32 | $t += checkCmd( "./check_fping $host_responsive", 0, $successOutput ); | 25 | plan tests => 3; |
33 | $t += checkCmd( "./check_fping $host_nonresponsive", [ 1, 2 ] ); | 26 | $res = NPTest->testCmd( "./check_fping $host_responsive" ); |
34 | $t += checkCmd( "./check_fping $hostname_invalid", [ 1, 2 ] ); | 27 | cmp_ok( $res->return_code, '==', 0, "Responsive host returns OK"); |
35 | } | 28 | |
29 | $res = NPTest->testCmd( "./check_fping $host_nonresponsive" ); | ||
30 | cmp_ok( $res->return_code, '==', 2, "Non-Responsive host returns Critical"); | ||
36 | 31 | ||
37 | exit(0) if defined($Test::Harness::VERSION); | 32 | $res = NPTest->testCmd( "./check_fping $hostname_invalid" ); |
38 | exit($tests - $t); | 33 | cmp_ok( $res->return_code, '==', 3, "Invalid host returns Unknown"); |
34 | } | ||
diff --git a/plugins/t/check_http.t b/plugins/t/check_http.t index e92681e..c137f7b 100644 --- a/plugins/t/check_http.t +++ b/plugins/t/check_http.t | |||
@@ -103,7 +103,7 @@ SKIP: { | |||
103 | cmp_ok( $res->return_code, "==", 0, "And also when not found"); | 103 | cmp_ok( $res->return_code, "==", 0, "And also when not found"); |
104 | } | 104 | } |
105 | SKIP: { | 105 | SKIP: { |
106 | skip "No internet access", 16 if $internet_access eq "no"; | 106 | skip "No internet access", 23 if $internet_access eq "no"; |
107 | 107 | ||
108 | $res = NPTest->testCmd( | 108 | $res = NPTest->testCmd( |
109 | "./$plugin --ssl $host_tls_http" | 109 | "./$plugin --ssl $host_tls_http" |
@@ -135,7 +135,7 @@ SKIP: { | |||
135 | 135 | ||
136 | # run some certificate checks with faketime | 136 | # run some certificate checks with faketime |
137 | SKIP: { | 137 | SKIP: { |
138 | skip "No faketime binary found", 12 if !$faketime; | 138 | skip "No faketime binary found", 7 if !$faketime; |
139 | $res = NPTest->testCmd("LC_TIME=C TZ=UTC ./$plugin -C 1 $host_tls_http"); | 139 | $res = NPTest->testCmd("LC_TIME=C TZ=UTC ./$plugin -C 1 $host_tls_http"); |
140 | like($res->output, qr/OK - Certificate '$host_tls_cert' will expire on/, "Catch cert output"); | 140 | like($res->output, qr/OK - Certificate '$host_tls_cert' will expire on/, "Catch cert output"); |
141 | is( $res->return_code, 0, "Catch cert output exit code" ); | 141 | is( $res->return_code, 0, "Catch cert output exit code" ); |
diff --git a/plugins/t/check_load.t b/plugins/t/check_load.t index 55f6f75..60837ef 100644 --- a/plugins/t/check_load.t +++ b/plugins/t/check_load.t | |||
@@ -11,8 +11,8 @@ use NPTest; | |||
11 | my $res; | 11 | my $res; |
12 | 12 | ||
13 | my $loadValue = "[0-9]+\.?[0-9]+"; | 13 | my $loadValue = "[0-9]+\.?[0-9]+"; |
14 | my $successOutput = "/^OK - load average: $loadValue, $loadValue, $loadValue/"; | 14 | my $successOutput = "/^LOAD OK - load average: $loadValue, $loadValue, $loadValue/"; |
15 | my $failureOutput = "/^CRITICAL - load average: $loadValue, $loadValue, $loadValue/"; | 15 | my $failureOutput = "/^LOAD CRITICAL - load average: $loadValue, $loadValue, $loadValue/"; |
16 | 16 | ||
17 | plan tests => 11; | 17 | plan tests => 11; |
18 | 18 | ||
diff --git a/plugins/t/check_swap.t b/plugins/t/check_swap.t index e44adc9..de9e0f0 100644 --- a/plugins/t/check_swap.t +++ b/plugins/t/check_swap.t | |||
@@ -8,9 +8,9 @@ use strict; | |||
8 | use Test::More tests => 8; | 8 | use Test::More tests => 8; |
9 | use NPTest; | 9 | use NPTest; |
10 | 10 | ||
11 | my $successOutput = '/^SWAP OK - [0-9]+\% free \([0-9]+ MB out of [0-9]+ MB\)/'; | 11 | my $successOutput = '/^SWAP OK - [0-9]+\% free \([0-9]+MB out of [0-9]+MB\)/'; |
12 | my $failureOutput = '/^SWAP CRITICAL - [0-9]+\% free \([0-9]+ MB out of [0-9]+ MB\)/'; | 12 | my $failureOutput = '/^SWAP CRITICAL - [0-9]+\% free \([0-9]+MB out of [0-9]+MB\)/'; |
13 | my $warnOutput = '/^SWAP WARNING - [0-9]+\% free \([0-9]+ MB out of [0-9]+ MB\)/'; | 13 | my $warnOutput = '/^SWAP WARNING - [0-9]+\% free \([0-9]+MB out of [0-9]+MB\)/'; |
14 | 14 | ||
15 | my $result; | 15 | my $result; |
16 | 16 | ||