Sha256: 602b293607a24706381df993b77dc4a78d37b8b20ed1140295f80a79a3c2695d

Contents?: true

Size: 1.71 KB

Versions: 22

Compression:

Stored size: 1.71 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.

# Because some envs have Rails, we might not have loaded in the absence of
# initializers running, so kick-start agent to get instrumentation loaded.
NewRelic::Agent.manual_start(:sync_startup => false)

module RakeTestHelper
  def after_setup
    ENV['NEWRELIC_DISABLE_HARVEST_THREAD'] = 'false'
    ENV['NEW_RELIC_PORT'] = $collector.port.to_s
  end

  def after_teardown
    unless passed?
      puts @output
    end
  end

  def run_rake(commands = "", allow_failure = false)
    full_command = "bundle exec rake #{commands} 2>&1"
    @output = `#{full_command}`

    if !allow_failure
      assert $?.success?, "Failed during '#{full_command}'"
    end
  end

  def with_tasks_traced(*tasks)
    with_environment("NEW_RELIC_RAKE_TASKS" => tasks.join(",")) do
      yield
    end
  end

  def without_attributes(*tasks)
    with_environment("NEW_RELIC_ATTRIBUTES_EXCLUDE" => "*") do
      yield
    end
  end

  def assert_metric_names_posted(*expected_names)
    expected_names.each do |expected_name|
      assert_includes all_metric_names_posted, expected_name
    end
  end

  def refute_metric_names_posted(*expected_names)
    expected_names.each do |expected_name|
      refute_includes all_metric_names_posted, expected_name
    end
  end

  def refute_any_rake_metrics
    all_metric_names_posted.each do |metric_name|
      refute_match /^OtherTransaction.*/, metric_name
      refute_match /^Rake.*/, metric_name
    end
  end

  def all_metric_names_posted
    $collector.calls_for("metric_data").map do |metric_post|
      metric_post.metric_names
    end.flatten
  end
end

Version data entries

22 entries across 22 versions & 2 rubygems

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