File: jaeger_rack_codec_spec.rb

package info (click to toggle)
ruby-jaeger-client 1.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 624 kB
  • sloc: ruby: 3,381; makefile: 6; sh: 4
file content (41 lines) | stat: -rw-r--r-- 1,028 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
require 'spec_helper'

describe Jaeger::Injectors::JaegerRackCodec do
  let(:tracer) do
    Jaeger::Tracer.new(
      reporter: instance_spy(Jaeger::Reporters::RemoteReporter),
      sampler: Jaeger::Samplers::Const.new(true),
      injectors: Jaeger::Injectors.prepare({}),
      extractors: Jaeger::Extractors.prepare({})
    )
  end
  let(:span) { tracer.start_span('test') }

  it 'sets trace information' do
    carrier = {}
    inject(span, carrier)

    expect(carrier['uber-trace-id']).to eq(
      [
        span.context.trace_id.to_s(16),
        span.context.span_id.to_s(16),
        span.context.parent_id.to_s(16),
        span.context.flags.to_s(16)
      ].join('%3A')
    )
  end

  it 'sets baggage' do
    span.set_baggage_item('foo', 'bar')
    span.set_baggage_item('x', 'y')
    carrier = {}
    inject(span, carrier)

    expect(carrier['uberctx-foo']).to eq('bar')
    expect(carrier['uberctx-x']).to eq('y')
  end

  def inject(span, carrier)
    described_class.inject(span.context, carrier)
  end
end