AnyEvent-Net-Curl-Queued
view release on metacpan or search on metacpan
t/41-loopback-cb.t view on Meta::CPAN
#!perl
use lib qw(inc);
use strict;
use utf8;
use warnings qw(all);
use Test::More;
use_ok('AnyEvent::Net::Curl::Queued');
use_ok('AnyEvent::Net::Curl::Queued::Easy');
use_ok('Test::HTTP::AnyEvent::Server');
my $server = Test::HTTP::AnyEvent::Server->new;
isa_ok($server, 'Test::HTTP::AnyEvent::Server');
my $q = AnyEvent::Net::Curl::Queued->new;
isa_ok($q, 'AnyEvent::Net::Curl::Queued');
can_ok($q, qw(append prepend cv));
my $n = 50;
for my $i (1 .. $n) {
my $url = $server->uri . 'echo/body';
my $post = "i=$i";
$q->append(sub {
AnyEvent::Net::Curl::Queued::Easy->new(
http_response => 1,
initial_url => $url,
on_init => sub {
my ($self) = @_;
$self->sign($post);
$self->setopt({ postfields => $post });
},
on_finish => sub {
my ($self, $result) = @_;
isa_ok($self, qw(AnyEvent::Net::Curl::Queued::Easy));
isa_ok($self->response, qw(HTTP::Response));
ok($self->response->code == 200, 'HTTP 200');
can_ok($self, qw(
data
final_url
has_error
header
initial_url
));
ok($self->final_url eq $url, 'initial/final URLs match');
ok($result == 0, 'got CURLE_OK');
ok(!$self->has_error, "libcurl message: '$result'");
ok(ref($self->response) eq 'HTTP::Response', 'returns ' . ref($self->response));
is($self->response->content, $post, 'got data: ' . $self->response->content);
},
use_stats => 1,
)
});
}
$q->cv->wait;
( run in 0.780 second using v1.01-cache-2.11-cpan-39bf76dae61 )