Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
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);
        }
Exemplo n.º 3
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));
        }