mcmire-cache 0.3.4 → 0.3.5

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,11 @@
1
+ require 'cache/active_support_cache_store'
2
+
3
+ module Cache::ActiveSupportCacheNullStore
4
+ def self.extended(base)
5
+ base.extend Cache::ActiveSupportCacheStore
6
+ end
7
+
8
+ def _stats
9
+ {}
10
+ end
11
+ end
@@ -1,3 +1,3 @@
1
1
  class Cache
2
- VERSION = "0.3.4"
2
+ VERSION = "0.3.5"
3
3
  end
@@ -0,0 +1,149 @@
1
+
2
+ require 'helper'
3
+
4
+ require 'active_support/cache'
5
+
6
+ class TestActiveSupportCacheNullStore < TestCase
7
+ def raw_client_class
8
+ ActiveSupport::Cache::NullStore
9
+ end
10
+
11
+ def test_get
12
+ assert_equal nil, cache.get('hello')
13
+ cache.set 'hello', 'world'
14
+ assert_equal nil, cache.get('hello')
15
+ end
16
+
17
+ def test_set
18
+ assert_nothing_raised do
19
+ cache.set 'hello', 'world'
20
+ end
21
+ end
22
+
23
+ def test_set_with_ttl
24
+ cache.set 'hello', 'world', 1
25
+ assert_equal nil, cache.get('hello')
26
+ sleep 2
27
+ assert_equal nil, cache.get('hello')
28
+ end
29
+
30
+ def test_set_with_zero_ttl_meaning_eternal
31
+ cache.set 'hello', 'world', 0
32
+ assert_equal nil, cache.get('hello')
33
+ sleep 1
34
+ assert_equal nil, cache.get('hello')
35
+ end
36
+
37
+ def test_delete
38
+ cache.set 'hello', 'world'
39
+ assert_equal nil, cache.get('hello')
40
+ cache.delete 'hello'
41
+ assert_equal nil, cache.get('hello')
42
+ end
43
+
44
+ def test_flush
45
+ cache.set 'hello', 'world'
46
+ assert !cache.exist?('hello')
47
+ end
48
+
49
+ def test_exist
50
+ assert !cache.exist?('hello')
51
+ cache.set 'hello', 'world'
52
+ assert !cache.exist?('hello')
53
+ end
54
+
55
+ def test_exists
56
+ assert !cache.exists?('hello')
57
+ cache.set 'hello', 'world'
58
+ assert !cache.exists?('hello')
59
+ end
60
+
61
+ def test_fetch
62
+ assert_equal nil, cache.fetch('hello')
63
+ assert_equal 'world', cache.fetch('hello') { 'world' }
64
+ end
65
+
66
+ def test_fetch_with_false_boolean
67
+ assert_equal nil, cache.fetch('hello')
68
+ assert_equal false, cache.fetch('hello') { false }
69
+ end
70
+
71
+ def test_fetch_with_expires_in
72
+ assert_equal 'world', cache.fetch('hello', :expires_in => 5) { 'world' }
73
+ end
74
+
75
+ def test_fetch_with_expires_in_stringified
76
+ assert_equal 'world', cache.fetch('hello', 'expires_in' => 5) { 'world' }
77
+ end
78
+
79
+ def test_fetch_with_ignored_options
80
+ assert_equal 'world', cache.fetch('hello', :foo => 'bar') { 'world' }
81
+ end
82
+
83
+ def test_cas
84
+ toggle = lambda do |current|
85
+ current == 'on' ? 'off' : 'on'
86
+ end
87
+
88
+ cache.set 'lights', 'on'
89
+ assert_equal nil, cache.get('lights')
90
+ cache.cas 'lights', &toggle
91
+ assert_equal nil, cache.get('lights')
92
+ cache.cas 'lights', &toggle
93
+ assert_equal nil, cache.get('lights')
94
+ cache.cas 'lights', &toggle
95
+ assert_equal nil, cache.get('lights')
96
+ end
97
+
98
+ def test_write
99
+ cache.write 'hello', 'world'
100
+ assert_equal nil, cache.get('hello')
101
+ end
102
+
103
+ def test_write_with_expires_in
104
+ cache.write 'hello', 'world', :expires_in => 1
105
+ assert_equal nil, cache.get('hello')
106
+ sleep 2
107
+ assert_equal nil, cache.get('hello')
108
+ end
109
+
110
+ def test_write_with_ignored_options
111
+ cache.write 'hello', 'world', :foobar => 'bazboo'
112
+ assert_equal nil, cache.get('hello')
113
+ end
114
+
115
+ def test_read
116
+ cache.set 'hello', 'world'
117
+ assert_equal nil, cache.read('hello')
118
+ end
119
+
120
+ def test_increment
121
+ assert !cache.exist?('high-fives')
122
+ assert_equal 1, cache.increment('high-fives')
123
+ assert_equal nil, cache.get('high-fives')
124
+ assert_equal 1, cache.increment('high-fives')
125
+ assert_equal nil, cache.get('high-fives')
126
+ end
127
+
128
+ def test_decrement
129
+ assert !cache.exist?('high-fives')
130
+ assert_equal -1, cache.decrement('high-fives')
131
+ assert_equal nil, cache.get('high-fives')
132
+ assert_equal -1, cache.decrement('high-fives')
133
+ assert_equal nil, cache.get('high-fives')
134
+ end
135
+
136
+ def test_get_multi
137
+ cache.set 'hello', 'world'
138
+ cache.set 'privyet', 'mir'
139
+ assert_equal({}, cache.get_multi('hello', 'privyet', 'yoyoyo'))
140
+ end
141
+
142
+ # https://github.com/fauna/memcached/pull/50
143
+ def test_get_set_behavior
144
+ cache.flush
145
+ cache.get 'get_set'
146
+ cache.set 'get_set', 'go'
147
+ assert_equal nil, cache.get('get_set')
148
+ end
149
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mcmire-cache
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.3.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -39,6 +39,7 @@ files:
39
39
  - lib/cache/active_support_cache_dalli_store.rb
40
40
  - lib/cache/active_support_cache_file_store.rb
41
41
  - lib/cache/active_support_cache_memory_store.rb
42
+ - lib/cache/active_support_cache_null_store.rb
42
43
  - lib/cache/active_support_cache_store.rb
43
44
  - lib/cache/config.rb
44
45
  - lib/cache/dalli_client.rb
@@ -56,6 +57,7 @@ files:
56
57
  - test/test_active_support_cache_dalli_store.rb
57
58
  - test/test_active_support_cache_file_store.rb
58
59
  - test/test_active_support_cache_memory_store.rb
60
+ - test/test_active_support_cache_null_store.rb
59
61
  - test/test_dalli_client.rb
60
62
  - test/test_mem_cache.rb
61
63
  - test/test_memcached.rb
@@ -97,6 +99,7 @@ test_files:
97
99
  - test/test_active_support_cache_dalli_store.rb
98
100
  - test/test_active_support_cache_file_store.rb
99
101
  - test/test_active_support_cache_memory_store.rb
102
+ - test/test_active_support_cache_null_store.rb
100
103
  - test/test_dalli_client.rb
101
104
  - test/test_mem_cache.rb
102
105
  - test/test_memcached.rb
@@ -106,3 +109,4 @@ test_files:
106
109
  - test/test_nothing.rb
107
110
  - test/test_redis.rb
108
111
  - test/test_redis_namespace.rb
112
+ has_rdoc: