audit-go/audit/api/trace_test.go
2024-10-30 15:41:48 +01:00

42 lines
1.3 KiB
Go

package api
import (
"context"
"github.com/stretchr/testify/assert"
"go.opentelemetry.io/otel"
"go.opentelemetry.io/otel/trace"
"testing"
)
func Test_AddTraceParentAndStateToContext(t *testing.T) {
expectedTraceParent := "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01"
expectedTraceState := "key1=value1,key2=value2"
ctx := AddTraceParentAndStateToContext(
context.Background(),
expectedTraceParent,
expectedTraceState)
span := trace.SpanFromContext(ctx)
assert.Equal(t, "00f067aa0ba902b7", span.SpanContext().SpanID().String())
assert.Equal(t, "4bf92f3577b34da6a3ce929d0e0e4736", span.SpanContext().TraceID().String())
}
func Test_TraceParentAndStateFromContext(t *testing.T) {
tracer := otel.Tracer("test")
expectedTraceParent := "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01"
expectedTraceState := "key1=value1,key2=value2"
ctx := AddTraceParentAndStateToContext(
context.Background(),
expectedTraceParent,
expectedTraceState)
ctx, span := tracer.Start(ctx, "test")
traceParent, traceState := TraceParentAndStateFromContext(ctx)
assert.Equal(t, expectedTraceParent, traceParent)
assert.Equal(t, expectedTraceState, traceState)
assert.Equal(t, "00f067aa0ba902b7", span.SpanContext().SpanID().String())
assert.Equal(t, "4bf92f3577b34da6a3ce929d0e0e4736", span.SpanContext().TraceID().String())
}