diff -r 046d8e631700 -r 81b171d31830 t/01-zone-mk.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/t/01-zone-mk.t Wed Jun 29 10:18:30 2011 +0200 @@ -0,0 +1,45 @@ +use strict; +use warnings; + +use Test::More; +use File::Temp qw(tempdir); +use Net::LibIDN qw(:all); + +# make it work with older versions of Test::More +unless (defined &done_testing) { +sub done_testing() {}; +use Test::More qw(no_plan); +} + +my $CMD = "perl -Mblib blib/sbin/zone-mk"; + +system("$CMD -h &>/dev/null"); +is($? => 0, "exit on help"); + +system("$CMD -m &>/dev/null"); +is($? => 0, "exit on man"); + +system("$CMD &>/dev/null"); +ok($? > 0, "error on missing args"); + +my $master_dir = tempdir; +my $config_dir = tempdir; +my $tmp = File::Temp->new; +$ENV{DNSTOOLS_CONF} = $tmp->filename; + +print $tmp <<__EOF; +master_dir = $master_dir +zone_conf_dir = $config_dir +hostmaster = hostmaster\@schlittermann.de +template_dir = ./templates +__EOF + +system("$CMD xxx müller.de &>/dev/null"); +is($? => 0, "created zone"); + +my $domain = idn_to_ascii("müller.de", "UTF-8"); +ok(-s "$master_dir/$domain/$domain", "zone file $domain"); +ok(-s "$config_dir/$domain", "config file $domain"); + + +done_testing;