aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/controller/filter_params_test.rb
diff options
context:
space:
mode:
authorEmilio Tagua <miloops@gmail.com>2009-05-26 11:34:02 -0300
committerEmilio Tagua <miloops@gmail.com>2009-05-26 11:34:02 -0300
commitb3d40546923b194a89be0d9e00758864fa60b9e8 (patch)
tree8acac475b371d61924c67a439704c82c61968fff /actionpack/test/controller/filter_params_test.rb
parentaa5512299041efb923cd582fd26009a72b9ec670 (diff)
parent2f59066470193c6219dfd958fc5d8096a2ddee68 (diff)
downloadrails-b3d40546923b194a89be0d9e00758864fa60b9e8.tar.gz
rails-b3d40546923b194a89be0d9e00758864fa60b9e8.tar.bz2
rails-b3d40546923b194a89be0d9e00758864fa60b9e8.zip
Merge commit 'rails/master'
Diffstat (limited to 'actionpack/test/controller/filter_params_test.rb')
-rw-r--r--actionpack/test/controller/filter_params_test.rb45
1 files changed, 42 insertions, 3 deletions
diff --git a/actionpack/test/controller/filter_params_test.rb b/actionpack/test/controller/filter_params_test.rb
index 0b259a7980..8c9e4f81de 100644
--- a/actionpack/test/controller/filter_params_test.rb
+++ b/actionpack/test/controller/filter_params_test.rb
@@ -1,13 +1,30 @@
require 'abstract_unit'
class FilterParamController < ActionController::Base
+ def payment
+ head :ok
+ end
end
-class FilterParamTest < Test::Unit::TestCase
- def setup
- @controller = FilterParamController.new
+class FilterParamTest < ActionController::TestCase
+ tests FilterParamController
+
+ class MockLogger
+ attr_reader :logged
+ attr_accessor :level
+
+ def initialize
+ @level = Logger::DEBUG
+ end
+
+ def method_missing(method, *args)
+ @logged ||= []
+ @logged << args.first
+ end
end
+ setup :set_logger
+
def test_filter_parameters
assert FilterParamController.respond_to?(:filter_parameter_logging)
assert !@controller.respond_to?(:filter_parameters)
@@ -46,4 +63,26 @@ class FilterParamTest < Test::Unit::TestCase
assert !FilterParamController.action_methods.include?('filter_parameters')
assert_raise(NoMethodError) { @controller.filter_parameters([{'password' => '[FILTERED]'}]) }
end
+
+ def test_filter_parameters_inside_logs
+ FilterParamController.filter_parameter_logging(:lifo, :amount)
+
+ get :payment, :lifo => 'Pratik', :amount => '420', :step => '1'
+
+ filtered_params_logs = logs.detect {|l| l =~ /\AParameters/ }
+
+ assert filtered_params_logs.index('"amount"=>"[FILTERED]"')
+ assert filtered_params_logs.index('"lifo"=>"[FILTERED]"')
+ assert filtered_params_logs.index('"step"=>"1"')
+ end
+
+ private
+
+ def set_logger
+ @controller.logger = MockLogger.new
+ end
+
+ def logs
+ @logs ||= @controller.logger.logged.compact.map {|l| l.to_s.strip}
+ end
end