Code

[1185704] New Testing Infrastructure.
[nagiosplug.git] / plugins / t / check_http.t
index 5be549ad3b8f2123c7ff9f36a9f7c1f12cda6574..56d939b3db103ec8c40faba3e116a9e941cb8744 100644 (file)
@@ -1,22 +1,36 @@
-#! /usr/bin/perl -w
+#! /usr/bin/perl -w -I ..
+#
+# HyperText Transfer Protocol (HTTP) Test via check_http
+#
+# $Id$
+#
 
 use strict;
-use Cache;
 use Test;
+use NPTest;
+
 use vars qw($tests);
+BEGIN {$tests = 4; plan tests => $tests}
 
-BEGIN {$tests = 3; plan tests => $tests}
+my $host_tcp_http      = getTestParameter( "host_tcp_http",      "NP_HOST_TCP_HTTP",      "localhost",
+                                          "A host providing the HTTP Service (a web server)" );
 
-my $null = '';
-my $str;
-my $t;
+my $host_nonresponsive = getTestParameter( "host_nonresponsive", "NP_HOST_NONRESPONSIVE", "10.0.0.1",
+                                          "The hostname of system not responsive to network requests" );
 
-$str = `./check_http $Cache::httphost -wt 300 -ct 600`;
-$t += ok $?>>8,0;
-$t += ok $str, '/(HTTP\s[o|O][k|K]\s)?\s?HTTP\/1.[01]\s[0-9]{3}\s(OK|Found)\s-\s+[0-9]+\sbytes\sin\s+([0-9]+|[0-9]+\.[0-9]+)\sseconds/';
+my $hostname_invalid   = getTestParameter( "hostname_invalid",   "NP_HOSTNAME_INVALID",   "nosuchhost",
+                                           "An invalid (not known to DNS) hostname" );
 
-$str = `./check_http $Cache::nullhost -wt 1 -ct 2`;
-$t += ok $?>>8,2;
+my $successOutput = '/(HTTP\s[o|O][k|K]\s)?\s?HTTP\/1.[01]\s[0-9]{3}\s(OK|Found)\s-\s+[0-9]+\sbytes\sin\s+([0-9]+|[0-9]+\.[0-9]+)\sseconds/';
+
+my %exceptions = ( 2 => "No Web Server present?" );
+
+my $t;
+
+$t += checkCmd( "./check_http $host_tcp_http      -wt 300 -ct 600", { 0 => 'continue',  2 => 'skip' }, $successOutput, %exceptions );
+$t += checkCmd( "./check_http $host_nonresponsive -wt   1 -ct   2", 2 );
+$t += checkCmd( "./check_http $hostname_invalid   -wt   1 -ct   2", 2 );
 
 exit(0) if defined($Test::Harness::VERSION);
 exit($tests - $t);
+