Sha256: 0128ea20fde58834e540914966d42865a4ddbf44098fa44a9ca9e514b70c0e40

Contents?: true

Size: 1.9 KB

Versions: 10

Compression:

Stored size: 1.9 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\/EnvironmentReport/
    )
  end
end

end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
newrelic_rpm-3.14.1.311 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.14.0.305 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.13.2.302 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.13.1.300 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.13.0.299 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.12.1.298 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.12.0.288 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.11.2.286 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.11.1.284 test/multiverse/suites/rack/nested_non_rack_app_test.rb
newrelic_rpm-3.11.0.283 test/multiverse/suites/rack/nested_non_rack_app_test.rb