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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
#!/usr/bin/perl -w
# $Id: 05_api_4.t 56 2006-05-21 20:43:08Z rcaputo $
# vim: filetype=perl
# Test the version 3 API.
use strict;
sub POE::Kernel::ASSERT_DEFAULT () { 1 }
use POE qw(Component::Client::DNS);
use Test::More tests => 4;
my $resolver = POE::Component::Client::DNS->spawn(
Alias => 'named',
Timeout => 5,
);
POE::Session->create(
inline_states => {
_start => \&start_tests,
_stop => sub { }, # avoid assert problems
response => \&got_response,
}
);
POE::Kernel->run();
exit;
sub start_tests {
my $request = 1;
# Default IN A. Override timeout.
$resolver->resolve(
event => "response",
host => "localhost",
context => $request++,
timeout => 30,
);
# Default IN A. Not found in /etc/hosts.
$resolver->resolve(
event => "response",
host => "google.com",
context => $request++,
timeout => 30,
);
# IN PTR
$resolver->resolve(
event => "response",
host => "127.0.0.1",
class => "IN",
type => "PTR",
context => $request++,
);
# Small timeout.
$resolver->resolve(
event => "response",
host => "google.com",
context => $request++,
timeout => 0.001,
);
}
sub got_response {
my ($request, $response) = @_[ARG0, ARG1];
ok($request->{context}, "got response $request->{context}");
}
|