4
0

check_jabber.t 1.7 KB

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