t/10-dnsvi.t
changeset 95 da5ca0b73fda
parent 67 760a2752983c
child 96 a1d10088dc1d
equal deleted inserted replaced
94:8014e5fee219 95:da5ca0b73fda
    70     },
    70     },
    71     d => {
    71     d => {
    72         RRSETS => 15,
    72         RRSETS => 15,
    73         SOA    => 1,
    73         SOA    => 1,
    74         NS     => 2,
    74         NS     => 2,
    75         A      => [sort qw/
    75         A      => [qw/
    76 	    abc.de.km21.de.
    76 	    abc.de.km21.de.
    77 	    foo.km21.de.
    77 	    foo.km21.de.
    78 	    tte.km21.de.
    78 	    tte.km21.de.
    79 	    tte.km21.de.
    79 	    tte.km21.de.
    80 	    bar.km21.de.
    80 	    bar.km21.de.
    81 	/],
    81 	/],
    82         TXT    => 5,
    82         TXT    => { 
       
    83 	    'km21.de.' => [ map { "\"$_\"" }
       
    84 		'invoice: self', 
       
    85 		'utf8: km21.de', 
       
    86 		'start: 1396981300 2014-04-08T20:21:40', 
       
    87 	    ],
       
    88 	    'tte.km21.de.' => [ map { "\"$_\"" } 'tte', 'tte2' ],
       
    89 	},
    83         AAAA   => 0,
    90         AAAA   => 0,
    84         MX     => 2,
    91         MX     => 2,
    85     },
    92     },
    86     'frey-1' => {
    93     'frey-1' => {
    87 	RRSETS => 6,
    94 	RRSETS => 6,
   110         my @zone   = parse(slurp $file);
   117         my @zone   = parse(slurp $file);
   111         is @zone, $expect{RRSETS} => "$sample: $expect{RRSETS} RRSETS";
   118         is @zone, $expect{RRSETS} => "$sample: $expect{RRSETS} RRSETS";
   112         foreach my $type (@sets) {
   119         foreach my $type (@sets) {
   113 	    if (ref $expect{$type} eq ref[]) {
   120 	    if (ref $expect{$type} eq ref[]) {
   114 		my @entries = sort map { $_->{label} } grep { $_->{rrtype} eq $type } map { $_->{rrset} } @zone;
   121 		my @entries = sort map { $_->{label} } grep { $_->{rrtype} eq $type } map { $_->{rrset} } @zone;
   115 		is_deeply \@entries, $expect{$type} => 'list of labels';
   122 		is_deeply \@entries, [sort @{$expect{$type}} ] => 'list of labels';
   116 	    }
   123 	    }
   117 	    elsif (ref $expect{$type} eq ref{}) {
   124 	    elsif (ref $expect{$type} eq ref{}) {
   118 		foreach my $label (keys %{ $expect{$type} }) {
   125 		foreach my $label (keys %{ $expect{$type} }) {
   119 		    my @entries = sort map { $_->{data} } grep { $_->{label} eq $label and $_->{rrtype} eq $type } map { $_->{rrset} } @zone;
   126 		    my @entries = sort map { $_->{data} } grep { $_->{label} eq $label and $_->{rrtype} eq $type } map { $_->{rrset} } @zone;
   120 		    is_deeply \@entries, $expect{$type}{$label} => 'complete rrsets',
   127 		    is_deeply \@entries, [sort @{ $expect{$type}{$label} }] => 'complete rrsets',
   121 		}
   128 		}
   122 	    }
   129 	    }
   123 	    else {
   130 	    else {
   124             is grep({ $_->{rrset}{rrtype} eq $type } @zone),
   131             is grep({ $_->{rrset}{rrtype} eq $type } @zone),
   125 		$expect{$type}//0 => "number of $type rrsets";
   132 		$expect{$type}//0 => "number of $type rrsets";