Sha256: 10c63923ad9e35de595c64d96283017d7364f5fd43664e70f08fdc54f47e79ee

Contents?: true

Size: 1.46 KB

Versions: 23

Compression:

Stored size: 1.46 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/control/instrumentation'

class InstrumentationTestClass
  include NewRelic::Control::Instrumentation

  def initialize
    @instrumentation_files = []
  end
end

class NewRelic::Control::InstrumentationTest < Minitest::Test
  def setup
    @test_class = InstrumentationTestClass.new
  end

  def test_load_instrumentation_files_logs_errors_during_require
    @test_class.stubs(:require).raises('Instrumentation Test Error')
    expects_logging(:warn, includes("Error loading"), any_parameters)
    @test_class.load_instrumentation_files '*'
  end

  def test_add_instrumentation_loads_the_instrumentation_files_if_instrumented
    pattern = 'Instrumentation test pattern'
    @test_class.instance_eval { @instrumented = true }
    @test_class.expects(:load_instrumentation_files).with(pattern).once
    @test_class.add_instrumentation(pattern)
  end

  def test_add_instrumentation_adds_pattern_to_instrumentation_files_if_uninstrumented
    expected_pattern = 'Instrumentation test pattern'
    @test_class.instance_eval { @instrumented = false }
    @test_class.add_instrumentation(expected_pattern)
    result = @test_class.instance_variable_get(:@instrumentation_files)
    assert_equal [expected_pattern], result
  end
end

Version data entries

23 entries across 23 versions & 2 rubygems

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