Flowdock

Provides some helpers to deal with testing log subscribers by setting up notifications. Take for instance Active Record subscriber tests:

  class SyncLogSubscriberTest < ActiveSupport::TestCase
    include ActiveSupport::LogSubscriber::TestHelper

    def setup
      ActiveRecord::LogSubscriber.attach_to(:active_record)
    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
  end

All you need to do is to ensure that your log subscriber is added to Rails::Subscriber, as in the second line of the code above. The test helpers is reponsible for setting up the queue, subscriptions and turning colors in logs off.

The messages are available in the @logger instance, which is a logger with limited powers (it actually do not send anything to your output), and you can collect them doing @logger.logged(level), where level is the level used in logging, like info, debug, warn and so on.

Show files where this module is defined (1 file)
Register or log in to add new notes.