t/01-zone-mk.t
changeset 139 81b171d31830
parent 87 6d624831079f
child 141 c5584821b795
equal deleted inserted replaced
138:046d8e631700 139:81b171d31830
       
     1 use strict;
       
     2 use warnings;
       
     3 
       
     4 use Test::More;
       
     5 use File::Temp qw(tempdir);
       
     6 use Net::LibIDN qw(:all);
       
     7 
       
     8 # make it work with older versions of Test::More
       
     9 unless (defined &done_testing) {
       
    10 sub done_testing() {};
       
    11 use Test::More qw(no_plan);
       
    12 }
       
    13 
       
    14 my $CMD = "perl -Mblib blib/sbin/zone-mk";
       
    15 
       
    16 system("$CMD -h &>/dev/null");
       
    17 is($? => 0, "exit on help");
       
    18 
       
    19 system("$CMD -m &>/dev/null");
       
    20 is($? => 0, "exit on man");
       
    21 
       
    22 system("$CMD &>/dev/null");
       
    23 ok($? > 0, "error on missing args");
       
    24 
       
    25 my $master_dir = tempdir;
       
    26 my $config_dir = tempdir;
       
    27 my $tmp = File::Temp->new;
       
    28 $ENV{DNSTOOLS_CONF} = $tmp->filename;
       
    29 
       
    30 print $tmp <<__EOF;
       
    31 master_dir = $master_dir
       
    32 zone_conf_dir = $config_dir
       
    33 hostmaster = hostmaster\@schlittermann.de
       
    34 template_dir = ./templates		
       
    35 __EOF
       
    36 
       
    37 system("$CMD xxx müller.de &>/dev/null");
       
    38 is($? => 0, "created zone");
       
    39 
       
    40 my $domain = idn_to_ascii("müller.de", "UTF-8");
       
    41 ok(-s "$master_dir/$domain/$domain", "zone file $domain");
       
    42 ok(-s "$config_dir/$domain", "config file $domain");
       
    43 
       
    44 
       
    45 done_testing;