class ActiveSupport::Cache::Strategy::LocalCache::MiddlewareTest

Public Instance Methods

test_local_cache_cleared_and_response_should_be_present_on_invalid_parameters_error() click to toggle source
# File activesupport/test/cache/local_cache_middleware_test.rb, line 26
def test_local_cache_cleared_and_response_should_be_present_on_invalid_parameters_error
  key = "super awesome key"
  assert_nil LocalCacheRegistry.cache_for key
  middleware = Middleware.new("<3", key).new(->(env) {
    assert LocalCacheRegistry.cache_for(key), "should have a cache"
    raise Rack::Utils::InvalidParameterError
  })
  response = middleware.call({})
  assert response, "response should exist"
  assert_nil LocalCacheRegistry.cache_for(key)
end
test_local_cache_cleared_on_close() click to toggle source
# File activesupport/test/cache/local_cache_middleware_test.rb, line 11
def test_local_cache_cleared_on_close
  key = "super awesome key"
  assert_nil LocalCacheRegistry.cache_for key
  middleware = Middleware.new("<3", key).new(->(env) {
    assert LocalCacheRegistry.cache_for(key), "should have a cache"
    [200, {}, []]
  })
  _, _, body = middleware.call({})
  assert LocalCacheRegistry.cache_for(key), "should still have a cache"
  body.each {}
  assert LocalCacheRegistry.cache_for(key), "should still have a cache"
  body.close
  assert_nil LocalCacheRegistry.cache_for(key)
end
test_local_cache_cleared_on_exception() click to toggle source
# File activesupport/test/cache/local_cache_middleware_test.rb, line 38
def test_local_cache_cleared_on_exception
  key = "super awesome key"
  assert_nil LocalCacheRegistry.cache_for key
  middleware = Middleware.new("<3", key).new(->(env) {
    assert LocalCacheRegistry.cache_for(key), "should have a cache"
    raise
  })
  assert_raises(RuntimeError) { middleware.call({}) }
  assert_nil LocalCacheRegistry.cache_for(key)
end
test_local_cache_cleared_on_throw() click to toggle source
# File activesupport/test/cache/local_cache_middleware_test.rb, line 49
def test_local_cache_cleared_on_throw
  key = "super awesome key"
  assert_nil LocalCacheRegistry.cache_for key
  middleware = Middleware.new("<3", key).new(->(env) {
    assert LocalCacheRegistry.cache_for(key), "should have a cache"
    throw :warden
  })
  assert_throws(:warden) { middleware.call({}) }
  assert_nil LocalCacheRegistry.cache_for(key)
end