提交 8f5e7339 编写于 作者: J José Valim

Add notifications to default middleware stack and update subscriber tests.

上级 0334f9f6
......@@ -14,6 +14,7 @@ def self.default_middleware_stack
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 })
......
......@@ -66,7 +66,7 @@ def self.dispatch(args)
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
......
......@@ -18,6 +18,7 @@ def setup
"Rack::Lock",
"Rack::Runtime",
"ActionDispatch::ShowExceptions",
"ActionDispatch::Notifications",
"ActionDispatch::Callbacks",
"ActionDispatch::Cookies",
"ActionDispatch::Session::CookieStore",
......
......@@ -64,7 +64,7 @@ def wait
ActiveRecord::Base.logger = logger = MockLogger.new
# Mimic an ActiveRecord notifications
# Mimic ActiveRecord notifications
instrument "active_record.sql", :name => "SQL", :sql => "SHOW tables"
wait
......
......@@ -92,7 +92,7 @@ def test_flushes_loggers
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 @@ def test_flushes_loggers_when_action_dispatch_callback_is_received
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 @@ def test_tails_logs_when_action_dispatch_callback_is_received
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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册