--- a/t/10-dnsvi.t Thu Jul 14 10:30:58 2016 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-#! perl
-
-use 5.010;
-use Test::More;
-use strict;
-use warnings;
-use File::Basename;
-
-use_ok 'DNS::Vi' or BAIL_OUT 'DNS::Vi not found!';
-can_ok 'DNS::Vi', qw(ttl2h h2ttl parse nice delta edit update show);
-
-# TODO: more tests!
-is ttl2h(86400), '1d', '-> 1d';
-is h2ttl('1d'), 86400, '<- 1d';
-
-sub slurp {
- local $/ = undef;
- open(my $x, '<', shift);
- return <$x>;
-}
-
-# the expect must match the t/samples/? files
-my %expect = (
- axfr => {
- RRSETS => 64,
- SOA => 1,
- NS => 2,
- A => 6,
- TXT => 3,
- AAAA => 1,
- MX => 5,
- },
- a => {
- RRSETS => 32,
- SOA => 1,
- NS => 16,
- A => 9,
- TXT => 4,
- AAAA => 0,
- MX => 0,
- SOA => {
- 'km21.de.' => ['pu.km21.de. hostmaster.schlittermann.de. 1397766411 86400 7200 604800 300'],
- },
- },
- b => {
- RRSETS => 11,
- SOA => {
- 'km21.de.' => ['pu.schlittermann.de. hostmaster.schlittermann.de. 1397766411 86400 7200 604800 300'],
- },
- NS => 2,
- A => 1,
- TXT => 3,
- AAAA => 0,
- MX => 0,
- CNAME => {
- 'foo.km21.de.' => [qw/tte.km21.de./],
- 'bar.km21.de.' => [qw/tte.km21.de./],
- 'baz.km21.de.' => [qw/tte.km21.de./],
- 'faz.km21.de.' => [qw/a.b.c./],
- },
- },
- c => {
- RRSETS => 12,
- SOA => 1,
- NS => 2,
- A => 2,
- TXT => 5,
- AAAA => 0,
- MX => 2,
- },
- d => {
- RRSETS => 15,
- SOA => 1,
- NS => 2,
- A => [qw/
- abc.de.km21.de.
- foo.km21.de.
- tte.km21.de.
- tte.km21.de.
- bar.km21.de.
- /],
- TXT => {
- 'km21.de.' => [ map { "\"$_\"" }
- 'invoice: self',
- 'utf8: km21.de',
- 'start: 1396981300 2014-04-08T20:21:40',
- ],
- 'tte.km21.de.' => [ map { "\"$_\"" } 'tte', 'tte2' ],
- },
- AAAA => 0,
- MX => 2,
- },
- 'frey-1' => {
- RRSETS => 6,
- SOA => { 'example.com.' => ['p.example.com. hostmaster.example.com. 47 3600 900 604800 300'] },
- A => { 'p.example.com.' => ['1.1.1.1', '2.2.2.2'] },
- NS => { 'example.com.' => ['p.example.com.'] },
- CNAME => {
- 'proxy.mm.frey.example.com.' => ['uxa.frey.example.com.'],
- 'portal.mm.frey.example.com.'=> ['uxb.frey.example.com.'],
- },
- },
- dkim => {
- RRSETS => 2,
- TXT => { 'k1._domainkey.km21.de.' => ['"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AM"'] },
- SOA => 1,
- }
-);
-
-# uniq list of rrtypes we want to test
-my @sets = do {
- my %h;
- @h{ map { keys %{$_} } values %expect } = ();
- grep { $_ ne 'RRSETS' } sort keys %h;
-};
-
-foreach my $sample (sort keys %expect) {
- my $file = "t/samples/$sample";
-
- subtest "sample $file" => sub {
- my %expect = %{ $expect{$sample} };
- my @zone = parse(slurp $file);
- is @zone, $expect{RRSETS} => "$sample: $expect{RRSETS} RRSETS";
- foreach my $type (@sets) {
- if (ref $expect{$type} eq ref[]) {
- my @entries = sort map { $_->{label} } grep { $_->{rrtype} eq $type } map { $_->{rrset} } @zone;
- is_deeply \@entries, [sort @{$expect{$type}} ] => 'list of labels';
- }
- elsif (ref $expect{$type} eq ref{}) {
- foreach my $label (keys %{ $expect{$type} }) {
- my @entries = sort map { $_->{data} } grep { $_->{label} eq $label and $_->{rrtype} eq $type } map { $_->{rrset} } @zone;
- is_deeply \@entries, [sort @{ $expect{$type}{$label} }] => 'complete rrsets',
- }
- }
- else {
- is grep({ $_->{rrset}{rrtype} eq $type } @zone),
- $expect{$type}//0 => "number of $type rrsets";
- }
- }
-
- my %delta = delta(\@zone, \@zone);
- is @{$delta{add}}, 0 => 'nothing added';
- is @{$delta{del}}, 0 => 'nothing deleted';
- }
-}
-
-done_testing();