73 lines
2.0 KiB
Perl
73 lines
2.0 KiB
Perl
#!/usr/bin/perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
use FindBin qw($Bin);
|
|
use lib qq($Bin/lib);
|
|
use vars qw(@ARGS);
|
|
use Test::More;
|
|
use Data::Dumper;
|
|
|
|
eval { require Monitoring::Plugin };
|
|
if ($@) {
|
|
plan skip_all => 'Monitoring::Plugin not installed';
|
|
}
|
|
else {
|
|
plan tests => 29;
|
|
}
|
|
|
|
Monitoring::Plugin->import();
|
|
|
|
eval { require JMX::Jmx4Perl::Nagios::SingleCheck };
|
|
ok(!$@,"JMX::Jmx4Perl::Nagios::SingleCheck loads properly");
|
|
|
|
eval { require JMX::Jmx4Perl::Nagios::CheckJmx4Perl };
|
|
ok(!$@,"JMX::Jmx4Perl::Nagios::CheckJmx4Perl loads properly");
|
|
|
|
@ARGV=qw(--url http://localhost:8080/j4p -a MEMORY_HEAP_USED -c 1 -m 2 --name Memory --unit m);
|
|
my $cj4p = new JMX::Jmx4Perl::Nagios::CheckJmx4Perl();
|
|
my $scheck = $cj4p->{checks}->[0];
|
|
my ($value,$unit) = $scheck->_normalize_value("0.50","MB");
|
|
is($value,512);
|
|
is($unit,"KB");
|
|
($value,$unit) = $scheck->_normalize_value("2048","MB");
|
|
is($value,2);
|
|
is($unit,"GB");
|
|
($value,$unit) = $scheck->_normalize_value("0.5","m");
|
|
is($value,30);
|
|
is($unit,"s");
|
|
($value,$unit) = $scheck->_normalize_value("360","m");
|
|
is($value,6);
|
|
is($unit,"h");
|
|
($value,$unit) = $scheck->_normalize_value("0.5","us");
|
|
is($value,"500");
|
|
is($unit,"ns");
|
|
($value,$unit) = $scheck->_normalize_value("300","us");
|
|
is($value,"300");
|
|
is($unit,"us");
|
|
($value,$unit) = $scheck->_normalize_value("20","d");
|
|
is($value,"20");
|
|
is($unit,"d");
|
|
($value,$unit) = $scheck->_normalize_value("200","TB");
|
|
is($value,"200");
|
|
is($unit,"TB");
|
|
($value,$unit) = $scheck->_normalize_value(1024*1024,"B");
|
|
is($value,1);
|
|
is($unit,"MB");
|
|
($value,$unit) = $scheck->_normalize_value("1000","ms");
|
|
is($value,1);
|
|
is($unit,"s");
|
|
($value,$unit) = $scheck->_normalize_value(1/60,"m");
|
|
is($value,1);
|
|
is($unit,"s");
|
|
($value,$unit) = $scheck->_normalize_value(0.001,"us");
|
|
is($value,1);
|
|
is($unit,"ns");
|
|
($value,$unit) = $scheck->_normalize_value(1010,"ns");
|
|
is($value,1.01);
|
|
is($unit,"us");
|
|
|
|
my $label = $scheck->_exit_message(code => &Monitoring::Plugin::OK,mode => "numeric",value => "2.1", unit => "MB");
|
|
is($label,"Memory : Value 2.10 MB in range");
|
|
|