Add notifications to default middleware stack and update subscriber tests.

This commit is contained in:
José Valim 2010-01-17 11:29:41 +01:00
parent 0334f9f6cf
commit 8f5e733998
5 changed files with 7 additions and 5 deletions

View File

@ -14,6 +14,7 @@ module Rails
middleware.use('::Rack::Lock', :if => lambda { !ActionController::Base.allow_concurrency })
middleware.use('::Rack::Runtime')
middleware.use('ActionDispatch::ShowExceptions', lambda { ActionController::Base.consider_all_requests_local })
middleware.use('ActionDispatch::Notifications')
middleware.use('ActionDispatch::Callbacks', lambda { ActionController::Dispatcher.prepare_each_request })
middleware.use('ActionDispatch::Cookies')
middleware.use(lambda { ActionController::Base.session_store }, lambda { ActionController::Base.session_options })

View File

@ -66,7 +66,7 @@ module Rails
subscriber.send(name, ActiveSupport::Notifications::Event.new(*args))
end
if args[0] == "action_dispatch.callback" && !subscribers.empty?
if args[0] == "action_dispatch.after_dispatch" && !subscribers.empty?
flush_all!
log_tailer.tail! if log_tailer
end

View File

@ -18,6 +18,7 @@ module ApplicationTests
"Rack::Lock",
"Rack::Runtime",
"ActionDispatch::ShowExceptions",
"ActionDispatch::Notifications",
"ActionDispatch::Callbacks",
"ActionDispatch::Cookies",
"ActionDispatch::Session::CookieStore",

View File

@ -64,7 +64,7 @@ module ApplicationTests
ActiveRecord::Base.logger = logger = MockLogger.new
# Mimic an ActiveRecord notifications
# Mimic ActiveRecord notifications
instrument "active_record.sql", :name => "SQL", :sql => "SHOW tables"
wait

View File

@ -92,7 +92,7 @@ module SubscriberTest
def test_flushes_loggers_when_action_dispatch_callback_is_received
Rails::Subscriber.add :my_subscriber, @subscriber
instrument "action_dispatch.callback"
instrument "action_dispatch.after_dispatch"
wait
assert_equal 1, @logger.flush_count
end
@ -100,7 +100,7 @@ module SubscriberTest
def test_flushes_the_same_logger_just_once
Rails::Subscriber.add :my_subscriber, @subscriber
Rails::Subscriber.add :another, @subscriber
instrument "action_dispatch.callback"
instrument "action_dispatch.after_dispatch"
wait
assert_equal 1, @logger.flush_count
end
@ -111,7 +111,7 @@ module SubscriberTest
Rails::Subscriber.log_tailer = log_tailer
Rails::Subscriber.add :my_subscriber, @subscriber
instrument "action_dispatch.callback"
instrument "action_dispatch.after_dispatch"
wait
ensure
Rails::Subscriber.log_tailer = nil