Sha256: 8e0c7cd3664c495f47bb0439c40f8663a5debad7e44091eeb456a0ee354b5531

Contents?: true

Size: 1.61 KB

Versions: 13

Compression:

Stored size: 1.61 KB

Contents

require 'spec_helper'

describe HomeController do
  let(:logger_mock) { double("Rails.logger").as_null_object }

  before(:each) do
    reset_configuration
    Rollbar.configure do |config|
      config.access_token = 'aaaabbbbccccddddeeeeffff00001111'
      config.environment = ::Rails.env
      config.root = ::Rails.root
      config.framework = "Rails: #{::Rails::VERSION::STRING}"
      config.logger = logger_mock
    end
  end

  context "with broken request" do
    it "should report uncaught exceptions" do
      expect{ get 'current_user', nil, :cookie => '8%B' }.to raise_exception

      exception_info = Rollbar.last_report[:body][:trace][:exception]
      exception_info[:class].should == 'ArgumentError'
      exception_info[:message].should == 'invalid %-encoding (8%B)'
    end
  end

  context "with error hiding deep inside" do
    let!(:cookie_method_name){ :[] }
    let!(:original_cookie_method){ ActionDispatch::Cookies::CookieJar.instance_method(cookie_method_name) }
    let!(:broken_cookie_method){ Proc.new{ |name| "1" - 1 } }

    before(:each) do
      ActionDispatch::Cookies::CookieJar.send(:define_method, cookie_method_name, broken_cookie_method)
    end

    after(:each) do
      ActionDispatch::Cookies::CookieJar.send(:define_method, cookie_method_name, original_cookie_method)
    end

    it "should report uncaught exceptions" do
      expect{ get 'current_user' }.to raise_exception

      exception_info = Rollbar.last_report[:body][:trace][:exception]
      exception_info[:class].should == 'NoMethodError'
      # exception_info[:message].should == 'undefined method `-\' for "1":String'
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
rollbar-0.9.9 spec/requests/home_spec.rb
rollbar-0.9.8 spec/requests/home_spec.rb
rollbar-0.9.7 spec/requests/home_spec.rb
rollbar-0.9.6 spec/requests/home_spec.rb
rollbar-0.9.4 spec/requests/home_spec.rb
rollbar-0.9.3 spec/requests/home_spec.rb
rollbar-0.9.2 spec/requests/home_spec.rb
rollbar-0.9.1 spec/requests/home_spec.rb
rollbar-0.9.0 spec/requests/home_spec.rb
rollbar-0.8.3 spec/requests/home_spec.rb
rollbar-0.8.2 spec/requests/home_spec.rb
rollbar-0.8.1 spec/requests/home_spec.rb
rollbar-0.8.0 spec/requests/home_spec.rb