Sha256: 0a381ffc0e66997d8a4752ea39983e85a82d5aa5d12033514d09f191d2a240ba

Contents?: true

Size: 1.22 KB

Versions: 27

Compression:

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

class SinatraRouteTestApp < Sinatra::Base
  configure do
    # create a condition (sintra's version of a before_filter) that returns the
    # value that was passed into it.
    set :my_condition do |boolean|
      condition do
        halt 404 unless boolean
      end
    end
  end

  get '/user/login' do
    "please log in"
  end

  # this action will always return 404 because of the condition.
  get '/user/:id', :my_condition => false do |id|
    "Welcome #{id}"
  end
end

class SinatraRoutesTest < Minitest::Test
  include Rack::Test::Methods
  include ::NewRelic::Agent::Instrumentation::Sinatra

  include MultiverseHelpers

  setup_and_teardown_agent

  def app
    SinatraRouteTestApp
  end

  # https://support.newrelic.com/tickets/24779
  def test_lower_priority_route_conditions_arent_applied_to_higher_priority_routes
    get '/user/login'
    assert_equal 200, last_response.status
    assert_equal 'please log in', last_response.body
  end

  def test_conditions_are_applied_to_an_action_that_uses_them
    get '/user/1'
    assert_equal 404, last_response.status
  end
end

Version data entries

27 entries across 27 versions & 2 rubygems

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