Blame t/01-resolver-opt.t
|
Packit |
e6c8bb |
# $Id: 01-resolver-opt.t 1573 2017-06-12 11:03:59Z willem $ -*-perl-*-
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
use strict;
|
|
Packit |
e6c8bb |
use Test::More tests => 30;
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
use Net::DNS;
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
#
|
|
Packit |
e6c8bb |
# Check that we can set things in new()
|
|
Packit |
e6c8bb |
#
|
|
Packit |
e6c8bb |
my %test_config = (
|
|
Packit |
e6c8bb |
domain => 'net-dns.org',
|
|
Packit |
e6c8bb |
searchlist => ['net-dns.org', 't.net-dns.org'],
|
|
Packit |
e6c8bb |
nameservers => ['10.0.0.1', '10.0.0.2'],
|
|
Packit |
e6c8bb |
debug => 1,
|
|
Packit |
e6c8bb |
defnames => 0,
|
|
Packit |
e6c8bb |
dnsrch => 0,
|
|
Packit |
e6c8bb |
recurse => 0,
|
|
Packit |
e6c8bb |
retrans => 6,
|
|
Packit |
e6c8bb |
retry => 5,
|
|
Packit |
e6c8bb |
persistent_tcp => 1,
|
|
Packit |
e6c8bb |
persistent_udp => 1,
|
|
Packit |
e6c8bb |
tcp_timeout => 60,
|
|
Packit |
e6c8bb |
udp_timeout => 60,
|
|
Packit |
e6c8bb |
usevc => 1,
|
|
Packit |
e6c8bb |
port => 54,
|
|
Packit |
e6c8bb |
srcport => 53,
|
|
Packit |
e6c8bb |
adflag => 1,
|
|
Packit |
e6c8bb |
cdflag => 0,
|
|
Packit |
e6c8bb |
dnssec => 0,
|
|
Packit |
e6c8bb |
);
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
foreach my $key ( sort keys %test_config ) {
|
|
Packit |
e6c8bb |
my $resolver = Net::DNS::Resolver->new( $key => $test_config{$key} );
|
|
Packit |
e6c8bb |
my @returned = $resolver->$key;
|
|
Packit |
e6c8bb |
my %returned = ( $key => scalar(@returned) > 1 ? [@returned] : shift(@returned) );
|
|
Packit |
e6c8bb |
is_deeply( $returned{$key}, $test_config{$key}, "$key is correct" );
|
|
Packit |
e6c8bb |
}
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
#
|
|
Packit |
e6c8bb |
# Check that new() is vetting things properly.
|
|
Packit |
e6c8bb |
#
|
|
Packit |
e6c8bb |
foreach my $test (qw(nameservers searchlist)) {
|
|
Packit |
e6c8bb |
foreach my $input ( {}, \1 ) {
|
|
Packit |
e6c8bb |
my $res = eval { Net::DNS::Resolver->new( $test => $input ); };
|
|
Packit |
e6c8bb |
ok( $@, 'Invalid input caught' );
|
|
Packit |
e6c8bb |
ok( !$res, 'No resolver returned' );
|
|
Packit |
e6c8bb |
}
|
|
Packit |
e6c8bb |
}
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
my %bad_input = (
|
|
Packit |
e6c8bb |
errorstring => 'set',
|
|
Packit |
e6c8bb |
answerfrom => 'set',
|
|
Packit |
e6c8bb |
answersize => 'set',
|
|
Packit |
e6c8bb |
);
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
while ( my ( $key, $value ) = each %bad_input ) {
|
|
Packit |
e6c8bb |
my $res = Net::DNS::Resolver->new( $key => $value );
|
|
Packit |
e6c8bb |
isnt( $res->{$key}, 'set', "$key is not set" );
|
|
Packit |
e6c8bb |
}
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
exit;
|
|
Packit |
e6c8bb |
|