From 92db9e46f8dced015a236f073187e4ea50c7e13c Mon Sep 17 00:00:00 2001 From: Rei Date: Sun, 15 Apr 2018 00:43:14 +0800 Subject: Fix redis store clear keys outside the namespace Namespace not working in RedisCacheStore#clear method. Bacause namespace = merged_options(options)[namespace] is always nil, Correct is namespace = merged_options(options)[:namespace] --- .../test/cache/stores/redis_cache_store_test.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'activesupport/test/cache') diff --git a/activesupport/test/cache/stores/redis_cache_store_test.rb b/activesupport/test/cache/stores/redis_cache_store_test.rb index dda96b68fb..3cae2bb11f 100644 --- a/activesupport/test/cache/stores/redis_cache_store_test.rb +++ b/activesupport/test/cache/stores/redis_cache_store_test.rb @@ -221,4 +221,22 @@ module ActiveSupport::Cache::RedisCacheStoreTests end end end + + class ClearTest < StoreTest + test "clear all cache key" do + @cache.write("foo", "bar") + @cache.write("fu", "baz") + @cache.clear + assert !@cache.exist?("foo") + assert !@cache.exist?("fu") + end + + test "only clear namespace cache key" do + @cache.write("foo", "bar") + @cache.redis.set("fu", "baz") + @cache.clear + assert !@cache.exist?("foo") + assert @cache.redis.exists("fu") + end + end end -- cgit v1.2.3