Blame t/01-resolver-opt.t

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