2022-03-05 19:10:19 +03:00
|
|
|
package opentracing
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
"testing"
|
|
|
|
|
2024-03-06 12:36:29 +03:00
|
|
|
"github.com/opentracing/opentracing-go/mocktracer"
|
2022-03-05 19:10:19 +03:00
|
|
|
"go.unistack.org/micro/v3/metadata"
|
2024-03-06 12:36:29 +03:00
|
|
|
"go.unistack.org/micro/v3/tracer"
|
2022-03-05 19:10:19 +03:00
|
|
|
)
|
|
|
|
|
2024-03-06 12:36:29 +03:00
|
|
|
func TestTraceID(t *testing.T) {
|
|
|
|
md := metadata.New(1)
|
2022-03-05 19:10:19 +03:00
|
|
|
ctx, cancel := context.WithCancel(context.Background())
|
|
|
|
defer cancel()
|
|
|
|
ctx = metadata.NewIncomingContext(ctx, md)
|
|
|
|
|
2024-03-06 12:36:29 +03:00
|
|
|
tr := NewTracer(Tracer(mocktracer.New()))
|
|
|
|
if err := tr.Init(); err != nil {
|
|
|
|
t.Fatal(err)
|
2022-03-05 19:10:19 +03:00
|
|
|
}
|
|
|
|
|
2024-03-06 12:36:29 +03:00
|
|
|
var sp tracer.Span
|
|
|
|
|
|
|
|
ctx, sp = tr.Start(ctx, "test")
|
|
|
|
if v := sp.TraceID(); v != "43" {
|
|
|
|
t.Fatalf("invalid span trace id %#+v", v)
|
|
|
|
}
|
|
|
|
if v := sp.SpanID(); v != "44" {
|
|
|
|
t.Fatalf("invalid span span id %#+v", v)
|
2022-03-05 19:10:19 +03:00
|
|
|
}
|
|
|
|
}
|
2024-03-17 00:51:29 +03:00
|
|
|
|
|
|
|
func TestTraceTags(t *testing.T) {
|
|
|
|
md := metadata.New(1)
|
|
|
|
ctx, cancel := context.WithCancel(context.Background())
|
|
|
|
defer cancel()
|
|
|
|
ctx = metadata.NewIncomingContext(ctx, md)
|
|
|
|
|
|
|
|
mtr := mocktracer.New()
|
|
|
|
tr := NewTracer(Tracer(mtr))
|
|
|
|
if err := tr.Init(); err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
|
|
|
|
var sp tracer.Span
|
|
|
|
|
|
|
|
ctx, sp = tr.Start(ctx, "test", tracer.WithSpanLabels("key", "val", "odd"))
|
|
|
|
sp.Finish()
|
|
|
|
|
|
|
|
msp := mtr.FinishedSpans()[0]
|
|
|
|
t.Logf("mock span %#+v", msp.Tags())
|
|
|
|
}
|