AnyEvent-MockTCPServer

 view release on metacpan or  search on metacpan

lib/AnyEvent/MockTCPServer.pm  view on Meta::CPAN

                       $self->next_action($hdl, $actions);
                       1;
                     });
}


sub sleep {
  my ($self, $handle, $actions, $interval, $desc) = @_;
  print STDERR 'Sleeping for ', $interval, ' ', $desc, "\n" if DEBUG;
  my $w;
  $w = AnyEvent->timer(after => $interval,
                       cb => sub {
                         $self->next_action($handle, $actions);
                         undef $w;
                       });
}


sub code {
  my ($self, $handle, $actions, $code, $desc) = @_;
  print STDERR 'Executing ', $code, ' for ', $desc, "\n" if DEBUG;

t/01-simple.t  view on Meta::CPAN

                                  ]
                                 ]);
};
plan skip_all => "Failed to create dummy server: $@" if ($@);
my ($host, $port) = $server->connect_address;
plan tests => 9;

is($server->connect_host, $host, 'same host');
is($server->connect_port, $port, 'same port');
is($server->connect_string, $host.':'.$port, 'same host:port');
my $timeout = AnyEvent->timer(after => 20,
                              cb => sub { $done->send('timeout') });

tcp_connect $host, $port, sub {
  my ($fh) = @_;
  ok($fh, 'connected') or die "Failed to connect: $!\n";
  my $hdl;
  $hdl = AnyEvent::Handle->new(
                               fh => $fh,
                               on_error => sub { $done->send('error') });
  $hdl->push_write('HELLO');

t/02-unexpected.t  view on Meta::CPAN


my $done = AnyEvent->condvar;
my $server;
eval {
  $server = AnyEvent::MockTCPServer->new();
};
plan skip_all => "Failed to create dummy server: $@" if ($@);
my ($host, $port) = $server->connect_address;
plan tests => 2;

my $timeout = AnyEvent->timer(after => 5,
                              cb => sub { $done->send('timeout') });

tcp_connect $host, $port, sub {};

my $res = '';
eval { $res = $done->recv };
is($@, "Server received unexpected connection\n", 'unexpected connection');
is($res, '', 'no timeout');

t/03-two.t  view on Meta::CPAN

                                   [ packrecv => '48454C4C4F32',
                                     'wait for "HELLO2"' ],
                                   [ packsend => '42594532', 'send "BYE2"' ],
                                  ]
                                 ]);
};
plan skip_all => "Failed to create dummy server: $@" if ($@);
my ($host, $port) = $server->connect_address;
plan tests => 10;

my $timeout = AnyEvent->timer(after => 20,
                              cb => sub { $done->send('timeout') });

my $cv = AnyEvent->condvar;
tcp_connect $host, $port, sub {
  my ($fh) = @_;
  ok($fh, 'connected(1)') or die "Failed to connect: $!\n";
  $cv->send(1);
  my $hdl;
  $hdl = AnyEvent::Handle->new(
                               fh => $fh,

t/04-timeout.t  view on Meta::CPAN

                                   [ packsend => '425945', 'send "BYE"' ],
                                  ]
                                 ],
                                 timeout => 0.1);
};
plan skip_all => "Failed to create dummy server: $@" if ($@);
my ($host, $port) = $server->connect_address;
plan tests => 3;

my $timeout =
  AnyEvent->timer(after => 20, cb => sub { $done->send('timeout') });

my $cv = AnyEvent->condvar;
my $filehandle;
tcp_connect $host, $port, sub {
  my ($fh) = @_;
  ok($fh, 'connected') or die "Failed to connect: $!\n";
  $filehandle = $fh;
  $cv->send(1);
};

t/05-error.t  view on Meta::CPAN

                                  ]
                                 ],
                                 on_error => sub { $done->send('error'); },
                                );
};
plan skip_all => "Failed to create dummy server: $@" if ($@);
my ($host, $port) = $server->connect_address;
plan tests => 3;

my $timeout =
  AnyEvent->timer(after => 20, cb => sub { $done->send('timeout') });

my $cv = AnyEvent->condvar;
tcp_connect $host, $port, sub {
  my ($fh) = @_;
  ok($fh, 'connected') or die "Failed to connect: $!\n";
  close $fh;
  $cv->send(1);
};

$cv->recv; # connected



( run in 1.235 second using v1.01-cache-2.11-cpan-49f99fa48dc )