Sha256: ffb50abef5a31c7b15dea014c86573f8b66249acce566d9910e00e75ca80dff8

Contents?: true

Size: 1.91 KB

Versions: 11

Compression:

Stored size: 1.91 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 'multiverse_helpers'
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",
        "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\/EnvironmentReport/
    )
  end
end

end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
newrelic_rpm-3.10.0.279 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.9.9.275 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.9.8.273 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.9.7.266 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.9.6.257 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.9.5.251 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.9.4.245 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.9.3.241 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.9.2.239 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.9.1.236 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.9.0.229 test/multiverse/suites/rack/nested_non_rack_app_test.rb