ipld-eth-server/vendor/gopkg.in/DataDog/dd-trace-go.v1/ddtrace/mocktracer/mockspancontext_test.go
2018-09-11 16:30:29 -05:00

62 lines
1.2 KiB
Go

package mocktracer
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestMockIDs(t *testing.T) {
last := nextID()
for i := 0; i < 10; i++ {
// ensure incremental (unique) IDs
next := nextID()
if next <= last {
t.Fail()
}
last = next
}
}
func TestSpanContextSetBaggage(t *testing.T) {
var sc spanContext
sc.setBaggageItem("a", "b")
sc.setBaggageItem("c", "d")
assert.Equal(t, sc.baggage["a"], "b")
assert.Equal(t, sc.baggage["c"], "d")
}
func TestSpanContextGetBaggage(t *testing.T) {
var sc spanContext
sc.setBaggageItem("a", "b")
sc.setBaggageItem("c", "d")
assert.Equal(t, sc.baggageItem("a"), "b")
assert.Equal(t, sc.baggageItem("c"), "d")
}
func TestSpanContextIterator(t *testing.T) {
var sc spanContext
sc.setBaggageItem("a", "b")
sc.setBaggageItem("c", "d")
t.Run("some", func(t *testing.T) {
var seen int
sc.ForeachBaggageItem(func(k, v string) bool {
seen++
return false
})
assert.Equal(t, seen, 1)
})
t.Run("all", func(t *testing.T) {
seen := make(map[string]interface{}, 2)
sc.ForeachBaggageItem(func(k, v string) bool {
seen[k] = v
return true
})
assert.Len(t, seen, 2)
assert.Equal(t, seen["a"], "b")
assert.Equal(t, seen["c"], "d")
})
}