aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/subscriber_test.rb
diff options
context:
space:
mode:
authorPratik Naik <pratiknaik@gmail.com>2010-01-17 03:20:30 +0530
committerPratik Naik <pratiknaik@gmail.com>2010-01-17 03:20:30 +0530
commitb04230e3bbf912d60601e9e7b797c4cd43581d51 (patch)
tree97a2f784a2ec2bfae4f960af56a9280dad6f7774 /activerecord/test/cases/subscriber_test.rb
parent867829b187969607aa12f2b0457f25da9c204db0 (diff)
parent6e3bee6cf1f0d2684152292db0a8b757249824fd (diff)
downloadrails-b04230e3bbf912d60601e9e7b797c4cd43581d51.tar.gz
rails-b04230e3bbf912d60601e9e7b797c4cd43581d51.tar.bz2
rails-b04230e3bbf912d60601e9e7b797c4cd43581d51.zip
Merge remote branch 'mainstream/master'
Conflicts: actionpack/lib/action_controller/metal/flash.rb
Diffstat (limited to 'activerecord/test/cases/subscriber_test.rb')
-rw-r--r--activerecord/test/cases/subscriber_test.rb51
1 files changed, 51 insertions, 0 deletions
diff --git a/activerecord/test/cases/subscriber_test.rb b/activerecord/test/cases/subscriber_test.rb
new file mode 100644
index 0000000000..ce91d9385d
--- /dev/null
+++ b/activerecord/test/cases/subscriber_test.rb
@@ -0,0 +1,51 @@
+require "cases/helper"
+require "models/developer"
+require "rails/subscriber/test_helper"
+require "active_record/railties/subscriber"
+
+module SubscriberTest
+ Rails::Subscriber.add(:active_record, ActiveRecord::Railties::Subscriber.new)
+
+ def setup
+ @old_logger = ActiveRecord::Base.logger
+ super
+ end
+
+ def teardown
+ super
+ ActiveRecord::Base.logger = @old_logger
+ end
+
+ def set_logger(logger)
+ ActiveRecord::Base.logger = logger
+ end
+
+ def test_basic_query_logging
+ Developer.all
+ wait
+ assert_equal 1, @logger.logged(:debug).size
+ assert_match /Developer Load/, @logger.logged(:debug).last
+ assert_match /SELECT .*?FROM .?developers.?/, @logger.logged(:debug).last
+ end
+
+ def test_cached_queries
+ ActiveRecord::Base.cache do
+ Developer.all
+ Developer.all
+ end
+ wait
+ assert_equal 2, @logger.logged(:debug).size
+ assert_match /CACHE/, @logger.logged(:debug).last
+ assert_match /SELECT .*?FROM .?developers.?/, @logger.logged(:debug).last
+ end
+
+ class SyncSubscriberTest < ActiveSupport::TestCase
+ include Rails::Subscriber::SyncTestHelper
+ include SubscriberTest
+ end
+
+ class AsyncSubscriberTest < ActiveSupport::TestCase
+ include Rails::Subscriber::AsyncTestHelper
+ include SubscriberTest
+ end
+end \ No newline at end of file