Code

check_http: check for and print the certificate cn
[nagiosplug.git] / plugins / t / check_tcp.t
1 #! /usr/bin/perl -w -I ..
2 #
3 # TCP Connection Based Tests via check_tcp
4 #
5 #
7 use strict;
8 use Test;
9 use NPTest;
11 use vars qw($tests);
12 BEGIN {$tests = 7; plan tests => $tests}
14 my $host_tcp_http      = getTestParameter( "host_tcp_http",      "NP_HOST_TCP_HTTP",      "localhost",
15                                            "A host providing the HTTP Service (a web server)" );
17 my $host_nonresponsive = getTestParameter( "host_nonresponsive", "NP_HOST_NONRESPONSIVE", "10.0.0.1",
18                                            "The hostname of system not responsive to network requests" );
20 my $hostname_invalid   = getTestParameter( "hostname_invalid",   "NP_HOSTNAME_INVALID",   "nosuchhost",
21                                            "An invalid (not known to DNS) hostname" );
23 my $successOutput = '/^TCP OK\s-\s+[0-9]?\.?[0-9]+ second response time on port [0-9]+/';
25 my $failedExpect = '/^TCP WARNING\s-\sUnexpected response from host/socket on port [0-9]+/';
27 my $t;
29 $t += checkCmd( "./check_tcp $host_tcp_http      -p 80 -wt 300 -ct 600",       0, $successOutput );
30 $t += checkCmd( "./check_tcp $host_tcp_http      -p 81 -wt   0 -ct   0 -to 1", 2 ); # use invalid port for this test
31 $t += checkCmd( "./check_tcp $host_nonresponsive -p 80 -wt   0 -ct   0 -to 1", 2 );
32 $t += checkCmd( "./check_tcp $hostname_invalid   -p 80 -wt   0 -ct   0 -to 1", 2 );
34 # Need the \r\n to make it more standards compliant with web servers. Need the various quotes
35 # so that perl doesn't interpret the \r\n and is passed onto command line correctly
36 $t += checkCmd( "./check_tcp $host_tcp_http      -p 80 -E -s ".'"GET / HTTP/1.1\r\n\r\n"'." -e 'ThisShouldntMatch' -j", 1, $failedExpect );
38 exit(0) if defined($Test::Harness::VERSION);
39 exit($tests - $t);