HTTP-MultiGet

 view release on metacpan or  search on metacpan

t/AnyEvent-HTTP-MultiGet.t  view on Meta::CPAN

use Modern::Perl;
use Log::LogMethods::Log4perlLogToString;
use Carp qw(confess);
use Data::Dumper;
use AnyEvent::Loop;
BEGIN { $SIG{__DIE__} = sub { confess @_ }; }
use Test::More qw(no_plan);

my $class='AnyEvent::HTTP::MultiGet';
require_ok($class);
use_ok($class);

my $string;
my $logger=LoggerToString($class,$string);
my $self=$class->new(logger=>$logger,request_opts=>{timeout=>10,persistent=>0,cookie_jar=>{},keepalive=>0});
isa_ok($self,$class);

SKIP: { skip 'env valirable RUN_HTTP_TESTS not set', 56 unless $ENV{RUN_HTTP_TESTS};
if(0){
my $count=0;
TEST_LOOP: {
  my $req=HTTP::Request->new(GET=>'https://google.com');
  my @todo=HTTP::Request->new(GET=>'https://yahoo.com');
  push @todo,HTTP::Request->new(GET=>'https://news.com');
  push @todo,HTTP::Request->new(GET=>'https://127.0.0.1:5888');

  my $code;
  $code=sub {
    my ($obj,$request,$result)=@_;
    diag sprintf 'HTTP Response code: %i %s',$result->code,$request->uri;
    ++$count;
    if(my $next=shift @todo) {
      $self->add_cb($next,$code);
      $self->run_next;
    }
    diag $count;
    no warnings;
    last TEST_LOOP if $count==4;
  };
  $self->add_cb($req,$code);
  $self->run_next;
  AnyEvent::Loop::run;
}
ok($count==4,"Should have run something!");
ok($self->que_count==0,'que count should be empty');
  ok(scalar(keys %{$self->results})==0,'should have no results left') or diag Dumper($self->results);
  ok(!$self->stack->has_next,'stack should be empty');
}
if(1){
  my $count=0;
  my $req=HTTP::Request->new(GET=>'https://google.com');
  my @ids;
  my $code;
  $code=sub {
    my ($obj,$request,$result)=@_;
    isa_ok($obj,$class);
    isa_ok($request,'HTTP::Request');
    isa_ok($result,'HTTP::Response');
    diag sprintf 'HTTP Response code: %i %s',$result->code,$request->uri;
    ++$count;
  };



( run in 0.745 second using v1.01-cache-2.11-cpan-39bf76dae61 )