1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
#!/usr/bin/perl
#
use strict;
use warnings;
use Test::More;
use Net::DNS::Resolver::Unbound;
my $resolver = Net::DNS::Resolver::Unbound->new();
plan skip_all => 'network tests disabled via NO_NETWORK' if $ENV{NO_NETWORK};
plan skip_all => 'resolver not loaded' unless $resolver;
plan skip_all => 'no local nameserver' unless $resolver->nameserver;
plan tests => 7;
my $fqdn = 'www.net-dns.org.';
for ( my $handle = $resolver->bgsend($fqdn) ) {
ok( $handle, "resolver->bgsend('$fqdn')" );
my $reply = $resolver->bgread($handle);
ok( $reply, 'resolver->bgread(handle)' );
ok( !$handle->err, 'handle->err empty' );
}
my $packet = $resolver->_make_query_packet($fqdn);
for ( my $handle = $resolver->bgsend($packet) ) {
ok( $handle, "resolver->bgsend(packet)" );
my $reply = $resolver->bgread($handle);
ok( $reply, 'resolver->bgread(handle)' );
ok( !$handle->err, 'handle->err empty' );
is( $reply->header->id, $packet->header->id, 'reply ID matches query packet' );
}
exit;
|