|
1 use strict; |
|
2 use warnings; |
|
3 |
|
4 use lib 't/lib'; |
|
5 use Aux; |
|
6 |
|
7 use Test::More; |
|
8 use File::Temp qw(tempdir); |
|
9 use Net::LibIDN qw(:all); |
|
10 |
|
11 # older versions of Test::More (debian lenny fex) don't know done_testing |
|
12 Test::More->import('no_plan') unless defined &done_testing; |
|
13 |
|
14 my $zone = "müller.de"; |
|
15 my $CMD = "perl -Mblib blib/sbin/dnssec-keytool"; |
|
16 |
|
17 system("$CMD -h >/dev/null 2>&1"); |
|
18 is($? => 0, "exit on help"); |
|
19 |
|
20 system("$CMD -m >/dev/null 2>&1"); |
|
21 is($? => 0, "exit on man"); |
|
22 |
|
23 system("$CMD >/dev/null 2>&1"); |
|
24 ok($? > 0, "error on missing args"); |
|
25 |
|
26 $_ = File::Temp::tempdir CLEANUP => 1 or die "Can't make temporary directory" for my ($master_dir, $config_dir); |
|
27 my $tmp = Aux::make_config { |
|
28 master_dir => $master_dir, |
|
29 zone_conf_dir => $config_dir, |
|
30 hostmaster => 'hostmaster@schlittermann.de', |
|
31 template_dir => './templates' |
|
32 }; |
|
33 $ENV{DNSTOOLS_CONF} = $tmp->filename; |
|
34 |
|
35 system("perl -Mblib blib/sbin/zone-mk xxx $zone >/dev/null 2>&1"); |
|
36 die "zone creation failed" if $?; |
|
37 |
|
38 system("$CMD --ksk $zone >/dev/null 2>&1"); |
|
39 is($? => 0, 'exit on --ksk'); |
|
40 |
|
41 system("$CMD --zsk $zone >/dev/null 2>&1"); |
|
42 is($? => 0, 'exit on --zsk'); |
|
43 |
|
44 system("$CMD --rm $zone >/dev/null 2>&1"); |
|
45 is($? => 0, 'exit on --rm'); |
|
46 |
|
47 # older versions of Test::More (debian lenny fex) don't know done_testing |
|
48 if (defined &done_testing) { &done_testing; } |