...
1 package opentracing
2
3 import (
4 "net/http"
5 "strconv"
6 "testing"
7 )
8
9 func TestTextMapCarrierInject(t *testing.T) {
10 m := make(map[string]string)
11 m["NotOT"] = "blah"
12 m["opname"] = "AlsoNotOT"
13 tracer := testTracer{}
14 span := tracer.StartSpan("someSpan")
15 fakeID := span.Context().(testSpanContext).FakeID
16
17 carrier := TextMapCarrier(m)
18 if err := span.Tracer().Inject(span.Context(), TextMap, carrier); err != nil {
19 t.Fatal(err)
20 }
21
22 if len(m) != 3 {
23 t.Errorf("Unexpected header length: %v", len(m))
24 }
25
26
27 if m["testprefix-fakeid"] != strconv.Itoa(fakeID) {
28 t.Errorf("Could not find fakeid at expected key")
29 }
30 }
31
32 func TestTextMapCarrierExtract(t *testing.T) {
33 m := make(map[string]string)
34 m["NotOT"] = "blah"
35 m["opname"] = "AlsoNotOT"
36 m["testprefix-fakeid"] = "42"
37 tracer := testTracer{}
38
39 carrier := TextMapCarrier(m)
40 extractedContext, err := tracer.Extract(TextMap, carrier)
41 if err != nil {
42 t.Fatal(err)
43 }
44
45 if extractedContext.(testSpanContext).FakeID != 42 {
46 t.Errorf("Failed to read testprefix-fakeid correctly")
47 }
48 }
49
50 func TestHTTPHeaderInject(t *testing.T) {
51 h := http.Header{}
52 h.Add("NotOT", "blah")
53 h.Add("opname", "AlsoNotOT")
54 tracer := testTracer{}
55 span := tracer.StartSpan("someSpan")
56 fakeID := span.Context().(testSpanContext).FakeID
57
58
59 carrier := HTTPHeadersCarrier(h)
60 if err := span.Tracer().Inject(span.Context(), HTTPHeaders, carrier); err != nil {
61 t.Fatal(err)
62 }
63
64 if len(h) != 3 {
65 t.Errorf("Unexpected header length: %v", len(h))
66 }
67
68
69 if h.Get("testprefix-fakeid") != strconv.Itoa(fakeID) {
70 t.Errorf("Could not find fakeid at expected key")
71 }
72 }
73
74 func TestHTTPHeaderExtract(t *testing.T) {
75 h := http.Header{}
76 h.Add("NotOT", "blah")
77 h.Add("opname", "AlsoNotOT")
78 h.Add("testprefix-fakeid", "42")
79 tracer := testTracer{}
80
81
82 carrier := HTTPHeadersCarrier(h)
83 spanContext, err := tracer.Extract(HTTPHeaders, carrier)
84 if err != nil {
85 t.Fatal(err)
86 }
87
88 if spanContext.(testSpanContext).FakeID != 42 {
89 t.Errorf("Failed to read testprefix-fakeid correctly")
90 }
91 }
92
View as plain text