Permalink
Browse files

Add test for warning and CHANGELOG entry

  • Loading branch information...
1 parent 7fb99e5 commit 538fb18dead05760e76587fd53f04ae03dd2ab63 @md5 md5 committed Sep 10, 2011
Showing with 18 additions and 0 deletions.
  1. +2 −0 actionpack/CHANGELOG
  2. +16 −0 actionpack/test/controller/request_forgery_protection_test.rb
View
@@ -1,5 +1,7 @@
*Rails 3.2.0 (unreleased)*
+* Changed log level of warning for missing CSRF token from :debug to :warn. Fixes #2972 [Mike Dillon]
+
* content_tag_for and div_for can now take the collection of records. It will also yield the record as the first argument if you set a receiving argument in your block [Prem Sichanugrist]
So instead of having to do this:
@@ -1,6 +1,7 @@
require 'abstract_unit'
require 'digest/sha1'
require 'active_support/core_ext/string/strip'
+require "active_support/log_subscriber/test_helper"
# common controller actions
module RequestForgeryProtectionActions
@@ -157,6 +158,21 @@ def test_should_allow_put_with_token_in_header
assert_not_blocked { put :index }
end
+ def test_should_warn_on_missing_csrf_token
+ old_logger = ActionController::Base.logger
+ logger = ActiveSupport::LogSubscriber::TestHelper::MockLogger.new
+ ActionController::Base.logger = logger
+
+ begin
+ assert_blocked { post :index }
+
+ assert_equal 1, logger.logged(:warn).size
+ assert_match(/CSRF token authenticity/, logger.logged(:warn).last)
+ rescue
+ ActionController::Base.logger = old_logger
+ end
+ end
+
def assert_blocked
session[:something_like_user_id] = 1
yield

0 comments on commit 538fb18

Please sign in to comment.