check_jabber.t 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #! /usr/bin/perl -w -I ..
  2. #
  3. # Jabber Server Tests via check_jabber
  4. #
  5. # $Id$
  6. #
  7. use strict;
  8. use Test::More;
  9. use NPTest;
  10. plan tests => 10;
  11. my $host_tcp_jabber = getTestParameter(
  12. "NP_HOST_TCP_JABBER",
  13. "A host providing the Jabber Service",
  14. "jabber.org"
  15. );
  16. my $host_nonresponsive = getTestParameter(
  17. "NP_HOST_NONRESPONSIVE",
  18. "The hostname of system not responsive to network requests",
  19. "10.0.0.1",
  20. );
  21. my $hostname_invalid = getTestParameter(
  22. "NP_HOSTNAME_INVALID",
  23. "An invalid (not known to DNS) hostname",
  24. "nosuchhost",
  25. );
  26. my $jabberOK = '/JABBER OK\s-\s\d+\.\d+\ssecond response time on port 5222/';
  27. my $jabberUnresponsive = '/CRITICAL\s-\sSocket timeout after\s\d+\sseconds/';
  28. my $jabberInvalid = '/JABBER CRITICAL - Invalid hostname, address or socket:\s.+/';
  29. my $r;
  30. SKIP: {
  31. skip "No jabber server defined", 6 unless $host_tcp_jabber;
  32. $r = NPTest->testCmd( "./check_jabber $host_tcp_jabber" );
  33. is( $r->return_code, 0, "Connected okay");
  34. like( $r->output, $jabberOK, "Output as expected" );
  35. $r = NPTest->testCmd( "./check_jabber -H $host_tcp_jabber -w 9 -c 9 -t 10" );
  36. is( $r->return_code, 0, "Connected okay, within limits" );
  37. like( $r->output, $jabberOK, "Output as expected" );
  38. $r = NPTest->testCmd( "./check_jabber $host_tcp_jabber -wt 9 -ct 9 -to 10" );
  39. is( $r->return_code, 0, "Old syntax okay" );
  40. like( $r->output, $jabberOK, "Output as expected" );
  41. }
  42. $r = NPTest->testCmd( "./check_jabber $host_nonresponsive" );
  43. is( $r->return_code, 2, "Unresponsive host gives critical" );
  44. like( $r->output, $jabberUnresponsive );
  45. $r = NPTest->testCmd( "./check_jabber $hostname_invalid" );
  46. is( $r->return_code, 2, "Invalid hostname gives critical" );
  47. like( $r->output, $jabberInvalid );