added simple tests for dnssec-keytool foerste
authorMatthias Förste <foerste@schlittermann.de>
Thu, 30 Jun 2011 15:50:44 +0200
branchfoerste
changeset 147 9038188cbc41
parent 146 a3860111db49
child 148 b0fd381a4b53
added simple tests for dnssec-keytool
t/02-dnssec-keytool.t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/t/02-dnssec-keytool.t	Thu Jun 30 15:50:44 2011 +0200
@@ -0,0 +1,48 @@
+use strict;
+use warnings;
+
+use lib 't/lib';
+use Aux;
+
+use Test::More;
+use File::Temp qw(tempdir);
+use Net::LibIDN qw(:all);
+
+# older versions of Test::More (debian lenny fex) don't know done_testing
+Test::More->import('no_plan') unless defined &done_testing;
+
+my $zone = "müller.de";
+my $CMD = "perl -Mblib blib/sbin/dnssec-keytool";
+
+system("$CMD -h >/dev/null 2>&1");
+is($? => 0, "exit on help");
+
+system("$CMD -m >/dev/null 2>&1");
+is($? => 0, "exit on man");
+
+system("$CMD >/dev/null 2>&1");
+ok($? > 0, "error on missing args");
+
+$_ = File::Temp::tempdir CLEANUP => 1 or die "Can't make temporary directory" for my ($master_dir, $config_dir);
+my $tmp = Aux::make_config {
+    master_dir => $master_dir,
+    zone_conf_dir => $config_dir,
+    hostmaster => 'hostmaster@schlittermann.de',
+    template_dir => './templates'
+};
+$ENV{DNSTOOLS_CONF} = $tmp->filename;
+
+system("perl -Mblib blib/sbin/zone-mk xxx $zone >/dev/null 2>&1");
+die "zone creation failed" if $?;
+
+system("$CMD --ksk $zone >/dev/null 2>&1");
+is($? => 0, 'exit on --ksk');
+
+system("$CMD --zsk $zone >/dev/null 2>&1");
+is($? => 0, 'exit on --zsk');
+
+system("$CMD --rm $zone >/dev/null 2>&1");
+is($? => 0, 'exit on --rm');
+
+# older versions of Test::More (debian lenny fex) don't know done_testing
+if (defined &done_testing) { &done_testing; }