summaryrefslogtreecommitdiffstats
path: root/t/Nagios-Plugin-01.t
blob: 0ae2113948312174789a451bec2ce7d49006fce5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

use strict;
use Test::More tests => 12;

BEGIN { use_ok('Nagios::Plugin') };

use Nagios::Plugin::Functions;
Nagios::Plugin::Functions::_fake_exit(1);

diag "\nusing Nagios::Plugin revision ". $Nagios::Plugin::VERSION . "\n"
  if $ENV{TEST_VERBOSE};

my $p = Nagios::Plugin->new;
isa_ok( $p, "Nagios::Plugin");

$p->shortname("PAGESIZE");
is($p->shortname, "PAGESIZE", "shortname set correctly");

$p = Nagios::Plugin->new;
ok(! defined $p->shortname, "shortname should be unset on new");

$p = Nagios::Plugin->new( shortname => "SIZE" );
is($p->shortname, "SIZE", "shortname set correctly on new");

diag "warn if < 10, critical if > 25 " if $ENV{TEST_VERBOSE};
my $t = $p->set_thresholds( warning => "10:25", critical => "~:25" );

$p->add_perfdata( 
	label => "size", 
	value => 1, 
	uom => "kB", 
	threshold => $t,
	);

cmp_ok( $p->all_perfoutput, 'eq', "size=1kB;10:25;~:25", "Perfdata correct");

my $expected = {qw(
		   -1    WARNING
		   1     WARNING
		   20    OK
		   25    OK
		   26    CRITICAL
		   30    CRITICAL
		   )};

foreach (sort {$a<=>$b} keys %$expected) {
    like  $p->die( return_code => $t->get_status($_), message => "page size at http://... was ${_}kB" ),
	 qr/$expected->{$_}/,
	"Output okay. $_ = $expected->{$_}" ;
}