diff options
-rw-r--r-- | plugins/t/check_hpjd.t | 59 | ||||
-rw-r--r-- | plugins/t/check_http.t | 22 |
2 files changed, 52 insertions, 29 deletions
diff --git a/plugins/t/check_hpjd.t b/plugins/t/check_hpjd.t index b749c778..2fe56000 100644 --- a/plugins/t/check_hpjd.t +++ b/plugins/t/check_hpjd.t @@ -6,37 +6,46 @@ # use strict; -use Test; +use Test::More; use NPTest; -use vars qw($tests); -BEGIN {$tests = 5; plan tests => $tests} +plan skip_all => "check_hpjd not compiled" unless (-x "check_hpjd"); + +plan tests => 5; my $successOutput = '/^Printer ok - /'; my $failureOutput = '/Timeout: No [Rr]esponse from /'; -my $host_tcp_hpjd = getTestParameter( "host_tcp_hpjd", "NP_HOST_TCP_HPJD", undef, - "A host (usually a printer) providing the HP-JetDirect Services" ); - -my $host_nonresponsive = getTestParameter( "host_nonresponsive", "NP_HOST_NONRESPONSIVE", "10.0.0.1", - "The hostname of system not responsive to network requests" ); - -my $hostname_invalid = getTestParameter( "hostname_invalid", "NP_HOSTNAME_INVALID", "nosuchhost", - "An invalid (not known to DNS) hostname" ); - -my $t; - -if ( -x "./check_hpjd" ) -{ - $t += checkCmd( "./check_hpjd $host_tcp_hpjd", 0, $successOutput ); - $t += checkCmd( "./check_hpjd $host_nonresponsive", 2, $failureOutput ); - $t += checkCmd( "./check_hpjd $hostname_invalid", 3 ); -} -else -{ - $t += skipMissingCmd( "./check_hpjd", $tests ); +my $host_tcp_hpjd = getTestParameter( + "NP_HOST_TCP_HPJD", + "A host (usually a printer) providing the HP-JetDirect Services" + ); + +my $host_nonresponsive = getTestParameter( + "NP_HOST_NONRESPONSIVE", + "The hostname of system not responsive to network requests", + "10.0.0.1", + ); + +my $hostname_invalid = getTestParameter( + "NP_HOSTNAME_INVALID", + "An invalid (not known to DNS) hostname", + "nosuchhost", + ); + +my $res; + +SKIP: { + skip "No HP JetDirect defined", 2 unless $host_tcp_hpjd; + $res = NPTest->testCmd("./check_hpjd $host_tcp_hpjd"); + cmp_ok( $res->return_code, '==', 0, "Jetdirect responding" ); + like ( $res->output, $successOutput, "Output correct" ); } -exit(0) if defined($Test::Harness::VERSION); -exit($tests - $t); +$res = NPTest->testCmd("./check_hpjd $host_nonresponsive"); +cmp_ok( $res->return_code, 'eq', 2, "Host not responding"); +like ( $res->output, $failureOutput, "Output OK" ); + +$res = NPTest->testCmd("./check_hpjd $hostname_invalid"); +cmp_ok( $res->return_code, 'eq', 3, "Hostname invalid"); diff --git a/plugins/t/check_http.t b/plugins/t/check_http.t index 9b90fd06..24e4fd6d 100644 --- a/plugins/t/check_http.t +++ b/plugins/t/check_http.t @@ -9,6 +9,8 @@ use strict; use Test::More; use NPTest; +plan tests => 12; + my $successOutput = '/OK.*HTTP.*second/'; my $res; @@ -25,9 +27,6 @@ my $hostname_invalid = getTestParameter( "NP_HOSTNAME_INVALID", "An invalid (not known to DNS) hostname", "nosuchhost"); -plan tests => 8; - - $res = NPTest->testCmd( "./check_http $host_tcp_http -wt 300 -ct 600" ); @@ -44,14 +43,29 @@ $res = NPTest->testCmd( "./check_http $hostname_invalid -wt 1 -ct 2" ); cmp_ok( $res->return_code, '==', 2, "Webserver $hostname_invalid not valid" ); -like( $res->output, "/Name or service not known.*/", "Output OK"); +# The first part of the message comes from the OS catalogue, so cannot check this. +# On Debian, it is Name or service not known, on Darwin, it is No address associated with nodename +like( $res->output, "/Unable to open TCP socket/", "Output OK"); $res = NPTest->testCmd( "./check_http --ssl www.verisign.com" ); cmp_ok( $res->return_code, '==', 0, "Can read https for www.verisign.com" ); +$res = NPTest->testCmd( "./check_http -C 1 --ssl www.verisign.com" ); +cmp_ok( $res->return_code, '==', 0, "Checking certificate for www.verisign.com"); +like ( $res->output, '/Certificate will expire on/', "Output OK" ); +my $saved_cert_output = $res->output; + +$res = NPTest->testCmd( "./check_http -C 1 www.verisign.com" ); +cmp_ok( $res->output, 'eq', $saved_cert_output, "--ssl option automatically added"); + +$res = NPTest->testCmd( "./check_http www.verisign.com -C 1" ); +cmp_ok( $res->output, 'eq', $saved_cert_output, "Old syntax for cert checking still works"); + $res = NPTest->testCmd( "./check_http --ssl www.e-paycobalt.com" ); cmp_ok( $res->return_code, "==", 0, "Can read https for www.e-paycobalt.com (uses AES certificate)" ); + + |