Code

Rewrite the "map changes to return codes" patch nearly from scratch.
[nagiosplug.git] / plugins / t / check_jabber.t
1 #! /usr/bin/perl -w -I ..
2 #
3 # Jabber Server Tests via check_jabber
4 #
5 # $Id$
6 #
8 use strict;
9 use Test::More;
10 use NPTest;
12 plan tests => 10;
14 my $host_tcp_jabber = getTestParameter( 
15                         "NP_HOST_TCP_JABBER",
16                         "A host providing the Jabber Service",
17                         "jabber.org"
18                         );
20 my $host_nonresponsive = getTestParameter(
21                         "NP_HOST_NONRESPONSIVE", 
22                         "The hostname of system not responsive to network requests",
23                         "10.0.0.1",
24                         );
26 my $hostname_invalid   = getTestParameter( 
27                         "NP_HOSTNAME_INVALID",
28                         "An invalid (not known to DNS) hostname",
29                         "nosuchhost",
30                         );
33 my $jabberOK = '/JABBER OK\s-\s\d+\.\d+\ssecond response time on port 5222/';
35 my $jabberUnresponsive = '/CRITICAL\s-\sSocket timeout after\s\d+\sseconds/';
37 my $jabberInvalid = '/JABBER CRITICAL - Invalid hostname, address or socket:\s.+/';
39 my $r;
41 SKIP: {
42         skip "No jabber server defined", 6 unless $host_tcp_jabber;
44         $r = NPTest->testCmd( "./check_jabber $host_tcp_jabber" );
45         is( $r->return_code, 0, "Connected okay");
46         like( $r->output, $jabberOK, "Output as expected" );
48         $r = NPTest->testCmd( "./check_jabber -H $host_tcp_jabber -w 9 -c 9 -t 10" );
49         is( $r->return_code, 0, "Connected okay, within limits" );
50         like( $r->output, $jabberOK, "Output as expected" );
51         
52         $r = NPTest->testCmd( "./check_jabber $host_tcp_jabber -wt 9 -ct 9 -to 10" );
53         is( $r->return_code, 0, "Old syntax okay" );
54         like( $r->output, $jabberOK, "Output as expected" );
56 }
58 $r = NPTest->testCmd( "./check_jabber $host_nonresponsive" );
59 is( $r->return_code, 2, "Unresponsive host gives critical" );
60 like( $r->output, $jabberUnresponsive );
62 $r = NPTest->testCmd( "./check_jabber $hostname_invalid" );
63 is( $r->return_code, 2, "Invalid hostname gives critical" );
64 like( $r->output, $jabberInvalid );