ninjudd-ninjudd-memcache-client 1.5.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +85 -0
- data/README.txt +54 -0
- data/Rakefile +24 -0
- data/ext/crc32/crc32.c +28 -0
- data/ext/crc32/extconf.rb +5 -0
- data/lib/memcache.rb +791 -0
- data/lib/memcache_extended.rb +112 -0
- data/lib/memcache_mock.rb +126 -0
- data/lib/memcache_util.rb +90 -0
- data/test/test_mem_cache.rb +744 -0
- data/test/test_memcache_extended.rb +27 -0
- data/test/test_memcache_mock.rb +94 -0
- metadata +66 -0
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require File.dirname(__FILE__) + '/../lib/memcache_mock'
|
3
|
+
require File.dirname(__FILE__) + '/../lib/memcache_extended'
|
4
|
+
|
5
|
+
class TestGeniMemcache < Test::Unit::TestCase
|
6
|
+
# def memcache
|
7
|
+
# MemCache.new(
|
8
|
+
# :servers=>["localhost:11211"],
|
9
|
+
# :ttl=>1800,
|
10
|
+
# :compression=>false,
|
11
|
+
# :readonly=>false,
|
12
|
+
# :debug=>false,
|
13
|
+
# :c_threshold=>10000,
|
14
|
+
# :urlencode=>false
|
15
|
+
# )
|
16
|
+
# #CACHE.servers = memcached_config[:servers]
|
17
|
+
# end
|
18
|
+
|
19
|
+
def test_get_reset_expiry
|
20
|
+
m = MemCacheMock.new
|
21
|
+
m.add('rewrite_test', 'quick brown fox', 0.1)
|
22
|
+
assert_equal 'quick brown fox', m.get_reset_expiry('rewrite_test', 2)
|
23
|
+
sleep(0.1)
|
24
|
+
|
25
|
+
assert_equal 'quick brown fox', m.get('rewrite_test')
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,94 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require File.dirname(__FILE__) + '/../lib/memcache_mock'
|
3
|
+
|
4
|
+
class TestMemCacheMock < Test::Unit::TestCase
|
5
|
+
def test_get_set
|
6
|
+
m = MemCacheMock.new
|
7
|
+
m.set(2, [1,2,3])
|
8
|
+
|
9
|
+
assert_equal [1,2,3], m.get(2)
|
10
|
+
assert_equal [1,2,3], m.get('2')
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_get_set_with_namespace
|
14
|
+
m = MemCacheMock.new
|
15
|
+
m.namespace = 'electric'
|
16
|
+
m.set(2, [1,2,3])
|
17
|
+
|
18
|
+
assert_equal [1,2,3], m.get(2)
|
19
|
+
assert_equal [1,2,3], m.get('2')
|
20
|
+
|
21
|
+
m.namespace = nil
|
22
|
+
assert_equal nil, m.get(2)
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_multi_get
|
26
|
+
m = MemCacheMock.new
|
27
|
+
m.set(2, [1,2,3])
|
28
|
+
m.set(3, [4,5])
|
29
|
+
|
30
|
+
expected = { '2' => [1,2,3], '3' => [4,5] }
|
31
|
+
assert_equal expected, m.get_multi(2,3)
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_multi_get_with_namespace
|
35
|
+
m = MemCacheMock.new
|
36
|
+
m.namespace = 'mania'
|
37
|
+
m.set(2, [1,2,3])
|
38
|
+
m.set(3, [4,5])
|
39
|
+
|
40
|
+
expected = { '2' => [1,2,3], '3' => [4,5] }
|
41
|
+
assert_equal expected, m.get_multi(2,3)
|
42
|
+
|
43
|
+
m.namespace = ''
|
44
|
+
assert_equal Hash.new, m.get_multi(2,3)
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_delete
|
48
|
+
m = MemCacheMock.new
|
49
|
+
m.set(2, [1,2,3])
|
50
|
+
|
51
|
+
assert_equal [1,2,3], m.get(2)
|
52
|
+
|
53
|
+
m.delete(2)
|
54
|
+
|
55
|
+
assert_equal nil, m.get(2)
|
56
|
+
end
|
57
|
+
|
58
|
+
def test_clear
|
59
|
+
m = MemCacheMock.new
|
60
|
+
m.set(2, [1,2,3])
|
61
|
+
|
62
|
+
assert_equal [1,2,3], m.get(2)
|
63
|
+
|
64
|
+
m.clear
|
65
|
+
|
66
|
+
assert_equal nil, m.get(2)
|
67
|
+
end
|
68
|
+
|
69
|
+
def test_array_operators
|
70
|
+
m = MemCacheMock.new
|
71
|
+
m[2] = [1,2,3]
|
72
|
+
|
73
|
+
assert_equal [1,2,3], m[2]
|
74
|
+
end
|
75
|
+
|
76
|
+
def test_array_operators_with_namespace
|
77
|
+
m = MemCacheMock.new
|
78
|
+
m.namespace = 'fire'
|
79
|
+
m[2] = [1,2,3]
|
80
|
+
|
81
|
+
assert_equal [1,2,3], m[2]
|
82
|
+
|
83
|
+
m.namespace = 'water'
|
84
|
+
assert_equal nil, m[2]
|
85
|
+
end
|
86
|
+
|
87
|
+
def test_expiry
|
88
|
+
m = MemCacheMock.new
|
89
|
+
m.add('test', 1, 0.1)
|
90
|
+
assert_equal 1, m.get('test')
|
91
|
+
sleep(0.1)
|
92
|
+
assert_equal nil, m.get('test')
|
93
|
+
end
|
94
|
+
end
|
metadata
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ninjudd-ninjudd-memcache-client
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.5.0.3
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Eric Hodel
|
8
|
+
- Robert Cottrell
|
9
|
+
- Mike Perham
|
10
|
+
- Justin Balthrop
|
11
|
+
autorequire:
|
12
|
+
bindir: bin
|
13
|
+
cert_chain: []
|
14
|
+
|
15
|
+
date: 2008-06-25 00:00:00 -07:00
|
16
|
+
default_executable:
|
17
|
+
dependencies: []
|
18
|
+
|
19
|
+
description: A Ruby-based memcached client library (with extensions)
|
20
|
+
email: justin@geni.com
|
21
|
+
executables: []
|
22
|
+
|
23
|
+
extensions:
|
24
|
+
- ext/crc32/extconf.rb
|
25
|
+
extra_rdoc_files: []
|
26
|
+
|
27
|
+
files:
|
28
|
+
- README.txt
|
29
|
+
- License.txt
|
30
|
+
- History.txt
|
31
|
+
- Rakefile
|
32
|
+
- lib/memcache.rb
|
33
|
+
- lib/memcache_util.rb
|
34
|
+
- lib/memcache_extended.rb
|
35
|
+
- lib/memcache_mock.rb
|
36
|
+
- ext/crc32/crc32.c
|
37
|
+
has_rdoc: false
|
38
|
+
homepage: http://github.com/ninjudd/memcache-client
|
39
|
+
post_install_message:
|
40
|
+
rdoc_options: []
|
41
|
+
|
42
|
+
require_paths:
|
43
|
+
- lib
|
44
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ">="
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: "0"
|
49
|
+
version:
|
50
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: "0"
|
55
|
+
version:
|
56
|
+
requirements: []
|
57
|
+
|
58
|
+
rubyforge_project:
|
59
|
+
rubygems_version: 1.2.0
|
60
|
+
signing_key:
|
61
|
+
specification_version: 2
|
62
|
+
summary: A Ruby-based memcached client library (with extensions)
|
63
|
+
test_files:
|
64
|
+
- test/test_mem_cache.rb
|
65
|
+
- test/test_memcache_extended.rb
|
66
|
+
- test/test_memcache_mock.rb
|