Sha256: aef4e951d3bff50de14df516928508ee0ee0e11f9fdb740fcf69b6667d4eb1f6

Contents?: true

Size: 1.16 KB

Versions: 28

Compression:

Stored size: 1.16 KB

Contents

# encoding: utf-8
# This file is distributed under New Relic's license terms.
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.

require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '..', 'test_helper'))
require 'new_relic/agent/instrumentation/middleware_tracing'

class NewRelic::Agent::Instrumentation::MiddlewareTracingTest < Minitest::Test
  class UserError < StandardError
  end

  class HostClass
    include NewRelic::Agent::Instrumentation::MiddlewareTracing

    attr_reader :category

    def initialize(&blk)
      @action = blk
    end

    def target
      self
    end

    def transaction_options
      {}
    end

    def traced_call(env)
      @action.call
    end
  end

  def test_dont_block_errors_during_malfunctioning_transaction
    NewRelic::Agent::Transaction.stubs(:start).returns(nil)

    middleware = HostClass.new { raise UserError }
    assert_raises(UserError) do
      middleware.call({})
    end
  end

  def test_dont_raise_when_transaction_start_fails
    NewRelic::Agent::Transaction.stubs(:start).returns(nil)

    middleware = HostClass.new { [200, {}, ['hi!']] }
    middleware.call({})
  end
end

Version data entries

28 entries across 28 versions & 2 rubygems

Version Path
newrelic_rpm-4.1.0.333 test/new_relic/agent/instrumentation/middleware_tracing_test.rb
newrelic_rpm-4.0.0.332 test/new_relic/agent/instrumentation/middleware_tracing_test.rb
newrelic_rpm-3.18.1.330 test/new_relic/agent/instrumentation/middleware_tracing_test.rb
newrelic_rpm-3.18.0.329 test/new_relic/agent/instrumentation/middleware_tracing_test.rb
newrelic_rpm-3.17.2.327 test/new_relic/agent/instrumentation/middleware_tracing_test.rb
newrelic_rpm-3.17.1.326 test/new_relic/agent/instrumentation/middleware_tracing_test.rb
newrelic_rpm-3.17.0.325 test/new_relic/agent/instrumentation/middleware_tracing_test.rb
newrelic_rpm-3.16.3.323 test/new_relic/agent/instrumentation/middleware_tracing_test.rb
newrelic_rpm-3.16.2.321 test/new_relic/agent/instrumentation/middleware_tracing_test.rb
newrelic_rpm-3.16.1.320 test/new_relic/agent/instrumentation/middleware_tracing_test.rb
newrelic_rpm-3.16.0.318 test/new_relic/agent/instrumentation/middleware_tracing_test.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/newrelic_rpm-3.15.2.317/test/new_relic/agent/instrumentation/middleware_tracing_test.rb
newrelic_rpm-3.15.2.317 test/new_relic/agent/instrumentation/middleware_tracing_test.rb
newrelic_rpm-3.15.1.316 test/new_relic/agent/instrumentation/middleware_tracing_test.rb
newrelic_rpm-3.15.0.314 test/new_relic/agent/instrumentation/middleware_tracing_test.rb
newrelic_rpm-3.14.3.313 test/new_relic/agent/instrumentation/middleware_tracing_test.rb
newrelic_rpm-3.14.2.312 test/new_relic/agent/instrumentation/middleware_tracing_test.rb
newrelic_rpm-3.14.1.311 test/new_relic/agent/instrumentation/middleware_tracing_test.rb
newrelic_rpm-3.14.0.305 test/new_relic/agent/instrumentation/middleware_tracing_test.rb
newrelic_rpm-3.13.2.302 test/new_relic/agent/instrumentation/middleware_tracing_test.rb