Sha256: d1d0e13ade835d3f7464ed7bc7da08b8d1eac670021c429b70ccad5b0cb987df

Contents?: true

Size: 1.48 KB

Versions: 36

Compression:

Stored size: 1.48 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/rack'

class MinimalRackApp
  def initialize(return_value)
    @return_value = return_value
  end

  def call(env)
    @return_value
  end

  include NewRelic::Agent::Instrumentation::Rack
end

class NewRelic::Agent::Instrumentation::RackTest < Minitest::Test
  def test_basic_rack_app
    # should return what we send in, even when instrumented
    x = MinimalRackApp.new([200, {}, ["whee"]])
    assert_equal [200, {}, ["whee"]], x.call({})
    assert_metrics_recorded(['Controller/Middleware/Rack/MinimalRackApp'])
  end

  def test_basic_rack_app_404
    x = MinimalRackApp.new([404, {}, ["whee"]])
    assert_equal [404, {}, ["whee"]], x.call({})
    assert_metrics_recorded(['Controller/Middleware/Rack/MinimalRackApp'])
  end

  def test_basic_rack_app_ignores_404
    NewRelic::Agent::Transaction.expects(:abort_transaction!)
    x = MinimalRackApp.new([404, {}, ["whee"]])
    assert_equal [404, {}, ["whee"]], x.call({})
    assert_metrics_recorded(['Controller/Middleware/Rack/MinimalRackApp'])
  end

  def test_does_not_double_instrument_middlewares
    x = MinimalRackApp.new([200, {}, ["whee"]])
    wrapped_x = NewRelic::Agent::Instrumentation::MiddlewareProxy.wrap(x)

    assert_same(x, wrapped_x)
  end
end

Version data entries

36 entries across 36 versions & 2 rubygems

Version Path
newrelic_rpm-3.18.1.330 test/new_relic/agent/instrumentation/rack_test.rb
newrelic_rpm-3.18.0.329 test/new_relic/agent/instrumentation/rack_test.rb
newrelic_rpm-3.17.2.327 test/new_relic/agent/instrumentation/rack_test.rb
newrelic_rpm-3.17.1.326 test/new_relic/agent/instrumentation/rack_test.rb
newrelic_rpm-3.17.0.325 test/new_relic/agent/instrumentation/rack_test.rb
newrelic_rpm-3.16.3.323 test/new_relic/agent/instrumentation/rack_test.rb
newrelic_rpm-3.16.2.321 test/new_relic/agent/instrumentation/rack_test.rb
newrelic_rpm-3.16.1.320 test/new_relic/agent/instrumentation/rack_test.rb
newrelic_rpm-3.16.0.318 test/new_relic/agent/instrumentation/rack_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/rack_test.rb
newrelic_rpm-3.15.2.317 test/new_relic/agent/instrumentation/rack_test.rb
newrelic_rpm-3.15.1.316 test/new_relic/agent/instrumentation/rack_test.rb
newrelic_rpm-3.15.0.314 test/new_relic/agent/instrumentation/rack_test.rb
newrelic_rpm-3.14.3.313 test/new_relic/agent/instrumentation/rack_test.rb
newrelic_rpm-3.14.2.312 test/new_relic/agent/instrumentation/rack_test.rb
newrelic_rpm-3.14.1.311 test/new_relic/agent/instrumentation/rack_test.rb
newrelic_rpm-3.14.0.305 test/new_relic/agent/instrumentation/rack_test.rb
newrelic_rpm-3.13.2.302 test/new_relic/agent/instrumentation/rack_test.rb
newrelic_rpm-3.13.1.300 test/new_relic/agent/instrumentation/rack_test.rb
newrelic_rpm-3.13.0.299 test/new_relic/agent/instrumentation/rack_test.rb