114 lines
4.2 KiB
Perl
114 lines
4.2 KiB
Perl
|
use FindBin;
|
||
|
use strict;
|
||
|
use warnings;
|
||
|
use Test::More qw(no_plan);
|
||
|
use Data::Dumper;
|
||
|
use JMX::Jmx4Perl::Alias;
|
||
|
use It;
|
||
|
|
||
|
require "check_jmx4perl/base.pl";
|
||
|
|
||
|
my $jmx = It->new(verbose =>1)->jmx4perl;
|
||
|
my ($ret,$content);
|
||
|
|
||
|
# ====================================================
|
||
|
# Configuration check
|
||
|
my $config_file = $FindBin::Bin . "/../check_jmx4perl/checks.cfg";
|
||
|
|
||
|
for my $check (qw(memory_heap memory_heap2)) {
|
||
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check $check");
|
||
|
is($ret,0,"$check: Memory with value OK");
|
||
|
ok($content =~ /\(base\)/,"$check: First level inheritance");
|
||
|
ok($content =~ /\(grandpa\)/,"$check: Second level inheritance");
|
||
|
ok($content !~ /\$\{1:default_name\}/,"$check: Default replacement");
|
||
|
ok($content =~ /default_name/,"$check: Default replacement");
|
||
|
}
|
||
|
|
||
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check blubber");
|
||
|
is($ret,3,"Unknown check");
|
||
|
ok($content =~ /blubber/,"Unknown check name contained");
|
||
|
|
||
|
# ========================================================================
|
||
|
# With arguments
|
||
|
|
||
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check outer_arg OuterArg");
|
||
|
#print Dumper($ret,$content);
|
||
|
is($ret,0,"OuterArg OK");
|
||
|
ok($content =~ /OuterArg/,"OuterArg replaced");
|
||
|
ok($content =~ /Warning: 80/,"Warning included in label");
|
||
|
ok($content =~ /Critical: 90/,"Critical included in label");
|
||
|
|
||
|
# No replacement
|
||
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check outer_arg");
|
||
|
is($ret,0,"OuterArg OK");
|
||
|
ok($content =~ /default_name/,"OuterArg not-replaced");
|
||
|
|
||
|
# ===========================================================================
|
||
|
# No default value
|
||
|
|
||
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check def_placeholder_1");
|
||
|
is($ret,1,"WARNING");
|
||
|
ok($content =~ /warning/i,"Warning expected");
|
||
|
|
||
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check def_placeholder_1 1");
|
||
|
is($ret,1,"WARNING");
|
||
|
ok($content =~ /warning/i,"Warning expected");
|
||
|
|
||
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check def_placeholder_2");
|
||
|
is($ret,1,"WARNING");
|
||
|
ok($content =~ /warning/i,"Warning expected");
|
||
|
|
||
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check def_placeholder_2 1");
|
||
|
is($ret,2,"CRITICAL");
|
||
|
ok($content =~ /critical/i,"Critical expected");
|
||
|
|
||
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check def_placeholder_2 1 2 Blubber");
|
||
|
is($ret,2,"CRITICAL");
|
||
|
ok($content =~ /critical/i,"Critical expected");
|
||
|
ok($content =~ /Blubber/,"Name replacement from command line");
|
||
|
|
||
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check invalid_method 10 20");
|
||
|
is($ret,3,"UNKNOWN");
|
||
|
ok($content =~ /Unknown.*method/,"Unknown request method");
|
||
|
|
||
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --method invalid --check thread_count 10 20");
|
||
|
is($ret,3,"UNKNOWN");
|
||
|
ok($content =~ /Unknown.*method/,"Unknown request method");
|
||
|
|
||
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --method get --check thread_count 300 400");
|
||
|
#print Dumper($ret,$content);
|
||
|
is($ret,0,"OK");
|
||
|
ok($content =~ /in range/,"In range");
|
||
|
|
||
|
# =============================================================================
|
||
|
# With scripting
|
||
|
|
||
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check script_check Eden|Java");
|
||
|
#print Dumper($ret,$content);
|
||
|
is($ret,2);
|
||
|
ok($content =~ /threshold/i,"Script-Check: Threshold contained");
|
||
|
|
||
|
|
||
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check script_multi_check Perm|non-heap");
|
||
|
ok($ret != 3);
|
||
|
#print Dumper($ret,$content);
|
||
|
ok($content =~ /Perm/,"Multi-Script-Check: Perm contained");
|
||
|
ok($content =~ /Eden/,"Multi-Script-Check: Eden contained");
|
||
|
ok($content =~ /thread_count/,"Multi-Script-Check: Thread_count contained");
|
||
|
|
||
|
# ===========================================================================
|
||
|
# Double values
|
||
|
|
||
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check double_min");
|
||
|
$content =~ /double_min=(.*?);/;
|
||
|
my $min = $1;
|
||
|
#print Dumper($min,$ret ,$content,$1);
|
||
|
is($min,"0.000000","Small double numbers are converted to floats");
|
||
|
|
||
|
# ===========================================================================
|
||
|
# Without Thresholds
|
||
|
|
||
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check without_threshold");
|
||
|
|
||
|
#print Dumper($content);
|