...
1 package grpc_opentracing
2
3 import (
4 "fmt"
5 grpc_ctxtags "github.com/grpc-ecosystem/go-grpc-middleware/tags"
6 "github.com/stretchr/testify/assert"
7 "testing"
8 )
9
10 func TestTagsCarrier_Set_JaegerTraceFormat(t *testing.T) {
11 var (
12 fakeTraceSampled = 1
13 fakeInboundTraceId = "deadbeef"
14 fakeInboundSpanId = "c0decafe"
15 traceHeaderName = "uber-trace-id"
16 )
17
18 traceHeaderValue := fmt.Sprintf("%s:%s:%s:%d", fakeInboundTraceId, fakeInboundSpanId, fakeInboundSpanId, fakeTraceSampled)
19
20 c := &tagsCarrier{
21 Tags: grpc_ctxtags.NewTags(),
22 traceHeaderName: traceHeaderName,
23 }
24
25 c.Set(traceHeaderName, traceHeaderValue)
26
27 assert.EqualValues(t, map[string]interface{}{
28 TagTraceId: fakeInboundTraceId,
29 TagSpanId: fakeInboundSpanId,
30 TagSampled: "true",
31 }, c.Tags.Values())
32 }
33
View as plain text