The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!perl
use strict;
use warnings;

use English qw( -no_match_vars );
use Test::More;

use lib "lib";

eval "require Date::Parse";
if ( $@ ) {
	plan skip_all => "Date::Parse not installed";
}

if ( ! -w '/var/log/mail' ) {
	plan skip_all => "/var/log/mail not writable";
}

my $count_dir = "/var/log/mail/counters";
unless ( -d $count_dir ) {
	plan skip_all => "$count_dir does not existent";
};

require_ok( 'Mail::Toaster' );

my $toaster = Mail::Toaster->new;
isa_ok( $toaster, 'Mail::Toaster', 'object class' );

my $maillogs_location = "bin/maillogs";

ok( -e $maillogs_location, 'found maillogs');
ok( -x $maillogs_location, 'is executable');

my @log_types = qw( smtp send rbl imap pop3 webmail spamassassin );

foreach my $type (@log_types) {
    next if $UID != 0;
    ok( $toaster->util->syscmd( "$maillogs_location $type",
            fatal   => 0,
            verbose   => 0,
        ), "maillogs $type",
    );
}

done_testing();
exit;