#!/usr/local/bin/perl use strict; use Test::More qw(no_plan); use Test::NoWarnings; use Test::Exception; use lib qw( ./lib ../lib ); #BEGIN { plan tests => 7; } eval { chdir('t') }; use_ok('Nagios::Config'); ok( my $cf = Nagios::Config->new( Filename => "nagios.cfg" ), "Nagios::Config->new()" ); diag("run tests to make sure inherited Nagios::Config::File methods work") if ( $ENV{TEST_VERBOSE} ); is( $cf->get('command_check_interval'), '15s', "get('command_check_interval') returns 15s" ); is( $cf->get('downtime_file'), $cf->get_attr('downtime_file'), "make sure get_attr from v0.02 still works" ); ok( my $list = $cf->get('cfg_file'), "get('cfg_file')" ); is( ref($list), 'ARRAY', "getting an attribute that allows multiples returns an arrayref" ); ok( @$list > 2, "arrayref from previous test has more than two elements" ); diag("run tests to make sure inherited Nagios::Config::Object methods work") if ( $ENV{TEST_VERBOSE} ); ok( $cf->resolve_objects, "\$parser->resolve_objects should be ok to call multiple times" ); ok( $cf->register_objects, "\$parser->register_objects should be ok to call multiple times" ); ok( my @hosts = $cf->list_hosts(), "\$parser->list_hosts()" ); lives_ok( sub { my $mf_cf = Nagios::Config->new( Filename => 'nagios-missing-file.cfg', allow_missing_files => 1 ); }, "parameter allow_missing_files lets new() live through missing files" );