From c82e8e1f483ece1fbd2e9f73715fd211487620fc Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Fri, 7 Nov 2008 15:42:34 -0500 Subject: Move controller assertions from base TestCase to AC:: and AV::TestCase --- actionpack/test/controller/request_test.rb | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'actionpack/test/controller/request_test.rb') diff --git a/actionpack/test/controller/request_test.rb b/actionpack/test/controller/request_test.rb index e79a0ea76b..2dc2ed9965 100644 --- a/actionpack/test/controller/request_test.rb +++ b/actionpack/test/controller/request_test.rb @@ -1,7 +1,7 @@ require 'abstract_unit' require 'action_controller/integration' -class RequestTest < Test::Unit::TestCase +class RequestTest < ActiveSupport::TestCase def setup ActionController::Base.relative_url_root = nil @request = ActionController::TestRequest.new @@ -400,7 +400,7 @@ class RequestTest < Test::Unit::TestCase end end -class UrlEncodedRequestParameterParsingTest < Test::Unit::TestCase +class UrlEncodedRequestParameterParsingTest < ActiveSupport::TestCase def setup @query_string = "action=create_customer&full_name=David%20Heinemeier%20Hansson&customerId=1" @query_string_with_empty = "action=create_customer&full_name=" @@ -704,20 +704,20 @@ class UrlEncodedRequestParameterParsingTest < Test::Unit::TestCase end end -class MultipartRequestParameterParsingTest < Test::Unit::TestCase +class MultipartRequestParameterParsingTest < ActiveSupport::TestCase FIXTURE_PATH = File.dirname(__FILE__) + '/../fixtures/multipart' def test_single_parameter - params = process('single_parameter') + params = parse_multipart('single_parameter') assert_equal({ 'foo' => 'bar' }, params) end def test_bracketed_param - assert_equal({ 'foo' => { 'baz' => 'bar'}}, process('bracketed_param')) + assert_equal({ 'foo' => { 'baz' => 'bar'}}, parse_multipart('bracketed_param')) end def test_text_file - params = process('text_file') + params = parse_multipart('text_file') assert_equal %w(file foo), params.keys.sort assert_equal 'bar', params['foo'] @@ -729,7 +729,7 @@ class MultipartRequestParameterParsingTest < Test::Unit::TestCase end def test_boundary_problem_file - params = process('boundary_problem_file') + params = parse_multipart('boundary_problem_file') assert_equal %w(file foo), params.keys.sort file = params['file'] @@ -748,7 +748,7 @@ class MultipartRequestParameterParsingTest < Test::Unit::TestCase end def test_large_text_file - params = process('large_text_file') + params = parse_multipart('large_text_file') assert_equal %w(file foo), params.keys.sort assert_equal 'bar', params['foo'] @@ -774,7 +774,7 @@ class MultipartRequestParameterParsingTest < Test::Unit::TestCase end def test_binary_file - params = process('binary_file') + params = parse_multipart('binary_file') assert_equal %w(file flowers foo), params.keys.sort assert_equal 'bar', params['foo'] @@ -793,7 +793,7 @@ class MultipartRequestParameterParsingTest < Test::Unit::TestCase end def test_mixed_files - params = process('mixed_files') + params = parse_multipart('mixed_files') assert_equal %w(files foo), params.keys.sort assert_equal 'bar', params['foo'] @@ -805,7 +805,7 @@ class MultipartRequestParameterParsingTest < Test::Unit::TestCase end private - def process(name) + def parse_multipart(name) File.open(File.join(FIXTURE_PATH, name), 'rb') do |file| params = ActionController::AbstractRequest.parse_multipart_form_parameters(file, 'AaB03x', file.stat.size, {}) assert_equal 0, file.pos # file was rewound after reading @@ -814,7 +814,7 @@ class MultipartRequestParameterParsingTest < Test::Unit::TestCase end end -class XmlParamsParsingTest < Test::Unit::TestCase +class XmlParamsParsingTest < ActiveSupport::TestCase def test_hash_params person = parse_body("David")[:person] assert_kind_of Hash, person @@ -868,7 +868,7 @@ class LegacyXmlParamsParsingTest < XmlParamsParsingTest end end -class JsonParamsParsingTest < Test::Unit::TestCase +class JsonParamsParsingTest < ActiveSupport::TestCase def test_hash_params_for_application_json person = parse_body({:person => {:name => "David"}}.to_json,'application/json')[:person] assert_kind_of Hash, person -- cgit v1.2.3 From eda9f49d5781a5f9a5090492a76436598faf3948 Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Sat, 8 Nov 2008 22:43:29 -0500 Subject: Ruby 1.9 compat: CGI switched back to Tempfile --- actionpack/test/controller/request_test.rb | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'actionpack/test/controller/request_test.rb') diff --git a/actionpack/test/controller/request_test.rb b/actionpack/test/controller/request_test.rb index 2dc2ed9965..7e264289e6 100644 --- a/actionpack/test/controller/request_test.rb +++ b/actionpack/test/controller/request_test.rb @@ -735,11 +735,7 @@ class MultipartRequestParameterParsingTest < ActiveSupport::TestCase file = params['file'] foo = params['foo'] - if RUBY_VERSION > '1.9' - assert_kind_of File, file - else - assert_kind_of Tempfile, file - end + assert_kind_of Tempfile, file assert_equal 'file.txt', file.original_filename assert_equal "text/plain", file.content_type @@ -753,11 +749,9 @@ class MultipartRequestParameterParsingTest < ActiveSupport::TestCase assert_equal 'bar', params['foo'] file = params['file'] - if RUBY_VERSION > '1.9' - assert_kind_of File, file - else - assert_kind_of Tempfile, file - end + + assert_kind_of Tempfile, file + assert_equal 'file.txt', file.original_filename assert_equal "text/plain", file.content_type assert ('a' * 20480) == file.read -- cgit v1.2.3 From 31ce92f7b5784bc5b6a441e88cd734c7b8b1c58f Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Sun, 23 Nov 2008 16:35:13 -0600 Subject: Use autoload instead of explicit requires for ActionController --- actionpack/test/controller/request_test.rb | 1 - 1 file changed, 1 deletion(-) (limited to 'actionpack/test/controller/request_test.rb') diff --git a/actionpack/test/controller/request_test.rb b/actionpack/test/controller/request_test.rb index 7e264289e6..316a203e97 100644 --- a/actionpack/test/controller/request_test.rb +++ b/actionpack/test/controller/request_test.rb @@ -1,5 +1,4 @@ require 'abstract_unit' -require 'action_controller/integration' class RequestTest < ActiveSupport::TestCase def setup -- cgit v1.2.3 From 0a4a5f3129a137fc357e8444a08b135f0ad4fbe8 Mon Sep 17 00:00:00 2001 From: Darren Boyd Date: Sat, 22 Nov 2008 10:04:30 -0800 Subject: Making the IP Spoofing check in AbstractRequest#remote_ip configurable. Certain groups of web proxies do not set these values properly. Notably, proxies for cell phones, which often do not set the remote IP information correctly (not surprisingly, since the clients do not have an IP address). Allowing this to be configurable makes it possible for developers to choose to ignore this simple spoofing check, when a significant amount of their traffic would result in false positives anyway. Signed-off-by: Michael Koziarski [#1200 state:committed] --- actionpack/test/controller/request_test.rb | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'actionpack/test/controller/request_test.rb') diff --git a/actionpack/test/controller/request_test.rb b/actionpack/test/controller/request_test.rb index 316a203e97..ba4a6da39b 100644 --- a/actionpack/test/controller/request_test.rb +++ b/actionpack/test/controller/request_test.rb @@ -66,6 +66,15 @@ class RequestTest < ActiveSupport::TestCase assert_match /HTTP_X_FORWARDED_FOR="9.9.9.9, 3.4.5.6, 10.0.0.1, 172.31.4.4"/, e.message assert_match /HTTP_CLIENT_IP="8.8.8.8"/, e.message + # turn IP Spoofing detection off. + # This is useful for sites that are aimed at non-IP clients. The typical + # example is WAP. Since the cellular network is not IP based, it's a + # leap of faith to assume that their proxies are ever going to set the + # HTTP_CLIENT_IP/HTTP_X_FORWARDED_FOR headers properly. + ActionController::Base.ip_spoofing_check = false + assert_equal('8.8.8.8', @request.remote_ip(true)) + ActionController::Base.ip_spoofing_check = true + @request.env['HTTP_X_FORWARDED_FOR'] = '8.8.8.8, 9.9.9.9' assert_equal '8.8.8.8', @request.remote_ip(true) -- cgit v1.2.3