Cache-Elasticache-Memcache
view release on metacpan or search on metacpan
t/methods.t view on Meta::CPAN
has parent_overrides => (
is => 'ro',
default => sub {
my $self = shift;
my $overrides = Sub::Override->new()
->replace('Cache::Memcached::Fast::new' , sub { return $self->mock_base_memd })
->replace('Cache::Memcached::Fast::DESTROY' , sub { })
->replace($self->test_class.'::checkServers', sub { my $object = shift; $object->{servers} = 1 })
->replace($self->test_class.'::getServersFromEndpoint', sub { return ['10.112.21.4:11211'] });
return $overrides;
}
);
has methods => (
is => 'ro',
default => sub {
return [qw(
enable_compress
namespace
set
set_multi
cas
cas_multi
add
add_multi
replace
replace_multi
append
append_multi
prepend
prepend_multi
get
get_multi
gets
gets_multi
incr
incr_multi
decr
decr_multi
delete
delete_multi
touch
touch_multi
flush_all
nowait_push
server_versions
disconnect_all
)]
},
);
before run_test => sub {
my $self = shift;
$self->mock_base_memd->clear();
};
test "methods" => sub {
my $self = shift;
my $memd = $self->test_class->new(
config_endpoint => 'dave',
);
foreach my $method (@{$self->methods}) {
subtest "Method: $method" => sub {
$memd->{servers} = 0;
ok !$self->mock_base_memd->called($method);
is $memd->$method('test'), 'deadbeef';
ok $self->mock_base_memd->called($method);
ok $memd->{servers};
}
}
};
run_me;
done_testing;
1;
( run in 0.780 second using v1.01-cache-2.11-cpan-39bf76dae61 )