Sha256: abbac69c41b7e899d66a31f76945b5fd4530b14cb5da5eaab7183a565b0f1be5

Contents?: true

Size: 1.49 KB

Versions: 224

Compression:

Stored size: 1.49 KB

Contents

require 'test_helper'

require 'scout_apm/environment'

class EnvironmentTest < Minitest::Test
  def teardown
    clean_fake_rails
    clean_fake_sinatra
  end

  def test_framework_rails
    fake_rails(2)
    assert_equal :rails, ScoutApm::Environment.send(:new).framework

    clean_fake_rails
    fake_rails(3)
    assert_equal :rails3_or_4, ScoutApm::Environment.send(:new).framework

    clean_fake_rails
    fake_rails(4)
    assert_equal :rails3_or_4, ScoutApm::Environment.send(:new).framework
  end

  def test_framework_sinatra
    fake_sinatra
    assert_equal :sinatra, ScoutApm::Environment.send(:new).framework
  end

  def test_framework_ruby
    assert_equal :ruby, ScoutApm::Environment.send(:new).framework
  end

  ############################################################

  def fake_rails(version)
    Kernel.const_set("Rails", Module.new)
    Kernel.const_set("ActionController", Module.new)
    r = Kernel.const_get("Rails")
    r.const_set("VERSION", Module.new)
    v = r.const_get("VERSION")
    v.const_set("MAJOR", version)

    assert_equal version, Rails::VERSION::MAJOR
  end

  def clean_fake_rails
    Kernel.const_unset("Rails") if defined?(Kernel::Rails)
    Kernel.const_unset("ActionController") if defined?(Kernel::ActionController)
  end

  def fake_sinatra
    Kernel.const_set("Sinatra", Module.new)
    s = Kernel.const_get("Sinatra")
    s.const_set("Base", Module.new)
  end

  def clean_fake_sinatra
    Kernel.const_unset("Sinatra") if defined?(Kernel::Sinatra)
  end
end

Version data entries

224 entries across 224 versions & 1 rubygems

Version Path
scout_apm-4.0.0 test/unit/environment_test.rb
scout_apm-2.6.10 test/unit/environment_test.rb
scout_apm-2.6.9 test/unit/environment_test.rb
scout_apm-2.6.8 test/unit/environment_test.rb
scout_apm-2.6.7 test/unit/environment_test.rb
scout_apm-2.6.6 test/unit/environment_test.rb
scout_apm-2.6.5 test/unit/environment_test.rb
scout_apm-2.6.4 test/unit/environment_test.rb
scout_apm-2.6.3 test/unit/environment_test.rb
scout_apm-2.6.2 test/unit/environment_test.rb
scout_apm-2.6.1 test/unit/environment_test.rb
scout_apm-2.6.0 test/unit/environment_test.rb
scout_apm-2.5.3 test/unit/environment_test.rb
scout_apm-2.5.2 test/unit/environment_test.rb
scout_apm-2.5.1 test/unit/environment_test.rb
scout_apm-2.5.0 test/unit/environment_test.rb
scout_apm-2.4.24 test/unit/environment_test.rb
scout_apm-2.4.23 test/unit/environment_test.rb
scout_apm-2.4.22 test/unit/environment_test.rb
scout_apm-2.4.21 test/unit/environment_test.rb