1#!/usr/bin/perl
2#
3# $Id: zone.t 878 2010-04-23 12:48:43Z calle $
4
5require 5.008;
6use warnings;
7use strict;
8
9use Test::More tests => 11;
10
11use DNSCheck;
12use YAML;
13
14######################################################################
15
16my $dc;
17
18eval {
19    $dc = new DNSCheck(
20        { configfile => './config.yaml', rootsource => '212.247.18.3' });
21};
22
23ok(!$@, $@);
24
25TODO: {
26    local $TODO = 'Better tests need to be designed.';
27
28  SKIP: {
29        skip "Failed to get an object to test", 4 unless defined($dc);
30        ok(defined($dc->zone->test("power.fine")));
31        my @res          = @{ $dc->logger->export };
32        my $result_count = scalar(@res);
33        ok(abs($result_count - 273) < 5,
34            "Got $result_count lines from logger.");
35        my $info_count = scalar(grep { $_->[2] eq 'INFO' } @res);
36        ok(abs($info_count - 60) < 5, "$info_count INFO-level results.");
37        ok($dc->logger->count_info == $info_count);
38        my $notice_count = scalar(grep { $_->[2] eq 'NOTICE' } @res);
39        ok(abs($notice_count - 4) < 3, "$notice_count NOTICE-level results.");
40        ok($dc->logger->count_notice == $notice_count);
41        my $warning_count = scalar(grep { $_->[2] eq 'WARNING' } @res);
42        ok(abs($warning_count - 3) < 2,
43            "$warning_count WARNING-level results.");
44        ok($dc->logger->count_warning == $warning_count);
45        my $debug_count = scalar(grep { $_->[2] eq 'DEBUG' } @res);
46        ok(abs($debug_count - 203) < 5, "$debug_count DEBUG-level results.");
47        ok($dc->logger->count_debug == $debug_count);
48    }
49}
50