annotate t/02_keys.t @ 2:f5cfb726ea65 default tip

Append/prepend commands. NOTE: gzipping content may produce unpredictable results.
author Maxim Dounin <mdounin@mdounin.ru>
date Sun, 30 Sep 2007 18:01:41 +0400
parents 17fc6afc155e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
1 # -*-perl-*-
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
2
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
3 use strict;
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
4 use Test::More;
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
5 use Cache::Memcached;
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
6 use IO::Socket::INET;
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
7
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
8 my $testaddr = "127.0.0.1:11211";
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
9 my $msock = IO::Socket::INET->new(PeerAddr => $testaddr,
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
10 Timeout => 3);
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
11 if ($msock) {
2
f5cfb726ea65 Append/prepend commands.
Maxim Dounin <mdounin@mdounin.ru>
parents: 0
diff changeset
12 plan tests => 14;
0
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
13 } else {
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
14 plan skip_all => "No memcached instance running at $testaddr\n";
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
15 exit 0;
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
16 }
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
17
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
18 my $memd = Cache::Memcached->new({
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
19 servers => [ $testaddr ],
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
20 namespace => "Cache::Memcached::t/$$/" . (time() % 100) . "/",
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
21 });
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
22
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
23
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
24 ok($memd->set("key1", "val1"), "set succeeded");
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
25
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
26 is($memd->get("key1"), "val1", "get worked");
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
27 ok(! $memd->add("key1", "val-replace"), "add properly failed");
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
28 ok($memd->add("key2", "val2"), "add worked on key2");
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
29 is($memd->get("key2"), "val2", "get worked");
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
30
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
31 ok($memd->replace("key2", "val-replace"), "replace worked");
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
32 ok(! $memd->replace("key-noexist", "bogus"), "replace failed");
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
33
2
f5cfb726ea65 Append/prepend commands.
Maxim Dounin <mdounin@mdounin.ru>
parents: 0
diff changeset
34 ok($memd->set("key1", "1"), "set before append/prepend");
f5cfb726ea65 Append/prepend commands.
Maxim Dounin <mdounin@mdounin.ru>
parents: 0
diff changeset
35 ok($memd->append("key1", "2"), "append worked");
f5cfb726ea65 Append/prepend commands.
Maxim Dounin <mdounin@mdounin.ru>
parents: 0
diff changeset
36 ok($memd->prepend("key1", "3"), "prepend worked");
f5cfb726ea65 Append/prepend commands.
Maxim Dounin <mdounin@mdounin.ru>
parents: 0
diff changeset
37 is($memd->get("key1"), "312", "append/prepend result check");
f5cfb726ea65 Append/prepend commands.
Maxim Dounin <mdounin@mdounin.ru>
parents: 0
diff changeset
38
0
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
39 my $stats = $memd->stats;
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
40 ok($stats, "got stats");
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
41 is(ref $stats, "HASH", "is a hashref");
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
42
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
43
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
44 # also make one without a hashref
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
45 my $mem2 = Cache::Memcached->new(
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
46 servers => [ ],
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
47 debug => 1,
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
48 );
17fc6afc155e Cache::Memcached 1.24
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
49 ok($mem2->{debug}, "debug is set on alt constructed instance");