AnyEvent-RipeRedis
view release on metacpan or search on metacpan
t/05-db-select.t view on Meta::CPAN
sub {
$t_data{db1} = shift;
my $err = shift;
if ( defined $err ) {
diag( $err->message );
}
}
);
$redis_db2->get( 'foo',
sub {
$t_data{db2} = shift;
my $err = shift;
if ( defined $err ) {
diag( $err->message );
}
}
);
my $reply_cnt = 0;
my $on_reply = sub {
my $reply = shift;
my $err = shift;
if ( defined $err ) {
diag( $err->message );
}
if ( ++$reply_cnt == 2 ) {
$cv->send;
}
};
$redis_db1->del( 'foo', $on_reply );
$redis_db2->del( 'foo', $on_reply );
}
);
my $t_npref = 'auto-selection of DB after reconnection';
is( $db1_index, 1, "$t_npref; first DB index" );
is( $db2_index, 2, "$t_npref; second DB index" );
is_deeply( \%t_data,
{ db1 => 'bar1',
db2 => 'bar2',
},
"$t_npref; SET and GET"
);
return;
}
sub t_auto_select_after_auth {
my $server_info = shift;
my $redis_db1 = AnyEvent::RipeRedis->new(
host => $server_info->{host},
port => $server_info->{port},
password => $server_info->{password},
database => 1,
);
my $redis_db2 = AnyEvent::RipeRedis->new(
host => $server_info->{host},
port => $server_info->{port},
password => $server_info->{password},
database => 2,
);
ev_loop(
sub {
my $cv = shift;
my $reply_cnt = 0;
my $on_reply = sub {
my $reply = shift;
my $err = shift;
if ( defined $err ) {
diag( $err->message );
}
if ( ++$reply_cnt == 2 ) {
$cv->send;
}
};
$redis_db1->ping($on_reply);
$redis_db2->ping($on_reply);
}
);
my $db1_index = $redis_db1->database;
my $db2_index = $redis_db2->database;
my $t_data = set_get( $redis_db1, $redis_db2 );
my $t_npref = 'auto-selection of DB after authentication';
is( $db1_index, 1, "$t_npref; first DB index" );
is( $db2_index, 2, "$t_npref; second DB index" );
is_deeply( $t_data,
{ db1 => 'bar1',
db2 => 'bar2',
},
"$t_npref; SET and GET"
);
return;
}
sub set_get {
my $redis_db1 = shift;
my $redis_db2 = shift;
ev_loop(
sub {
my $cv = shift;
my $reply_cnt = 0;
my $on_reply = sub {
my $reply = shift;
my $err = shift;
if ( defined $err ) {
( run in 2.292 seconds using v1.01-cache-2.11-cpan-e1769b4cff6 )