aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/controller/caching_test.rb
Commit message (Collapse)AuthorAgeFilesLines
* Properly verify that cache accepts and user `expires` value.Vipul A M2016-04-171-1/+4
|
* Make collection caching explicit.Kasper Timm Hansen2016-02-201-16/+5
| | | | | | | | | | | | Having collection caching that wraps templates and automatically tries to infer if they are cachable proved to be too much of a hassle. We'd rather have it be something you explicitly turn on. This removes much of the code and docs to explain the previous automatic behavior. This change also removes scoped cache keys and passing cache_options.
* Only write to collection cache if we have a callable cache key.Kasper Timm Hansen2016-02-121-15/+8
| | | | | | | | | | | A callable cache key writes to the collection cache under a certain namespace. Which means if we don't have scoped cache key we can just rely on the `cache model_name do` in the templates to cache them. Less writes, more sharing. Add `assert_customer_cached` to better illustrate this in tests, and remove tests which then don't communicate as much.
* Check `partial_rendered_times` to clarify expectations.Kasper Timm Hansen2016-02-121-1/+4
| | | | | It was difficult to see when the partials were rendered, and how many times we expected it to be rendered before. Because we weren't explaining it.
* Test collection caching with callable cache key.Kasper Timm Hansen2016-02-121-0/+25
| | | | | | | When people pass `cache: -> item { item.upcase }` they scope the collection cache keys so the individual partial cache isn't reused. Test that behavior.
* restore ability to pass extra options to cache storesDave Gynn2015-12-261-0/+12
| | | | | | | | | The `cache` helper methods should pass any extra options to the cache store. For example :expires_in would be a valid option if memcache was the cache store. The change in commit da16745 broke the ability to pass any options other than :skip_digest and :virtual_path. This PR restores that functionality and adds a test for it.
* Add fragment_cache_key macro for controller-wide fragment cache key prefixesSam Stephenson2015-12-141-0/+25
|
* Remove mocha from ActionPack testsMarcin Olichwirowicz2015-09-051-14/+26
|
* pass the variant as a parameter to more reflect real world appsAaron Patterson2015-07-081-3/+3
|
* let the superclass build the request and responseAaron Patterson2015-07-081-6/+0
| | | | | We should leverage the request / response objects that the superclass has already allocated for us.
* Fix the random caching test failure.Kasper Timm Hansen2015-07-051-0/+1
|
* Fix flakyness.Kasper Timm Hansen2015-06-151-0/+1
| | | | Brought on by my own stupidity :)
* Replace expectation with state check.Kasper Timm Hansen2015-05-301-3/+7
| | | | The tests would still pass if the cache call in the rendered templates were removed.
* Collections automatically cache and fetch partials.Kasper Timm Hansen2015-02-211-0/+58
| | | | | | | | | | | | | | | | | | | | | | | Collections can take advantage of `multi_read` if they render one template and their partials begin with a cache call. The cache call must correspond to either what the collections elements are rendered as, or match the inferred name of the partial. So with a notifications/_notification.html.erb template like: ```ruby <% cache notification %> <%# ... %> <% end %> ``` A collection would be able to use `multi_read` if rendered like: ```ruby <%= render @notifications %> <%= render partial: 'notifications/notification', collection: @notifications, as: :notification %> ```
* Switch to kwargs in ActionController::TestCase and ActionDispatch::IntegrationKir Shatrov2015-01-291-4/+4
| | | | | | | | Non-kwargs requests are deprecated now. Guides are updated as well. `post url, nil, nil, { a: 'b' }` doesn't make sense. `post url, params: { y: x }, session: { a: 'b' }` would be an explicit way to do the same
* Add controller and action name to the instrumentation payloadDaniel Schierbeck2014-05-101-0/+16
|
* Update test helper to use latest Digestor APIDavid Heinemeier Hansson2014-03-211-8/+8
|
* Don't pass variant in params, it's ignoredŁukasz Strzałkowski2014-03-131-1/+1
| | | | We're setting variant above, in request object directly
* Ensure LookupContext in Digestor selects correct variantPiotr Chmolowski2014-03-091-0/+21
| | | | | | | | | | Related to: #14242 #14243 14293 Variants passed to LookupContext#find() seem to be ignored, so I've used the setter instead: `finder.variants = [ variant ]`. I've also added some more test cases for variants. Hopefully this time passing tests will mean it actually works.
* Variants in ActionView::DigestorPiotr Chmolowski2014-03-041-2/+2
| | | | | | | | | | | Take variants into account when calculating template digests in ActionView::Digest. Digestor#digest now takes a hash as an argument to support variants and allow more flexibility in the future. Old-style arguments have been deprecated. Fixes #14242
* Removed semicolon and added spaceAnupam Choudhury2013-09-131-2/+2
|
* Remove `page_cache_extension` deprecated methodFrancesco Rodriguez2013-07-011-15/+0
|
* Remove unneeded filesPiotr Sarnacki2013-06-201-1/+0
|
* evaluate the dependency blocks at the instance level, not class levelJamis Buck2013-01-081-2/+2
|
* view_cache_dependency APIJamis Buck2013-01-081-0/+18
| | | | | | | | | | | | | A declarative API for specifying dependencies that affect template cache digest computation. In your controller, specify any of said dependencies: view_cache_dependency { "phone" if using_phone? } When the block is evaluated, the resulting value is included in the cache digest calculation, allowing you to generate different digests for effectively the same template. (Mostly useful if you're mucking with template load paths.)
* Add explicit opt-out for fragment cache digestingDrew Ulmer2012-11-251-0/+12
| | | | | | | | | This add support for sending an explicit opt-out of the "Russian-doll" cache digest feature on a case-by-case basis. This is useful when cache- expiration needs to be performed manually and it would be otherwise difficult to know the exact name of a digested cache key. More information: https://github.com/rails/cache_digests/pull/16
* rename page_cache_extension option to default_static_extensionFrancesco Rodriguez2012-10-031-0/+15
|
* extract AP Page and Action caching to actionpack-deprecated_caching gemFrancesco Rodriguez2012-10-031-721/+16
|
* move metal/caching_test into controller/caching_testFrancesco Rodriguez2012-09-271-5/+42
|
* Add automatic template digests to all CacheHelper#cache calls (originally ↵David Heinemeier Hansson2012-08-291-5/+16
| | | | spiked in the cache_digests plugin) *DHH*
* set the controller under test so we no longer need the reset! methodAaron Patterson2012-08-091-38/+4
|
* Escape the extension when normalizing the action cache path.Andrew White2012-05-201-1/+30
| | | | | | | | | Although no recognized formats use non-ASCII characters, sometimes they can be included in the :format parameter because of invalid URLS. To prevent encoding incompatibility errors we need to escape them before passing the path to URI.unescape. Closes #4379
* added proc evaluation for action cache's layout parameterNico2012-05-021-1/+32
|
* Remove default match without specified methodJose and Yehuda2012-04-241-3/+3
| | | | | | | | | | | | | | | | In the current router DSL, using the +match+ DSL method will match all verbs for the path to the specified endpoint. In the vast majority of cases, people are currently using +match+ when they actually mean +get+. This introduces security implications. This commit disallows calling +match+ without an HTTP verb constraint by default. To explicitly match all verbs, this commit also adds a :via => :all option to +match+. Closes #5964
* Add config.default_method_for_update to support PATCHDavid Lee2012-02-221-1/+1
| | | | | | | | | | | | | | | | PATCH is the correct HTML verb to map to the #update action. The semantics for PATCH allows for partial updates, whereas PUT requires a complete replacement. Changes: * adds config.default_method_for_update you can set to :patch * optionally use PATCH instead of PUT in resource routes and forms * adds the #patch verb to routes to detect PATCH requests * adds #patch? to Request * changes documentation and comments to indicate support for PATCH This change maintains complete backwards compatibility by keeping :put as the default for config.default_method_for_update.
* Rack body respond to each and not to joinSantiago Pastorino2012-02-141-0/+12
| | | | | | | This fixes undef `to_str' for Rack::Chunked::Body when using caches_action + streaming on an action Closes #5027
* Remove rescue_action from compatibility module and testsCarlos Antonio da Silva2012-01-171-4/+0
|
* Remove old compatibility methods not being usedCarlos Antonio da Silva2012-01-171-2/+0
|
* Provide a class optin for page_cache_compression.José Valim2011-12-241-3/+4
|
* Gzip files on page cachingAndrey A.I. Sitnik2011-12-241-1/+40
| | | | Signed-off-by: José Valim <jose.valim@gmail.com>
* Allowing string as url argument for expire_actionThomas von Deyen2011-12-061-0/+20
|
* Ensure that the format isn't applied twice to the cache key, else it becomes ↵Christopher Meiklejohn2011-10-311-0/+13
| | | | impossible to target with expire_action.
* Merge pull request #2219 from kommen/fix_fragment_caching_squashedSantiago Pastorino2011-10-131-0/+49
| | | | Fix fragment caching (squashed commits)
* Deprecate passing the template handler in the template name.José Valim2011-09-221-1/+1
| | | | | | For example, calling hello.erb is now deprecated. Since Rails 3.0 passing the handler had no effect whatsover. This commit simply deprecates such cases so we can clean up the code in later releases.
* replaced and with && as per coding guidelinesNeeraj Singh2011-06-101-1/+1
|
* The test name is misleading. It saysNeeraj Singh2011-06-101-1/+1
| | | | | | | | | | | | test_should_cache_with_trailing_slash_on_url A trailing slash is removed when a page is cached. What the test meant to say was : a url with trailing slash should be cached and the cached page should not have any trailing slash. This patch clarifies the name a bit.
* Always initialize @title in caching test to avoid uninitialized instance ↵wycats2011-05-221-0/+3
| | | | variable warning
* removes the RJS template handlerXavier Noria2011-04-131-14/+0
|
* Fix Action caching bug where an action that has a non-cacheable response ↵Cheah Chu Yeow2011-03-021-0/+5
| | | | | | | | | | always renders a nil response body. It now correctly renders the response body. Note that only GET and HTTP 200 responses can be cached. [#6480 state:committed] Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
* Allow page_cache_directory to be set as a PathnameAndre Arko2011-02-061-0/+11
| | | | | | For example, page_cache_directory = Rails.root.join("public/cache") Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>