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; |
