105 lines
3.9 KiB
Perl
105 lines
3.9 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/multi_check.cfg";
|
|
|
|
# Simple multicheck
|
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check memory");
|
|
#print ($ret,$content);
|
|
is($ret,0,"Memory with value OK");
|
|
ok($content =~ /\(base\)/,"First level inheritance");
|
|
ok($content =~ /\(grandpa\)/,"Second level inheritance");
|
|
ok($content =~ /Heap Memory/,"Heap Memory Included");
|
|
ok($content =~ /NonHeap Memory/,"NonHeap Memory included");
|
|
#print Dumper($ret,$content);
|
|
|
|
# Nested multichecks
|
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check nested");
|
|
#print Dumper($ret,$content);
|
|
is($ret,0,"Multicheck with value OK");
|
|
ok($content =~ /\(base\)/,"First level inheritance");
|
|
ok($content =~ /\(grandpa\)/,"Second level inheritance");
|
|
ok($content =~ /Thread-Count/,"Threads");
|
|
ok($content =~ /'Thread-Count'/,"Threads");
|
|
ok($content =~ /Heap Memory/,"Heap Memory Included");
|
|
ok($content =~ /NonHeap Memory/,"Non Heap Memory included");
|
|
|
|
# Multicheck with reference to checks with parameters
|
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check with_inner_args");
|
|
is($ret,0,"Multicheck with value OK");
|
|
ok($content =~ /HelloLabel/,"First param");
|
|
ok($content =~ /WithInnerArgs/,"WithInnerArgs");
|
|
|
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check with_outer_args WithOuterArgs");
|
|
is($ret,0,"Multicheck with value OK");
|
|
ok($content =~ /HelloLabel/,"First param");
|
|
ok($content =~ /WithOuterArgs/,"WithOuterArgs");
|
|
|
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check nested_with_args");
|
|
is($ret,0,"Multicheck with value OK");
|
|
ok($content =~ /HelloLabel/,"First param");
|
|
ok($content =~ /NestedWithArgs/,"NestedWithArgs");
|
|
|
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check nested_with_outer_args NestedWithOuterArgs");
|
|
is($ret,0,"Multicheck with value OK");
|
|
ok($content =~ /HelloLabel/,"First param");
|
|
ok($content =~ /NestedWithOuterArgs/,"NestedWithOuterArgs");
|
|
|
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check overloaded_multi_check");
|
|
#print Dumper($ret,$content);
|
|
is($ret,0,"Multicheck with argument for operation");
|
|
ok($content =~ /Value 1 in range/,"OperationWithArgument");
|
|
|
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check failing_multi_check");
|
|
#print Dumper($ret,$content);
|
|
is($ret,2,"Failing memory multicheck is CRITICAL");
|
|
ok($content =~ /memory_non_heap/,"Failed check name is contained in summary");
|
|
|
|
# Check labeling of failed tests
|
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check label_test");
|
|
#print "==========================================\n";
|
|
#print Dumper($ret,$content);
|
|
is($ret,2,"Should fail as critical");
|
|
my @lines = split /\n/,$content;
|
|
is($#lines,2,"3 lines has been returned");
|
|
ok($lines[0] =~ /bla/ && $lines[0] =~ /blub/,"Name of checks should be returned as critical values");
|
|
#print Dumper($ret,$content);
|
|
|
|
($ret,$content) = exec_check_perl4jmx("--config $config_file --check error_multi_check");
|
|
is($ret,3,"Should fail as UNKNOWN");
|
|
@lines = split /\n/,$content;
|
|
is($#lines,3,"4 lines has been returned");
|
|
ok($lines[1] =~ /kaputt/ && $lines[1] =~ /UNKNOWN/,"First line is UNKNOWN Check");
|
|
#print Dumper($ret,$content);
|
|
|
|
($ret,$content) = exec_check_perl4jmx("--unknown-is-critical --config $config_file --check error_multi_check");
|
|
is($ret,2,"Should fail as CRITICAL");
|
|
@lines = split /\n/,$content;
|
|
is($#lines,3,"4 lines has been returned");
|
|
ok($lines[0] =~ /kaputt/ && $lines[0] =~ /CRITICAL/,"First line is UNKNOWN Check");
|
|
|
|
#print Dumper($ret,$content);
|
|
|
|
|
|
# TODO:
|
|
|
|
# Unknown multicheck name
|
|
|
|
# Unknown nested multicheck name
|
|
|
|
# Unknown check name within a multi check
|
|
|
|
# No multicheck name
|