public void Extract_HttpHeadersFormat_HeadersProperlySet_SpanContext() { const ulong parentId = 10; const ulong traceId = 42; var headers = new MockTextMap(); headers.Set(HttpHeaderNames.B3SpanId, parentId.ToString("x16")); headers.Set(HttpHeaderNames.B3TraceId, traceId.ToString("x16")); var otSpanContext = (OpenTracingSpanContext)_tracer.Extract(BuiltinFormats.HttpHeaders, headers); Assert.Equal(parentId, otSpanContext.Context.SpanId); Assert.Equal(traceId, otSpanContext.Context.TraceId); }
public void Extract_ValidParentAndTraceId_ProperSpanContext() { const ulong traceId = 10; const ulong parentId = 120; var headers = new MockTextMap(); headers.Set(HttpHeaderTraceId, traceId.ToString("x16")); headers.Set(HttpHeaderParentId, parentId.ToString("x16")); var spanContext = _codec.Extract(headers) as OpenTracingSpanContext; Assert.NotNull(spanContext); Assert.Equal(traceId, spanContext.Context.TraceId); Assert.Equal(parentId, spanContext.Context.SpanId); }
public void Extract_MissingParentIdHeader_Exception() { var headers = new MockTextMap(); headers.Set(HttpHeaderTraceId, "10"); Assert.Throws <ArgumentException>(() => _codec.Extract(headers)); }
public void Extract_WrongHeaderCase_ExtractionStillWorks() { const ulong traceId = 10; const ulong parentId = 120; const SamplingPriority samplingPriority = SamplingPriority.AutoKeep; var headers = new MockTextMap(); headers.Set(HttpHeaderTraceId.ToUpper(), traceId.ToString("x16")); headers.Set(HttpHeaderParentId.ToUpper(), parentId.ToString("x16")); headers.Set(HttpHeaderSamplingPriority.ToUpper(), ((int)samplingPriority).ToString()); var spanContext = _codec.Extract(headers) as OpenTracingSpanContext; Assert.NotNull(spanContext); Assert.Equal(traceId, spanContext.Context.TraceId); Assert.Equal(parentId, spanContext.Context.SpanId); }