000-startup.t 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/usr/bin/perl
  2. use warnings;
  3. use strict;
  4. BEGIN {
  5. use File::Basename;
  6. use lib (dirname(__FILE__));
  7. }
  8. use Test::More tests => 11;
  9. use nrpe;
  10. my @output;
  11. @output = `$nrpe -V`;
  12. is($?, STATE_UNKNOWN, 'nrpe executes');
  13. like($output[0], qr/NRPE - Nagios Remote Plugin Executor/, 'nrpe banner');
  14. @output = `$nrpe -l`;
  15. is($?, STATE_UNKNOWN, 'license') || diag @output;
  16. @output = `$checknrpe -V`;
  17. is($?, STATE_UNKNOWN, 'check_nrpe executes');
  18. like($output[0], qr/NRPE Plugin for Nagios/, 'check_nrpe banner');
  19. @output = `$nrpe -d -C -c configs/missing.cfg`;
  20. is($?, STATE_CRITICAL, 'missing config') || diag @output;
  21. SKIP: {
  22. skip 'no SSL', 5 if ! supports_ssl();
  23. @output = `$nrpe -d -C -c configs/ssl-invalid.cfg`;
  24. is($?, STATE_CRITICAL, 'invalid ssl config 1') || diag @output;
  25. @output = `$nrpe -d -C -c configs/ssl-invalid2.cfg`;
  26. is($?, STATE_CRITICAL, 'invalid ssl config 2') || diag @output;
  27. @output = `$nrpe -d -C -c configs/ssl-invalid3.cfg`;
  28. is($?, STATE_CRITICAL, 'invalid ssl config 3') || diag @output;
  29. @output = `$nrpe -d -C -c configs/ssl-invalid4.cfg`;
  30. is($?, STATE_CRITICAL, 'invalid ssl config 4') || diag @output;
  31. @output = `$nrpe -d -C -c configs/ssl-invalid5.cfg`;
  32. is($?, STATE_CRITICAL, 'invalid ssl config 5') || diag @output;
  33. }
  34. check_if_port_available();
  35. switch_config_file("configs/normal.cfg");
  36. launch_daemon();
  37. done_testing();