forked from open-telemetry/opentelemetry-ruby
-
Notifications
You must be signed in to change notification settings - Fork 0
/
rack_env_getter_test.rb
45 lines (37 loc) · 1.11 KB
/
rack_env_getter_test.rb
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
42
43
44
45
# frozen_string_literal: true
# Copyright The OpenTelemetry Authors
#
# SPDX-License-Identifier: Apache-2.0
require 'test_helper'
describe OpenTelemetry::Common::Propagation::RackEnvGetter do
let(:getter) do
OpenTelemetry::Context::Propagation::RackEnvGetter.new
end
let(:carrier) do
{
'HTTP_TRACEPARENT' => 'tp',
'HTTP_TRACESTATE' => 'ts',
'HTTP_X_SOURCE_ID' => '123',
'rack.hijack?' => true
}
end
describe '#get' do
it 'reads key from carrier' do
_(getter.get(carrier, 'traceparent')).must_equal('tp')
_(getter.get(carrier, 'tracestate')).must_equal('ts')
_(getter.get(carrier, 'x-source-id')).must_equal('123')
_(getter.get(carrier, 'rack.hijack?')).must_equal(true)
end
it 'returns nil for non-existent key' do
_(getter.get(carrier, 'not-here')).must_be_nil
end
end
describe '#keys' do
it 'returns carrier keys' do
_(getter.keys(carrier)).must_equal(%w[traceparent tracestate x-source-id rack.hijack?])
end
it 'returns empty array for empty carrier' do
_(getter.keys({})).must_equal([])
end
end
end