Sha256: 2b39b3c37d4ae21310f66f59dd11625887d7bb9dc0ca6f6395ae742aafdb6b21

Contents?: true

Size: 1.54 KB

Versions: 3

Compression:

Stored size: 1.54 KB

Contents

require 'sinatra'
if defined?(::Sinatra)
  require 'test_helper'
  require File.expand_path(File.dirname(__FILE__) + '/../apps/sinatra')
  require 'rack/test'

  class SinatraTest < Minitest::Test
    include Rack::Test::Methods

    def app
      InstanaSinatraApp
    end

    def test_basic_get
      clear_all!

      r = get '/'
      assert last_response.ok?


      spans = ::Instana.processor.queued_spans
      assert_equal 1, spans.count

      rack_span = spans.first
      assert_equal :rack, rack_span[:n]
      # ::Instana::Util.pry!

      assert r.headers.key?("X-Instana-T")
      assert r.headers["X-Instana-T"] == ::Instana::Util.id_to_header(rack_span[:t])
      assert r.headers.key?("X-Instana-S")
      assert r.headers["X-Instana-S"] == ::Instana::Util.id_to_header(rack_span[:s])
      assert r.headers.key?("X-Instana-L")
      assert r.headers["X-Instana-L"] == '1'
      assert r.headers.key?("Server-Timing")
      assert r.headers["Server-Timing"] == "intid;desc=#{::Instana::Util.id_to_header(rack_span[:t])}"
      
      assert rack_span.key?(:data)
      assert rack_span[:data].key?(:http)
      assert rack_span[:data][:http].key?(:method)
      assert_equal "GET", rack_span[:data][:http][:method]

      assert rack_span[:data][:http].key?(:url)
      assert_equal "/", rack_span[:data][:http][:url]

      assert rack_span[:data][:http].key?(:status)
      assert_equal 200, rack_span[:data][:http][:status]

      assert rack_span[:data][:http].key?(:host)
      assert_equal "example.org", rack_span[:data][:http][:host]
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
instana-1.11.8-java test/frameworks/sinatra_test.rb
instana-1.11.8 test/frameworks/sinatra_test.rb
instana-1.11.7 test/frameworks/sinatra_test.rb