Sha256: f58ac91cae1aa208245e616c2adbac7bf17b86a03cae654a37e8534dc1e0ab3f

Contents?: true

Size: 1.51 KB

Versions: 4

Compression:

Stored size: 1.51 KB

Contents

Feature: Use the notifier in a plain Rack app

  Background:
    Given I have built and installed the "airbrake" gem

  Scenario: Rescue and exception in a Rack app
    Given the following Rack app:
      """
      require 'logger'
      require 'rack'
      require 'airbrake'

      Airbrake.configure do |config|
        config.api_key = 'my_api_key'
        config.logger = Logger.new STDOUT
      end

      app = Rack::Builder.app do
        use Airbrake::Rack
        run lambda { |env| raise "Rack down" }
      end
      """
    When I perform a Rack request to "http://example.com:123/test/index?param=value"
    Then I should receive a Airbrake notification

  Scenario: Ignore user agents
    Given the following Rack app:
      """
      require 'logger'
      require 'rack'
      require 'airbrake'

      Airbrake.configure do |config|
        config.api_key = 'my_api_key'
        config.ignore_user_agent << /ignore/
        config.logger = Logger.new STDOUT
      end

      class Mock
        class AppendUserAgent
          def initialize(app)
            @app = app
          end

          def call(env)
            env["HTTP_USER_AGENT"] = "ignore"
            @app.call(env)
          end
        end
      end

      app = Rack::Builder.app do
        use Airbrake::Rack
        use Mock::AppendUserAgent
        run lambda { |env| raise "Rack down" }
      end
      """
    When I perform a Rack request to "http://example.com:123/test/index?param=value"
    Then I should not see "** [Airbrake] Response from Airbrake:"

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
airbrake-3.1.6 features/rack.feature
airbrake-3.1.5 features/rack.feature
airbrake-3.1.4 features/rack.feature
airbrake-3.1.3 features/rack.feature