AnyEvent-Redis-RipeRedis
view release on metacpan or search on metacpan
t/09-conn-errors.t view on Meta::CPAN
use 5.008000;
use strict;
use warnings;
use Test::More tests => 31;
use AnyEvent::Redis::RipeRedis qw( :err_codes );
use Net::EmptyPort qw( empty_port );
use Scalar::Util qw( weaken );
require 't/test_helper.pl';
t_cant_connect_mth1();
t_cant_connect_mth2();
t_no_connection();
t_reconnection();
t_read_timeout();
t_premature_conn_close_mth1();
t_premature_conn_close_mth2();
t_subscription_lost();
sub t_cant_connect_mth1 {
my $redis;
my $port = empty_port();
my $t_cli_err_msg;
my $t_cmd_err_msg;
my $t_cmd_err_code;
AE::now_update();
ev_loop(
sub {
my $cv = shift;
$redis = AnyEvent::Redis::RipeRedis->new(
port => $port,
connection_timeout => 3,
reconnect => 0,
on_connect_error => sub {
$t_cli_err_msg = shift;
},
);
$redis->ping(
{ on_error => sub {
$t_cmd_err_msg = shift;
$t_cmd_err_code = shift;
$cv->send();
},
}
);
},
0
);
my $t_npref = "can't connect; 'on_connect_error' used";
like( $t_cli_err_msg, qr/^Can't connect to localhost:$port:/,
"$t_npref; client error message" );
like( $t_cmd_err_msg,
qr/^Operation "ping" aborted: Can't connect to localhost:$port:/,
"$t_npref; command error message" );
is( $t_cmd_err_code, E_CANT_CONN, "$t_npref; command error code" );
return;
( run in 0.439 second using v1.01-cache-2.11-cpan-2398b32b56e )