diff --git a/test/unit/behaviors/local_cache_behavior.rb b/test/unit/behaviors/local_cache_behavior.rb index 001bb69..07344c0 100644 --- a/test/unit/behaviors/local_cache_behavior.rb +++ b/test/unit/behaviors/local_cache_behavior.rb @@ -67,7 +67,7 @@ def test_cleanup_clears_local_cache_but_not_remote_cache @cache.write(key, value) assert_equal value, @cache.read(key) - @cache.send(:bypass_local_cache) { @cache.write(key, other_value) } + @cache.send(:use_temporary_local_cache, nil) { @cache.write(key, other_value) } assert_equal value, @cache.read(key) @cache.cleanup @@ -110,7 +110,7 @@ def test_local_cache_of_read_nil value = SecureRandom.alphanumeric @cache.with_local_cache do assert_nil @cache.read(key) - @cache.send(:bypass_local_cache) { @cache.write(key, value) } + @cache.send(:use_temporary_local_cache, nil) { @cache.write(key, value) } assert_nil @cache.read(key) end end @@ -211,6 +211,20 @@ def test_local_cache_of_increment end end + def test_local_cache_of_increment_miss + key = SecureRandom.uuid + @cache.with_local_cache do + @cache.write(key, 5, raw: true) + @peek.delete(key) + + @cache.increment(key) + + expected = @peek.read(key, raw: true) + assert_equal 1, Integer(expected) + assert_equal expected, @cache.read(key, raw: true) + end + end + def test_local_cache_of_decrement key = SecureRandom.uuid @cache.with_local_cache do @@ -225,6 +239,22 @@ def test_local_cache_of_decrement end end + def test_local_cache_of_decrement_miss + key = SecureRandom.uuid + @cache.with_local_cache do + @cache.write(key, 5, raw: true) + @peek.delete(key) + + @cache.decrement(key) + + expected = @peek.read(key, raw: true) + unless expected == "0" # Memcached doesn't go negative + assert_equal(-1, Integer(expected)) + end + assert_equal expected, @cache.read(key, raw: true) + end + end + def test_local_cache_of_fetch_multi existing_key = SecureRandom.uuid known_missing_key = SecureRandom.uuid @@ -298,7 +328,7 @@ def test_local_cache_of_read_multi_prioritizes_local_entries key = "key#{rand}" @cache.with_local_cache do @cache.write(key, "foo") - @cache.send(:bypass_local_cache) { @cache.write(key, "bar") } + @cache.send(:use_temporary_local_cache, nil) { @cache.write(key, "bar") } assert_equal({ key => "foo" }, @cache.read_multi(key)) end