Sha256: ba6d23a68d51c9b6918e37732df274bae626b466428471e1a78f8d09e42b0a91

Contents?: true

Size: 1.86 KB

Versions: 7

Compression:

Stored size: 1.86 KB

Contents

require File.dirname(__FILE__) + '/helper'

class LoggerTest < Test::Unit::TestCase
  def stub_http(response, body = nil)
    response.stubs(:body => body) if body
    @http = stub(:post => response,
                 :read_timeout= => nil,
                 :open_timeout= => nil,
                 :use_ssl= => nil)
    Net::HTTP.stubs(:new).returns(@http)
  end

  def send_notice
    Airbrake.sender.send_to_airbrake('data')
  end

  def stub_verbose_log
    Airbrake.stubs(:write_verbose_log)
  end

  def configure
    Airbrake.configure { |config| }
  end

  should "report that notifier is ready when configured" do
    stub_verbose_log
    configure
    assert_logged /Notifier (.*) ready/
  end

  should "not report that notifier is ready when internally configured" do
    stub_verbose_log
    Airbrake.configure(true) { |config| }
    assert_not_logged /.*/
  end

  should "print environment info a successful notification without a body" do
    reset_config
    stub_verbose_log
    stub_http(Net::HTTPSuccess)
    send_notice
    assert_logged /Environment Info:/
    assert_not_logged /Response from Airbrake:/
  end

  should "print environment info on a failed notification without a body" do
    reset_config
    stub_verbose_log
    stub_http(Net::HTTPError)
    send_notice
    assert_logged /Environment Info:/
    assert_not_logged /Response from Airbrake:/
  end

  should "print environment info and response on a success with a body" do
    reset_config
    stub_verbose_log
    stub_http(Net::HTTPSuccess, 'test')
    send_notice
    assert_logged /Environment Info:/
    assert_logged /Response from Airbrake:/
  end

  should "print environment info and response on a failure with a body" do
    reset_config
    stub_verbose_log
    stub_http(Net::HTTPError, 'test')
    send_notice
    assert_logged /Environment Info:/
    assert_logged /Response from Airbrake:/
  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
airbrake-3.1.2 test/logger_test.rb
airbrake-3.1.1 test/logger_test.rb
airbrake-3.1.0 test/logger_test.rb
airbrake-3.0.9 test/logger_test.rb
airbrake-3.0.8 test/logger_test.rb
airbrake-3.0.7 test/logger_test.rb
airbrake-3.0.6 test/logger_test.rb