diff options
Diffstat (limited to 'railties/test/fcgi_dispatcher_test.rb')
-rw-r--r-- | railties/test/fcgi_dispatcher_test.rb | 69 |
1 files changed, 34 insertions, 35 deletions
diff --git a/railties/test/fcgi_dispatcher_test.rb b/railties/test/fcgi_dispatcher_test.rb index c469c5dd01..c7a7f77118 100644 --- a/railties/test/fcgi_dispatcher_test.rb +++ b/railties/test/fcgi_dispatcher_test.rb @@ -1,9 +1,12 @@ require 'abstract_unit' -begin +uses_gem "fcgi", "0.8.7" do + require 'action_controller' require 'fcgi_handler' +Dispatcher.middleware.clear + class RailsFCGIHandlerTest < Test::Unit::TestCase def setup @log = StringIO.new @@ -11,14 +14,14 @@ class RailsFCGIHandlerTest < Test::Unit::TestCase end def test_process_restart - cgi = mock - FCGI.stubs(:each_cgi).yields(cgi) + request = mock + FCGI.stubs(:each).yields(request) @handler.expects(:process_request).once @handler.expects(:dispatcher_error).never @handler.expects(:when_ready).returns(:restart) - @handler.expects(:close_connection).with(cgi) + @handler.expects(:close_connection).with(request) @handler.expects(:reload!).never @handler.expects(:restart!) @@ -26,14 +29,14 @@ class RailsFCGIHandlerTest < Test::Unit::TestCase end def test_process_exit - cgi = mock - FCGI.stubs(:each_cgi).yields(cgi) + request = mock + FCGI.stubs(:each).yields(request) @handler.expects(:process_request).once @handler.expects(:dispatcher_error).never @handler.expects(:when_ready).returns(:exit) - @handler.expects(:close_connection).with(cgi) + @handler.expects(:close_connection).with(request) @handler.expects(:reload!).never @handler.expects(:restart!).never @@ -41,8 +44,8 @@ class RailsFCGIHandlerTest < Test::Unit::TestCase end def test_process_with_system_exit_exception - cgi = mock - FCGI.stubs(:each_cgi).yields(cgi) + request = mock + FCGI.stubs(:each).yields(request) @handler.expects(:process_request).once.raises(SystemExit) @handler.stubs(:dispatcher_log) @@ -110,9 +113,9 @@ class RailsFCGIHandlerTest < Test::Unit::TestCase end def test_uninterrupted_processing - cgi = mock - FCGI.expects(:each_cgi).yields(cgi) - @handler.expects(:process_request).with(cgi) + request = mock + FCGI.expects(:each).yields(request) + @handler.expects(:process_request).with(request) @handler.process! @@ -138,8 +141,8 @@ class RailsFCGIHandlerSignalsTest < Test::Unit::TestCase end def test_interrupted_via_HUP_when_not_in_request - cgi = mock - FCGI.expects(:each_cgi).once.yields(cgi) + request = mock + FCGI.expects(:each).once.yields(request) @handler.expects(:signal).times(2).returns('HUP') @handler.expects(:reload!).once @@ -151,13 +154,13 @@ class RailsFCGIHandlerSignalsTest < Test::Unit::TestCase end def test_interrupted_via_USR1_when_not_in_request - cgi = mock - FCGI.expects(:each_cgi).once.yields(cgi) + request = mock + FCGI.expects(:each).once.yields(request) @handler.expects(:signal).times(2).returns('USR1') @handler.expects(:exit_handler).never @handler.expects(:reload!).never - @handler.expects(:close_connection).with(cgi).once + @handler.expects(:close_connection).with(request).once @handler.expects(:exit).never @handler.process! @@ -165,13 +168,13 @@ class RailsFCGIHandlerSignalsTest < Test::Unit::TestCase end def test_restart_via_USR2_when_in_request - cgi = mock - FCGI.expects(:each_cgi).once.yields(cgi) + request = mock + FCGI.expects(:each).once.yields(request) @handler.expects(:signal).times(2).returns('USR2') @handler.expects(:exit_handler).never @handler.expects(:reload!).never - @handler.expects(:close_connection).with(cgi).once + @handler.expects(:close_connection).with(request).once @handler.expects(:exit).never @handler.expects(:restart!).once @@ -180,8 +183,8 @@ class RailsFCGIHandlerSignalsTest < Test::Unit::TestCase end def test_interrupted_via_TERM - cgi = mock - FCGI.expects(:each_cgi).once.yields(cgi) + request = mock + FCGI.expects(:each).once.yields(request) ::Rack::Handler::FastCGI.expects(:serve).once.returns('TERM') @handler.expects(:reload!).never @@ -193,16 +196,16 @@ class RailsFCGIHandlerSignalsTest < Test::Unit::TestCase def test_runtime_exception_in_fcgi error = RuntimeError.new('foo') - FCGI.expects(:each_cgi).times(2).raises(error) + FCGI.expects(:each).times(2).raises(error) @handler.expects(:dispatcher_error).with(error, regexp_matches(/^retrying/)) @handler.expects(:dispatcher_error).with(error, regexp_matches(/^stopping/)) @handler.process! end def test_runtime_error_in_dispatcher - cgi = mock + request = mock error = RuntimeError.new('foo') - FCGI.expects(:each_cgi).once.yields(cgi) + FCGI.expects(:each).once.yields(request) ::Rack::Handler::FastCGI.expects(:serve).once.raises(error) @handler.expects(:dispatcher_error).with(error, regexp_matches(/^unhandled/)) @handler.process! @@ -210,15 +213,15 @@ class RailsFCGIHandlerSignalsTest < Test::Unit::TestCase def test_signal_exception_in_fcgi error = SignalException.new('USR2') - FCGI.expects(:each_cgi).once.raises(error) + FCGI.expects(:each).once.raises(error) @handler.expects(:dispatcher_error).with(error, regexp_matches(/^stopping/)) @handler.process! end def test_signal_exception_in_dispatcher - cgi = mock + request = mock error = SignalException.new('USR2') - FCGI.expects(:each_cgi).once.yields(cgi) + FCGI.expects(:each).once.yields(request) ::Rack::Handler::FastCGI.expects(:serve).once.raises(error) @handler.expects(:dispatcher_error).with(error, regexp_matches(/^stopping/)) @handler.process! @@ -247,9 +250,8 @@ class RailsFCGIHandlerPeriodicGCTest < Test::Unit::TestCase @handler = RailsFCGIHandler.new(@log, 10) assert_equal 10, @handler.gc_request_period - cgi = mock - FCGI.expects(:each_cgi).times(10).yields(cgi) - Dispatcher.expects(:new).times(10) + request = mock + FCGI.expects(:each).times(10).yields(request) @handler.expects(:run_gc!).never 9.times { @handler.process! } @@ -259,7 +261,4 @@ class RailsFCGIHandlerPeriodicGCTest < Test::Unit::TestCase assert_nil @handler.when_ready end end - -rescue LoadError => e - raise unless e.message =~ /fcgi/ -end +end # uses_gem "fcgi" |