memcached-northscale 0.19.5.2
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/BENCHMARKS +120 -0
- data/CHANGELOG +79 -0
- data/LICENSE +184 -0
- data/Manifest +29 -0
- data/README +115 -0
- data/Rakefile +31 -0
- data/TODO +4 -0
- data/ext/extconf.rb +95 -0
- data/ext/libmemcached-0.32.tar.gz +0 -0
- data/ext/libmemcached.patch +270 -0
- data/ext/rlibmemcached.i +230 -0
- data/ext/rlibmemcached_wrap.c +13290 -0
- data/ext/sasl.patch +29283 -0
- data/lib/memcached.rb +32 -0
- data/lib/memcached/auth.rb +16 -0
- data/lib/memcached/behaviors.rb +78 -0
- data/lib/memcached/exceptions.rb +84 -0
- data/lib/memcached/integer.rb +6 -0
- data/lib/memcached/memcached.rb +656 -0
- data/lib/memcached/rails.rb +164 -0
- data/memcached-northscale.gemspec +32 -0
- data/test/profile/benchmark.rb +210 -0
- data/test/profile/profile.rb +14 -0
- data/test/profile/valgrind.rb +149 -0
- data/test/setup.rb +29 -0
- data/test/teardown.rb +0 -0
- data/test/test_helper.rb +18 -0
- data/test/unit/binding_test.rb +8 -0
- data/test/unit/memcached_test.rb +1168 -0
- data/test/unit/rails_test.rb +109 -0
- metadata +116 -0
@@ -0,0 +1,109 @@
|
|
1
|
+
|
2
|
+
require File.expand_path("#{File.dirname(__FILE__)}/../test_helper")
|
3
|
+
|
4
|
+
class RailsTest < Test::Unit::TestCase
|
5
|
+
|
6
|
+
def setup
|
7
|
+
@servers = ['127.0.0.1:43042', '127.0.0.1:43043', "#{UNIX_SOCKET_NAME}0"]
|
8
|
+
@namespace = 'rails_test'
|
9
|
+
@cache = Memcached::Rails.new(:servers => @servers, :namespace => @namespace)
|
10
|
+
@value = OpenStruct.new(:a => 1, :b => 2, :c => GenericClass)
|
11
|
+
@marshalled_value = Marshal.dump(@value)
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_get
|
15
|
+
@cache.set key, @value
|
16
|
+
result = @cache.get key
|
17
|
+
assert_equal @value, result
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_get_multi
|
21
|
+
@cache.set key, @value
|
22
|
+
result = @cache.get_multi([key])
|
23
|
+
assert_equal(
|
24
|
+
{key => @value},
|
25
|
+
result
|
26
|
+
)
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_delete
|
30
|
+
@cache.set key, @value
|
31
|
+
assert_nothing_raised do
|
32
|
+
@cache.delete key
|
33
|
+
end
|
34
|
+
assert_nil(@cache.get(key))
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_delete_missing
|
38
|
+
assert_nothing_raised do
|
39
|
+
@cache.delete key
|
40
|
+
assert_nil(@cache.delete(key))
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_delete_with_two_arguments
|
45
|
+
assert_nothing_raised do
|
46
|
+
@cache.delete(key, 5)
|
47
|
+
assert_nil(@cache.get(key))
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
def test_bracket_accessors
|
52
|
+
@cache[key] = @value
|
53
|
+
result = @cache[key]
|
54
|
+
assert_equal @value, result
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_cas
|
58
|
+
cache = Memcached::Rails.new(:servers => @servers, :namespace => @namespace, :support_cas => true)
|
59
|
+
value2 = OpenStruct.new(:d => 3, :e => 4, :f => GenericClass)
|
60
|
+
|
61
|
+
# Existing set
|
62
|
+
cache.set key, @value
|
63
|
+
cache.cas(key) do |current|
|
64
|
+
assert_equal @value, current
|
65
|
+
value2
|
66
|
+
end
|
67
|
+
assert_equal value2, cache.get(key)
|
68
|
+
|
69
|
+
# Missing set
|
70
|
+
cache.delete key
|
71
|
+
assert_nothing_raised do
|
72
|
+
cache.cas(key) { @called = true }
|
73
|
+
end
|
74
|
+
assert_nil cache.get(key)
|
75
|
+
assert_nil @called
|
76
|
+
|
77
|
+
# Conflicting set
|
78
|
+
cache.set key, @value
|
79
|
+
assert_raises(Memcached::ConnectionDataExists) do
|
80
|
+
cache.cas(key) do |current|
|
81
|
+
cache.set key, value2
|
82
|
+
current
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
def test_get_missing
|
88
|
+
@cache.delete key rescue nil
|
89
|
+
result = @cache.get key
|
90
|
+
assert_equal nil, result
|
91
|
+
end
|
92
|
+
|
93
|
+
def test_get_nil
|
94
|
+
@cache.set key, nil, 0
|
95
|
+
result = @cache.get key
|
96
|
+
assert_equal nil, result
|
97
|
+
end
|
98
|
+
|
99
|
+
def test_namespace
|
100
|
+
assert_equal @namespace, @cache.namespace
|
101
|
+
end
|
102
|
+
|
103
|
+
private
|
104
|
+
|
105
|
+
def key
|
106
|
+
caller.first[/.*[` ](.*)'/, 1] # '
|
107
|
+
end
|
108
|
+
|
109
|
+
end
|
metadata
ADDED
@@ -0,0 +1,116 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: memcached-northscale
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 199
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 19
|
9
|
+
- 5
|
10
|
+
- 2
|
11
|
+
version: 0.19.5.2
|
12
|
+
platform: ruby
|
13
|
+
authors:
|
14
|
+
- Sean Lynch
|
15
|
+
autorequire:
|
16
|
+
bindir: bin
|
17
|
+
cert_chain: []
|
18
|
+
|
19
|
+
date: 2010-06-02 00:00:00 -07:00
|
20
|
+
default_executable:
|
21
|
+
dependencies: []
|
22
|
+
|
23
|
+
description: Test gem. Do not use unless you know what you're doing.
|
24
|
+
email: ""
|
25
|
+
executables: []
|
26
|
+
|
27
|
+
extensions:
|
28
|
+
- ext/extconf.rb
|
29
|
+
extra_rdoc_files:
|
30
|
+
- BENCHMARKS
|
31
|
+
- CHANGELOG
|
32
|
+
- LICENSE
|
33
|
+
- README
|
34
|
+
- TODO
|
35
|
+
- lib/memcached.rb
|
36
|
+
- lib/memcached/behaviors.rb
|
37
|
+
- lib/memcached/exceptions.rb
|
38
|
+
- lib/memcached/memcached.rb
|
39
|
+
- lib/memcached/rails.rb
|
40
|
+
files:
|
41
|
+
- BENCHMARKS
|
42
|
+
- CHANGELOG
|
43
|
+
- LICENSE
|
44
|
+
- Manifest
|
45
|
+
- README
|
46
|
+
- Rakefile
|
47
|
+
- TODO
|
48
|
+
- ext/extconf.rb
|
49
|
+
- ext/libmemcached-0.32.tar.gz
|
50
|
+
- ext/libmemcached.patch
|
51
|
+
- ext/rlibmemcached.i
|
52
|
+
- ext/rlibmemcached_wrap.c
|
53
|
+
- ext/sasl.patch
|
54
|
+
- lib/memcached.rb
|
55
|
+
- lib/memcached/auth.rb
|
56
|
+
- lib/memcached/behaviors.rb
|
57
|
+
- lib/memcached/exceptions.rb
|
58
|
+
- lib/memcached/integer.rb
|
59
|
+
- lib/memcached/memcached.rb
|
60
|
+
- lib/memcached/rails.rb
|
61
|
+
- test/profile/benchmark.rb
|
62
|
+
- test/profile/profile.rb
|
63
|
+
- test/profile/valgrind.rb
|
64
|
+
- test/setup.rb
|
65
|
+
- test/teardown.rb
|
66
|
+
- test/test_helper.rb
|
67
|
+
- test/unit/binding_test.rb
|
68
|
+
- test/unit/memcached_test.rb
|
69
|
+
- test/unit/rails_test.rb
|
70
|
+
- memcached-northscale.gemspec
|
71
|
+
has_rdoc: true
|
72
|
+
homepage: http://blog.evanweaver.com/files/doc/fauna/memcached/
|
73
|
+
licenses: []
|
74
|
+
|
75
|
+
post_install_message:
|
76
|
+
rdoc_options:
|
77
|
+
- --line-numbers
|
78
|
+
- --inline-source
|
79
|
+
- --title
|
80
|
+
- Memcached-northscale
|
81
|
+
- --main
|
82
|
+
- README
|
83
|
+
require_paths:
|
84
|
+
- lib
|
85
|
+
- ext
|
86
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
87
|
+
none: false
|
88
|
+
requirements:
|
89
|
+
- - ">="
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
hash: 3
|
92
|
+
segments:
|
93
|
+
- 0
|
94
|
+
version: "0"
|
95
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
96
|
+
none: false
|
97
|
+
requirements:
|
98
|
+
- - ">="
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
hash: 11
|
101
|
+
segments:
|
102
|
+
- 1
|
103
|
+
- 2
|
104
|
+
version: "1.2"
|
105
|
+
requirements: []
|
106
|
+
|
107
|
+
rubyforge_project: northscale
|
108
|
+
rubygems_version: 1.3.7
|
109
|
+
signing_key:
|
110
|
+
specification_version: 3
|
111
|
+
summary: Test gem. Do not use unless you know what you're doing.
|
112
|
+
test_files:
|
113
|
+
- test/test_helper.rb
|
114
|
+
- test/unit/binding_test.rb
|
115
|
+
- test/unit/memcached_test.rb
|
116
|
+
- test/unit/rails_test.rb
|