Sha256: 7c82bdf98e3d1a8316be7cf683fb1335e361b14a689ff25dff756c5131e9d9b5

Contents?: true

Size: 1.45 KB

Versions: 19

Compression:

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

class AgentHooksTest < Minitest::Test

  def setup
    @app = stub_everything
    @hooks = NewRelic::Rack::AgentHooks.new(@app)
    @env = {:env => "env"}
  end

  def test_before_call
    NewRelic::Agent.instance.events.expects(:notify).with(:start_transaction)
    NewRelic::Agent.instance.events.expects(:notify).with(:before_call, @env)
    NewRelic::Agent.instance.events.stubs(:notify).with(:after_call, anything, anything)
    NewRelic::Agent.instance.events.expects(:notify).with(:transaction_finished, anything)

    @hooks.call(@env)
  end

  def test_after_call
    result = [stub, {}, stub]
    @app.stubs(:call).returns(result)

    NewRelic::Agent.instance.events.expects(:notify).with(:start_transaction)
    NewRelic::Agent.instance.events.stubs(:notify).with(:before_call, anything)
    NewRelic::Agent.instance.events.expects(:notify).with(:after_call, @env, result)
    NewRelic::Agent.instance.events.expects(:notify).with(:transaction_finished, anything)

    @hooks.call(@env)
  end

  def test_nested_agent_hooks_still_fire_only_once
    nested = NewRelic::Rack::AgentHooks.new(@hooks)

    NewRelic::Agent.instance.events.expects(:notify).times(4)
    nested.call(@env)
  end

end

Version data entries

19 entries across 19 versions & 2 rubygems

Version Path
newrelic_rpm-4.1.0.333 test/new_relic/rack/agent_hooks_test.rb
newrelic_rpm-4.0.0.332 test/new_relic/rack/agent_hooks_test.rb
newrelic_rpm-3.18.1.330 test/new_relic/rack/agent_hooks_test.rb
newrelic_rpm-3.18.0.329 test/new_relic/rack/agent_hooks_test.rb
newrelic_rpm-3.17.2.327 test/new_relic/rack/agent_hooks_test.rb
newrelic_rpm-3.17.1.326 test/new_relic/rack/agent_hooks_test.rb
newrelic_rpm-3.17.0.325 test/new_relic/rack/agent_hooks_test.rb
newrelic_rpm-3.16.3.323 test/new_relic/rack/agent_hooks_test.rb
newrelic_rpm-3.16.2.321 test/new_relic/rack/agent_hooks_test.rb
newrelic_rpm-3.16.1.320 test/new_relic/rack/agent_hooks_test.rb
newrelic_rpm-3.16.0.318 test/new_relic/rack/agent_hooks_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/rack/agent_hooks_test.rb
newrelic_rpm-3.15.2.317 test/new_relic/rack/agent_hooks_test.rb
newrelic_rpm-3.15.1.316 test/new_relic/rack/agent_hooks_test.rb
newrelic_rpm-3.15.0.314 test/new_relic/rack/agent_hooks_test.rb
newrelic_rpm-3.14.3.313 test/new_relic/rack/agent_hooks_test.rb
newrelic_rpm-3.14.2.312 test/new_relic/rack/agent_hooks_test.rb
newrelic_rpm-3.14.1.311 test/new_relic/rack/agent_hooks_test.rb
newrelic_rpm-3.14.0.305 test/new_relic/rack/agent_hooks_test.rb