1// Copyright (c) 2017 Uber Technologies, Inc.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package jaeger
16
17import (
18	"testing"
19
20	"github.com/stretchr/testify/assert"
21)
22
23func TestSetDefaultOrCustom(t *testing.T) {
24	assert.Equal(t, (&HeadersConfig{}).ApplyDefaults(), getDefaultHeadersConfig())
25	assert.Equal(t, (&HeadersConfig{
26		JaegerDebugHeader: "custom-jaeger-debug-header",
27	}).ApplyDefaults(), &HeadersConfig{
28		JaegerDebugHeader:        "custom-jaeger-debug-header",
29		JaegerBaggageHeader:      JaegerBaggageHeader,
30		TraceContextHeaderName:   TraceContextHeaderName,
31		TraceBaggageHeaderPrefix: TraceBaggageHeaderPrefix,
32	})
33
34	customHeaders := &HeadersConfig{
35		JaegerDebugHeader:        "custom-jaeger-debug-header",
36		JaegerBaggageHeader:      "custom-jaeger-baggage-header",
37		TraceContextHeaderName:   "custom-tracer-state-header-name",
38		TraceBaggageHeaderPrefix: "custom-tracer-baggage-header-prefix",
39	}
40	assert.Equal(t, customHeaders.ApplyDefaults(), customHeaders)
41}
42
43func TestGetDefaultHeadersConfig(t *testing.T) {
44	assert.Equal(t, getDefaultHeadersConfig(), &HeadersConfig{
45		JaegerDebugHeader:        JaegerDebugHeader,
46		JaegerBaggageHeader:      JaegerBaggageHeader,
47		TraceContextHeaderName:   TraceContextHeaderName,
48		TraceBaggageHeaderPrefix: TraceBaggageHeaderPrefix,
49	})
50}
51