aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test
diff options
context:
space:
mode:
authorBrian Durand <brian@embellishedvisions.com>2011-10-21 13:28:24 -0500
committerBrian Durand <brian@embellishedvisions.com>2011-10-21 13:28:24 -0500
commitec93f363cab7270c1469b420a52a21e306a89c30 (patch)
tree826b6d8351d6b254bd877fb1fa47ac927088ba4a /activesupport/test
parente2aaae16292640f2314be205d7782f6eaf2b1cf5 (diff)
downloadrails-ec93f363cab7270c1469b420a52a21e306a89c30.tar.gz
rails-ec93f363cab7270c1469b420a52a21e306a89c30.tar.bz2
rails-ec93f363cab7270c1469b420a52a21e306a89c30.zip
Fix ActiveSupport::Cache::FileStore.cleanup to actually work.
Diffstat (limited to 'activesupport/test')
-rw-r--r--activesupport/test/caching_test.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/activesupport/test/caching_test.rb b/activesupport/test/caching_test.rb
index cb5362525f..1b2f6d061c 100644
--- a/activesupport/test/caching_test.rb
+++ b/activesupport/test/caching_test.rb
@@ -557,6 +557,29 @@ class FileStoreTest < ActiveSupport::TestCase
key = @cache_with_pathname.send(:key_file_path, "views/index?id=1")
assert_equal "views/index?id=1", @cache_with_pathname.send(:file_path_key, key)
end
+
+ def test_cleanup_with_not_accessed_in
+ @cache.write(1, "aaaaaaaaaa")
+ @cache.write(2, "bbbbbbbbbb")
+ @cache.write(3, "cccccccccc")
+ sleep(2)
+ @cache.read(2)
+ @cache.cleanup(:not_accessed_in => 1)
+ assert_equal false, @cache.exist?(1)
+ assert_equal true, @cache.exist?(2)
+ assert_equal false, @cache.exist?(3)
+ end
+
+ def test_cleanup_with_expired_only
+ @cache.write(1, "aaaaaaaaaa", :expires_in => 0.001)
+ @cache.write(2, "bbbbbbbbbb")
+ @cache.write(3, "cccccccccc", :expires_in => 0.001)
+ sleep(0.002)
+ @cache.cleanup(:expired_only => 0.001)
+ assert_equal false, @cache.exist?(1)
+ assert_equal true, @cache.exist?(2)
+ assert_equal false, @cache.exist?(3)
+ end
# Because file systems have a maximum filename size, filenames > max size should be split in to directories
# If filename is 'AAAAB', where max size is 4, the returned path should be AAAA/B
@@ -646,6 +669,17 @@ class MemoryStoreTest < ActiveSupport::TestCase
assert_equal true, @cache.exist?(2)
assert_equal false, @cache.exist?(1)
end
+
+ def test_cleanup_removes_expired_entries
+ @cache.write(1, "aaaaaaaaaa", :expires_in => 0.001)
+ @cache.write(2, "bbbbbbbbbb")
+ @cache.write(3, "cccccccccc", :expires_in => 0.001)
+ sleep(0.002)
+ @cache.cleanup
+ assert_equal false, @cache.exist?(1)
+ assert_equal true, @cache.exist?(2)
+ assert_equal false, @cache.exist?(3)
+ end
end
uses_memcached 'memcached backed store' do