diff options
author | Lorenz <12514511+RincewindsHat@users.noreply.github.com> | 2023-01-09 16:55:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-09 16:55:10 +0100 |
commit | e0ada6f11a82ed6119836482b84c8ba5df491d8f (patch) | |
tree | 6ddcd5f7850169d82d88dca56a2e5c0dbda08b4e /plugins/tests | |
parent | c389aa4f918aab5cf181aa2cb9dec68b3bf34d4f (diff) | |
parent | 0899e41f5075d661153eb2c77ace1734a8f66bfa (diff) | |
download | monitoring-plugins-e0ada6f11a82ed6119836482b84c8ba5df491d8f.tar.gz |
Merge branch 'master' into rename_output_to_cmd_output
Diffstat (limited to 'plugins/tests')
-rwxr-xr-x | plugins/tests/check_curl.t | 21 | ||||
-rwxr-xr-x | plugins/tests/check_http.t | 15 | ||||
-rwxr-xr-x | plugins/tests/check_snmp.t | 22 | ||||
-rw-r--r-- | plugins/tests/check_snmp_agent.pl | 8 |
4 files changed, 55 insertions, 11 deletions
diff --git a/plugins/tests/check_curl.t b/plugins/tests/check_curl.t index aa72ef67..72f2b7c2 100755 --- a/plugins/tests/check_curl.t +++ b/plugins/tests/check_curl.t | |||
@@ -21,7 +21,7 @@ use FindBin qw($Bin); | |||
21 | 21 | ||
22 | $ENV{'LC_TIME'} = "C"; | 22 | $ENV{'LC_TIME'} = "C"; |
23 | 23 | ||
24 | my $common_tests = 72; | 24 | my $common_tests = 73; |
25 | my $ssl_only_tests = 8; | 25 | my $ssl_only_tests = 8; |
26 | # Check that all dependent modules are available | 26 | # Check that all dependent modules are available |
27 | eval "use HTTP::Daemon 6.01;"; | 27 | eval "use HTTP::Daemon 6.01;"; |
@@ -200,6 +200,14 @@ sub run_server { | |||
200 | $c->send_basic_header; | 200 | $c->send_basic_header; |
201 | $c->send_crlf; | 201 | $c->send_crlf; |
202 | $c->send_response(HTTP::Response->new( 200, 'OK', undef, $r->header ('Host'))); | 202 | $c->send_response(HTTP::Response->new( 200, 'OK', undef, $r->header ('Host'))); |
203 | } elsif ($r->url->path eq "/chunked") { | ||
204 | my $chunks = ["chunked", "encoding", "test\n"]; | ||
205 | $c->send_response(HTTP::Response->new( 200, 'OK', undef, sub { | ||
206 | my $chunk = shift @{$chunks}; | ||
207 | return unless $chunk; | ||
208 | sleep(1); | ||
209 | return($chunk); | ||
210 | })); | ||
203 | } else { | 211 | } else { |
204 | $c->send_error(HTTP::Status->RC_FORBIDDEN); | 212 | $c->send_error(HTTP::Status->RC_FORBIDDEN); |
205 | } | 213 | } |
@@ -472,7 +480,8 @@ sub run_common_tests { | |||
472 | local $SIG{ALRM} = sub { die "alarm\n" }; | 480 | local $SIG{ALRM} = sub { die "alarm\n" }; |
473 | alarm(2); | 481 | alarm(2); |
474 | $result = NPTest->testCmd( $cmd ); | 482 | $result = NPTest->testCmd( $cmd ); |
475 | alarm(0); }; | 483 | }; |
484 | alarm(0); | ||
476 | isnt( $@, "alarm\n", $cmd ); | 485 | isnt( $@, "alarm\n", $cmd ); |
477 | is( $result->return_code, 0, $cmd ); | 486 | is( $result->return_code, 0, $cmd ); |
478 | 487 | ||
@@ -482,7 +491,8 @@ sub run_common_tests { | |||
482 | local $SIG{ALRM} = sub { die "alarm\n" }; | 491 | local $SIG{ALRM} = sub { die "alarm\n" }; |
483 | alarm(2); | 492 | alarm(2); |
484 | $result = NPTest->testCmd( $cmd ); | 493 | $result = NPTest->testCmd( $cmd ); |
485 | alarm(0); }; | 494 | }; |
495 | alarm(0); | ||
486 | isnt( $@, "alarm\n", $cmd ); | 496 | isnt( $@, "alarm\n", $cmd ); |
487 | isnt( $result->return_code, 0, $cmd ); | 497 | isnt( $result->return_code, 0, $cmd ); |
488 | 498 | ||
@@ -508,4 +518,9 @@ sub run_common_tests { | |||
508 | }; | 518 | }; |
509 | is( $@, "", $cmd ); | 519 | is( $@, "", $cmd ); |
510 | 520 | ||
521 | $cmd = "$command -u /chunked -s 'chunkedencodingtest' -d 'Transfer-Encoding: chunked'"; | ||
522 | eval { | ||
523 | $result = NPTest->testCmd( $cmd, 5 ); | ||
524 | }; | ||
525 | is( $@, "", $cmd ); | ||
511 | } | 526 | } |
diff --git a/plugins/tests/check_http.t b/plugins/tests/check_http.t index ea11b2ac..d766ac37 100755 --- a/plugins/tests/check_http.t +++ b/plugins/tests/check_http.t | |||
@@ -12,7 +12,7 @@ use FindBin qw($Bin); | |||
12 | 12 | ||
13 | $ENV{'LC_TIME'} = "C"; | 13 | $ENV{'LC_TIME'} = "C"; |
14 | 14 | ||
15 | my $common_tests = 70; | 15 | my $common_tests = 71; |
16 | my $virtual_port_tests = 8; | 16 | my $virtual_port_tests = 8; |
17 | my $ssl_only_tests = 12; | 17 | my $ssl_only_tests = 12; |
18 | # Check that all dependent modules are available | 18 | # Check that all dependent modules are available |
@@ -190,6 +190,14 @@ sub run_server { | |||
190 | $c->send_basic_header; | 190 | $c->send_basic_header; |
191 | $c->send_crlf; | 191 | $c->send_crlf; |
192 | $c->send_response(HTTP::Response->new( 200, 'OK', undef, $r->header ('Host'))); | 192 | $c->send_response(HTTP::Response->new( 200, 'OK', undef, $r->header ('Host'))); |
193 | } elsif ($r->url->path eq "/chunked") { | ||
194 | my $chunks = ["chunked", "encoding", "test\n"]; | ||
195 | $c->send_response(HTTP::Response->new( 200, 'OK', undef, sub { | ||
196 | my $chunk = shift @{$chunks}; | ||
197 | return unless $chunk; | ||
198 | sleep(1); | ||
199 | return($chunk); | ||
200 | })); | ||
193 | } else { | 201 | } else { |
194 | $c->send_error(HTTP::Status->RC_FORBIDDEN); | 202 | $c->send_error(HTTP::Status->RC_FORBIDDEN); |
195 | } | 203 | } |
@@ -497,4 +505,9 @@ sub run_common_tests { | |||
497 | }; | 505 | }; |
498 | is( $@, "", $cmd ); | 506 | is( $@, "", $cmd ); |
499 | 507 | ||
508 | $cmd = "$command -u /chunked -s 'chunkedencodingtest' -d 'Transfer-Encoding: chunked'"; | ||
509 | eval { | ||
510 | $result = NPTest->testCmd( $cmd, 5 ); | ||
511 | }; | ||
512 | is( $@, "", $cmd ); | ||
500 | } | 513 | } |
diff --git a/plugins/tests/check_snmp.t b/plugins/tests/check_snmp.t index 0a77fa8a..bc03ec60 100755 --- a/plugins/tests/check_snmp.t +++ b/plugins/tests/check_snmp.t | |||
@@ -9,7 +9,7 @@ use NPTest; | |||
9 | use FindBin qw($Bin); | 9 | use FindBin qw($Bin); |
10 | use POSIX qw/strftime/; | 10 | use POSIX qw/strftime/; |
11 | 11 | ||
12 | my $tests = 73; | 12 | my $tests = 81; |
13 | # Check that all dependent modules are available | 13 | # Check that all dependent modules are available |
14 | eval { | 14 | eval { |
15 | require NetSNMP::OID; | 15 | require NetSNMP::OID; |
@@ -57,9 +57,9 @@ if ($pid) { | |||
57 | exec("snmpd -c tests/conf/snmpd.conf -C -f -r udp:$port_snmp"); | 57 | exec("snmpd -c tests/conf/snmpd.conf -C -f -r udp:$port_snmp"); |
58 | } | 58 | } |
59 | 59 | ||
60 | END { | 60 | END { |
61 | foreach my $pid (@pids) { | 61 | foreach my $pid (@pids) { |
62 | if ($pid) { print "Killing $pid\n"; kill "INT", $pid } | 62 | if ($pid) { print "Killing $pid\n"; kill "INT", $pid } |
63 | } | 63 | } |
64 | }; | 64 | }; |
65 | 65 | ||
@@ -268,3 +268,19 @@ like($res->output, '/SNMP WARNING - \d+ \*-4\* | iso.3.6.1.4.1.8072.3.2.67.10=\d | |||
268 | $res = NPTest->testCmd( "./check_snmp -H 127.0.0.1 -C public -p $port_snmp -o .1.3.6.1.4.1.8072.3.2.67.10,.1.3.6.1.4.1.8072.3.2.67.17 -w 1,2 -c 1" ); | 268 | $res = NPTest->testCmd( "./check_snmp -H 127.0.0.1 -C public -p $port_snmp -o .1.3.6.1.4.1.8072.3.2.67.10,.1.3.6.1.4.1.8072.3.2.67.17 -w 1,2 -c 1" ); |
269 | is($res->return_code, 2, "Multiple OIDs with some thresholds" ); | 269 | is($res->return_code, 2, "Multiple OIDs with some thresholds" ); |
270 | like($res->output, '/SNMP CRITICAL - \*\d+\* \*-4\* | iso.3.6.1.4.1.8072.3.2.67.10=\d+c;1;2 iso.3.6.1.4.1.8072.3.2.67.17=-4;;/', "Multiple OIDs with thresholds output" ); | 270 | like($res->output, '/SNMP CRITICAL - \*\d+\* \*-4\* | iso.3.6.1.4.1.8072.3.2.67.10=\d+c;1;2 iso.3.6.1.4.1.8072.3.2.67.17=-4;;/', "Multiple OIDs with thresholds output" ); |
271 | |||
272 | $res = NPTest->testCmd( "./check_snmp -H 127.0.0.1 -C public -p $port_snmp -o .1.3.6.1.4.1.8072.3.2.67.19"); | ||
273 | is($res->return_code, 0, "Test plain .1.3.6.1.4.1.8072.3.2.67.6 RC" ); | ||
274 | is($res->output,'SNMP OK - 42 | iso.3.6.1.4.1.8072.3.2.67.19=42 ', "Test plain value of .1.3.6.1.4.1.8072.3.2.67.1" ); | ||
275 | |||
276 | $res = NPTest->testCmd( "./check_snmp -H 127.0.0.1 -C public -p $port_snmp -o .1.3.6.1.4.1.8072.3.2.67.19 -M .1"); | ||
277 | is($res->return_code, 0, "Test multiply RC" ); | ||
278 | is($res->output,'SNMP OK - 4.200000 | iso.3.6.1.4.1.8072.3.2.67.19=4.200000 ' , "Test multiply .1 output" ); | ||
279 | |||
280 | $res = NPTest->testCmd( "./check_snmp -H 127.0.0.1 -C public -p $port_snmp -o .1.3.6.1.4.1.8072.3.2.67.19 --multiplier=.1 -f '%.2f' "); | ||
281 | is($res->return_code, 0, "Test multiply RC + format" ); | ||
282 | is($res->output, 'SNMP OK - 4.20 | iso.3.6.1.4.1.8072.3.2.67.19=4.20 ', "Test multiply .1 output + format" ); | ||
283 | |||
284 | $res = NPTest->testCmd( "./check_snmp -H 127.0.0.1 -C public -p $port_snmp -o .1.3.6.1.4.1.8072.3.2.67.19 --multiplier=.1 -f '%.2f' -w 1"); | ||
285 | is($res->return_code, 1, "Test multiply RC + format + thresholds" ); | ||
286 | is($res->output, 'SNMP WARNING - *4.20* | iso.3.6.1.4.1.8072.3.2.67.19=4.20;1 ', "Test multiply .1 output + format + thresholds" ); | ||
diff --git a/plugins/tests/check_snmp_agent.pl b/plugins/tests/check_snmp_agent.pl index 0e41d575..38912e98 100644 --- a/plugins/tests/check_snmp_agent.pl +++ b/plugins/tests/check_snmp_agent.pl | |||
@@ -32,11 +32,11 @@ my $multilin5 = 'And now have fun with with this: "C:\\" | |||
32 | because we\'re not done yet!'; | 32 | because we\'re not done yet!'; |
33 | 33 | ||
34 | # Next are arrays of indexes (Type, initial value and increments) | 34 | # Next are arrays of indexes (Type, initial value and increments) |
35 | # 0..16 <---- please update comment when adding/removing fields | 35 | # 0..19 <---- please update comment when adding/removing fields |
36 | my @fields = (ASN_OCTET_STR, ASN_OCTET_STR, ASN_OCTET_STR, ASN_OCTET_STR, ASN_OCTET_STR, ASN_UNSIGNED, ASN_UNSIGNED, ASN_COUNTER, ASN_COUNTER64, ASN_UNSIGNED, ASN_COUNTER, ASN_OCTET_STR, ASN_OCTET_STR, ASN_OCTET_STR, ASN_OCTET_STR, ASN_OCTET_STR, ASN_INTEGER, ASN_OCTET_STR, ASN_OCTET_STR ); | 36 | my @fields = (ASN_OCTET_STR, ASN_OCTET_STR, ASN_OCTET_STR, ASN_OCTET_STR, ASN_OCTET_STR, ASN_UNSIGNED, ASN_UNSIGNED, ASN_COUNTER, ASN_COUNTER64, ASN_UNSIGNED, ASN_COUNTER, ASN_OCTET_STR, ASN_OCTET_STR, ASN_OCTET_STR, ASN_OCTET_STR, ASN_OCTET_STR, ASN_INTEGER, ASN_OCTET_STR, ASN_OCTET_STR, ASN_INTEGER ); |
37 | my @values = ($multiline, $multilin2, $multilin3, $multilin4, $multilin5, 4294965296, 1000, 4294965296, uint64("18446744073709351616"), int(rand(2**32)), 64000, "stringtests", "3.5", "87.4startswithnumberbutshouldbestring", '555"I said"', 'CUSTOM CHECK OK: foo is 12345', -2, '-4', '-6.6' ); | 37 | my @values = ($multiline, $multilin2, $multilin3, $multilin4, $multilin5, 4294965296, 1000, 4294965296, uint64("18446744073709351616"), int(rand(2**32)), 64000, "stringtests", "3.5", "87.4startswithnumberbutshouldbestring", '555"I said"', 'CUSTOM CHECK OK: foo is 12345', -2, '-4', '-6.6', 42 ); |
38 | # undef increments are randomized | 38 | # undef increments are randomized |
39 | my @incrts = (undef, undef, undef, undef, undef, 1000, -500, 1000, 100000, undef, 666, undef, undef, undef, undef, undef, -1, undef, undef ); | 39 | my @incrts = (undef, undef, undef, undef, undef, 1000, -500, 1000, 100000, undef, 666, undef, undef, undef, undef, undef, -1, undef, undef, 0 ); |
40 | 40 | ||
41 | # Number of elements in our OID | 41 | # Number of elements in our OID |
42 | my $oidelts; | 42 | my $oidelts; |