-
Notifications
You must be signed in to change notification settings - Fork 113
/
noop_test.go
83 lines (69 loc) · 2.03 KB
/
noop_test.go
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
// Copyright 2022 The OpenZipkin Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package zipkin
import (
"reflect"
"testing"
"time"
"github.com/openzipkin/zipkin-go/model"
"github.com/openzipkin/zipkin-go/reporter"
)
func TestNoopContext(t *testing.T) {
var (
span Span
sc model.SpanContext
parentID = model.ID(3)
tr, _ = NewTracer(
reporter.NewNoopReporter(),
WithNoopSpan(true),
WithSampler(NeverSample),
WithSharedSpans(true),
)
)
sc = model.SpanContext{
TraceID: model.TraceID{High: 1, Low: 2},
ID: model.ID(4),
ParentID: &parentID,
Debug: false, // debug must be false
Sampled: new(bool), // bool must be pointer to false
}
span = tr.StartSpan("testNoop", Parent(sc), Kind(model.Server))
noop, ok := span.(*noopSpan)
if !ok {
t.Fatalf("Span type want %s, have %s", reflect.TypeOf(&spanImpl{}), reflect.TypeOf(span))
}
if have := noop.Context(); !reflect.DeepEqual(sc, have) {
t.Errorf("Context want %+v, have %+v", sc, have)
}
span.Tag("dummy", "dummy")
span.Annotate(time.Now(), "dummy")
span.SetName("dummy")
span.SetRemoteEndpoint(nil)
span.Flush()
}
func TestIsNoop(t *testing.T) {
sc := model.SpanContext{
TraceID: model.TraceID{High: 1, Low: 2},
ID: model.ID(3),
Sampled: new(bool),
}
ns := &noopSpan{sc}
if want, have := true, IsNoop(ns); want != have {
t.Error("unexpected noop")
}
span := &spanImpl{SpanModel: model.SpanModel{SpanContext: sc}}
if want, have := false, IsNoop(span); want != have {
t.Error("expected noop")
}
}