memcached-northscale-heroku 0.17.7

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.
@@ -0,0 +1,102 @@
1
+
2
+ require "#{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_bracket_accessors
45
+ @cache[key] = @value
46
+ result = @cache[key]
47
+ assert_equal @value, result
48
+ end
49
+
50
+ def test_cas
51
+ cache = Memcached::Rails.new(:servers => @servers, :namespace => @namespace, :support_cas => true)
52
+ value2 = OpenStruct.new(:d => 3, :e => 4, :f => GenericClass)
53
+
54
+ # Existing set
55
+ cache.set key, @value
56
+ cache.cas(key) do |current|
57
+ assert_equal @value, current
58
+ value2
59
+ end
60
+ assert_equal value2, cache.get(key)
61
+
62
+ # Missing set
63
+ cache.delete key
64
+ assert_nothing_raised do
65
+ cache.cas(key) { @called = true }
66
+ end
67
+ assert_nil cache.get(key)
68
+ assert_nil @called
69
+
70
+ # Conflicting set
71
+ cache.set key, @value
72
+ assert_raises(Memcached::ConnectionDataExists) do
73
+ cache.cas(key) do |current|
74
+ cache.set key, value2
75
+ current
76
+ end
77
+ end
78
+ end
79
+
80
+ def test_get_missing
81
+ @cache.delete key rescue nil
82
+ result = @cache.get key
83
+ assert_equal nil, result
84
+ end
85
+
86
+ def test_get_nil
87
+ @cache.set key, nil, 0
88
+ result = @cache.get key
89
+ assert_equal nil, result
90
+ end
91
+
92
+ def test_namespace
93
+ assert_equal @namespace, @cache.namespace
94
+ end
95
+
96
+ private
97
+
98
+ def key
99
+ caller.first[/.*[` ](.*)'/, 1] # '
100
+ end
101
+
102
+ end
metadata ADDED
@@ -0,0 +1,100 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: memcached-northscale-heroku
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.17.7
5
+ platform: ruby
6
+ authors:
7
+ - Evan Weaver - updated by NorthScale for Heroku
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-12-16 00:00:00 -08:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: An interface to the libmemcached C client + sasl auth support.
17
+ email: ""
18
+ executables: []
19
+
20
+ extensions:
21
+ - ext/extconf.rb
22
+ extra_rdoc_files:
23
+ - BENCHMARKS
24
+ - CHANGELOG
25
+ - LICENSE
26
+ - README
27
+ - TODO
28
+ - lib/memcached.rb
29
+ - lib/memcached/behaviors.rb
30
+ - lib/memcached/exceptions.rb
31
+ - lib/memcached/memcached.rb
32
+ - lib/memcached/rails.rb
33
+ files:
34
+ - BENCHMARKS
35
+ - CHANGELOG
36
+ - LICENSE
37
+ - Manifest
38
+ - README
39
+ - Rakefile
40
+ - TODO
41
+ - ext/extconf.rb
42
+ - ext/libmemcached-0.35+sasl.tar.gz
43
+ - ext/rlibmemcached.i
44
+ - ext/rlibmemcached_wrap.c
45
+ - lib/memcached.rb
46
+ - lib/memcached/auth.rb
47
+ - lib/memcached/behaviors.rb
48
+ - lib/memcached/exceptions.rb
49
+ - lib/memcached/integer.rb
50
+ - lib/memcached/memcached.rb
51
+ - lib/memcached/rails.rb
52
+ - test/profile/benchmark.rb
53
+ - test/profile/profile.rb
54
+ - test/profile/valgrind.rb
55
+ - test/setup.rb
56
+ - test/teardown.rb
57
+ - test/test_helper.rb
58
+ - test/unit/binding_test.rb
59
+ - test/unit/memcached_test.rb
60
+ - test/unit/rails_test.rb
61
+ - memcached-northscale-heroku.gemspec
62
+ has_rdoc: true
63
+ homepage: http://github.com/seanlynch/libmemcached-ruby
64
+ licenses: []
65
+
66
+ post_install_message:
67
+ rdoc_options:
68
+ - --line-numbers
69
+ - --inline-source
70
+ - --title
71
+ - Memcached-northscale-heroku
72
+ - --main
73
+ - README
74
+ require_paths:
75
+ - lib
76
+ - ext
77
+ required_ruby_version: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: "0"
82
+ version:
83
+ required_rubygems_version: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - ">="
86
+ - !ruby/object:Gem::Version
87
+ version: "1.2"
88
+ version:
89
+ requirements: []
90
+
91
+ rubyforge_project: NorthScale-Heroku
92
+ rubygems_version: 1.3.5
93
+ signing_key:
94
+ specification_version: 3
95
+ summary: An interface to the libmemcached C client + sasl auth support.
96
+ test_files:
97
+ - test/test_helper.rb
98
+ - test/unit/binding_test.rb
99
+ - test/unit/memcached_test.rb
100
+ - test/unit/rails_test.rb