public void EndClientTrace_WithoutTraceId_NotCallReceiveClientSpan() { var zipkinConfig = new ZipkinConfig(new Uri("http://localhost")); var traceInfoAccessor = Substitute.For <ITraceInfoAccessor>(); var spanTracer = Substitute.For <ISpanTracer>(); var logger = Substitute.For <ILogger <ZipkinClient> >(); var zipkinClient = new ZipkinClient(zipkinConfig, traceInfoAccessor, spanTracer, logger); zipkinClient.EndClientTrace(null, 0); zipkinClient.EndClientTrace(new Span("span", null), 500); spanTracer.DidNotReceiveWithAnyArgs().ReceiveClientSpan(null, 0); }
public void EndClientTrace_WithTraceOn_CallSpanTracer() { var zipkinConfig = new ZipkinConfig(new Uri("http://localhost")); var traceInfoAccessor = Substitute.For <ITraceInfoAccessor>(); var spanTracer = Substitute.For <ISpanTracer>(); var logger = Substitute.For <ILogger <ZipkinClient> >(); var traceInfo = new TraceInfo("traceId", string.Empty, true, false, null, null, string.Empty); traceInfoAccessor.TraceInfo.Returns(ci => traceInfo); var zipkinClient = new ZipkinClient(zipkinConfig, traceInfoAccessor, spanTracer, logger); zipkinClient.EndClientTrace(null, 0); zipkinClient.EndClientTrace(new Span("span", traceInfo), 0); spanTracer.ReceivedWithAnyArgs(1).ReceiveClientSpan(null, 0); }
public void EndClientTrace_WithSpanTracerException_DoesntThrow() { var zipkinConfig = new ZipkinConfig(new Uri("http://localhost")); var traceInfoAccessor = Substitute.For <ITraceInfoAccessor>(); var spanTracer = Substitute.For <ISpanTracer>(); var logger = Substitute.For <ILogger <ZipkinClient> >(); var traceInfo = new TraceInfo("traceId", string.Empty, true, false, null, null, string.Empty); traceInfoAccessor.TraceInfo.Returns(ci => traceInfo); spanTracer.WhenForAnyArgs(x => x.ReceiveClientSpan(null, 0)).Throw <Exception>(); var zipkinClient = new ZipkinClient(zipkinConfig, traceInfoAccessor, spanTracer, logger); Assert.DoesNotThrow(() => zipkinClient.EndClientTrace(new Span("span", traceInfo), 0)); }