Sha256: 2ae52299f8d5090b53ba856e7c8df13a4bf1cda2920f040d97141b088f5b8222

Contents?: true

Size: 1.41 KB

Versions: 17

Compression:

Stored size: 1.41 KB

Contents

require "spec_helper"

if defined?(::ActiveRecord)
  describe Timber::Integrations::ActiveRecord::LogSubscriber do
    let(:time) { Time.utc(2016, 9, 1, 12, 0, 0) }
    let(:io) { StringIO.new }
    let(:logger) do
      logger = Timber::Logger.new(io)
      logger.level = ::Logger::INFO
      logger
    end

    describe "#insert!" do
      around(:each) do |example|
        with_rails_logger(logger) do
          Timecop.freeze(time) { example.run }
        end
      end

      it "should not log if the level is not sufficient" do
        ActiveRecord::Base.connection.execute("select * from users")
        expect(io.string).to eq("")
      end

      context "with an info level" do
        around(:each) do |example|
          old_level = logger.level
          logger.level = ::Logger::DEBUG
          example.run
          logger.level = old_level
        end

        it "should log the sql query" do
          ActiveRecord::Base.connection.execute("select * from users")
          # Rails 4.X adds random spaces :/
          string = io.string.gsub("   ORDER BY", " ORDER BY")
          string = string.gsub("  ORDER BY", " ORDER BY")
          expect(string).to include("select * from users")
          expect(string).to include("@metadata")
          expect(string).to include("\"level\":\"debug\"")
          expect(string).to include("\"event\":{\"server_side_app\":{\"sql_query\"")
        end
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
timber-2.0.17 spec/timber/integrations/active_record/log_subscriber_spec.rb
timber-2.0.16 spec/timber/integrations/active_record/log_subscriber_spec.rb
timber-2.0.15 spec/timber/integrations/active_record/log_subscriber_spec.rb
timber-2.0.14 spec/timber/integrations/active_record/log_subscriber_spec.rb
timber-2.0.12 spec/timber/integrations/active_record/log_subscriber_spec.rb
timber-2.0.11 spec/timber/integrations/active_record/log_subscriber_spec.rb
timber-2.0.10 spec/timber/integrations/active_record/log_subscriber_spec.rb
timber-2.0.9 spec/timber/integrations/active_record/log_subscriber_spec.rb
timber-2.0.8 spec/timber/integrations/active_record/log_subscriber_spec.rb
timber-2.0.7 spec/timber/integrations/active_record/log_subscriber_spec.rb
timber-2.0.6 spec/timber/integrations/active_record/log_subscriber_spec.rb
timber-2.0.5 spec/timber/integrations/active_record/log_subscriber_spec.rb
timber-2.0.4 spec/timber/integrations/active_record/log_subscriber_spec.rb
timber-2.0.3 spec/timber/integrations/active_record/log_subscriber_spec.rb
timber-2.0.2 spec/timber/integrations/active_record/log_subscriber_spec.rb
timber-2.0.1 spec/timber/integrations/active_record/log_subscriber_spec.rb
timber-2.0.0 spec/timber/integrations/active_record/log_subscriber_spec.rb