Sha256: 4a0f7f89543f7eddbc331bc3bf2e139bc9746f3f636b904207ea954ce27cabea

Contents?: true

Size: 1.89 KB

Versions: 17

Compression:

Stored size: 1.89 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.join(File.dirname(__FILE__), 'example_app')

if NewRelic::Agent::Instrumentation::RackHelpers.rack_version_supported?

class NestedNonRackAppTest < Minitest::Test
  include MultiverseHelpers

  setup_and_teardown_agent

  include Rack::Test::Methods

  class ExampleMiddleware
    def initialize(app)
      @app = app
    end

    def call(env)
      @app.call(env)
    end
  end

  class RailsishApp
    include ::NewRelic::Agent::Instrumentation::ControllerInstrumentation

    def call(env)
      perform_action_with_newrelic_trace(:category => :controller, :name => 'inner') do
        [200, {}, ['hey']]
      end
    end
  end

  def app
    Rack::Builder.app do
      use ExampleMiddleware
      run RailsishApp.new
    end
  end

  def test_outermost_middleware_contributes_to_middleware_all_if_txn_name_is_non_rack
    get '/'

    assert_metrics_recorded_exclusive(
      [
        "Apdex",
        "ApdexAll",
        "Apdex/NestedNonRackAppTest::RailsishApp/inner",
        "Controller/NestedNonRackAppTest::RailsishApp/inner",
        "HttpDispatcher",
        "Middleware/all",
        "Middleware/Rack/NestedNonRackAppTest::ExampleMiddleware/call",
        ["Middleware/Rack/NestedNonRackAppTest::ExampleMiddleware/call", "Controller/NestedNonRackAppTest::RailsishApp/inner"],
        "Nested/Controller/NestedNonRackAppTest::RailsishApp/inner",
        ["Nested/Controller/NestedNonRackAppTest::RailsishApp/inner", "Controller/NestedNonRackAppTest::RailsishApp/inner"],
        "Nested/Controller/Rack/NestedNonRackAppTest::RailsishApp/call",
        ["Nested/Controller/Rack/NestedNonRackAppTest::RailsishApp/call", "Controller/NestedNonRackAppTest::RailsishApp/inner"]
      ],
      :ignore_filter => /^Supportability/
    )
  end
end

end

Version data entries

17 entries across 17 versions & 2 rubygems

Version Path
newrelic_rpm-4.1.0.333 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-4.0.0.332 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.18.1.330 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.18.0.329 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.17.2.327 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.17.1.326 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.17.0.325 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.16.3.323 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.16.2.321 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.16.1.320 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.16.0.318 test/multiverse/suites/rack/nested_non_rack_app_test.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/newrelic_rpm-3.15.2.317/test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.15.2.317 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.15.1.316 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.15.0.314 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.14.3.313 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.14.2.312 test/multiverse/suites/rack/nested_non_rack_app_test.rb