Sha256: 1f11f72f7096a56fd9a9798fef1d9634e4d42f44de6e1cb51710f91706bae834

Contents?: true

Size: 1.93 KB

Versions: 5

Compression:

Stored size: 1.93 KB

Contents

require 'test_helper'

class LoggerTest < Honeybadger::UnitTest
  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,
                 :ca_file= => nil,
                 :verify_mode= => nil)
    Net::HTTP.stubs(:new).returns(@http)
  end

  def send_notice
    Honeybadger.sender.send_to_honeybadger('data')
  end

  def stub_verbose_log
    Honeybadger.stubs(:write_verbose_log)
  end

  def configure
    Honeybadger.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
    Honeybadger.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 Honeybadger:/
  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 Honeybadger:/
  end

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

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

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
honeybadger-1.3.1 test/unit/logger_test.rb
honeybadger-1.3.0 test/unit/logger_test.rb
honeybadger-1.2.1 test/unit/logger_test.rb
honeybadger-1.2.0 test/unit/logger_test.rb
honeybadger-1.1.0 test/unit/logger_test.rb