Example #1
0
        public void RootContextOpenTracingSenderTest()
        {
            var root = new RootContext(System, new MessageHeader(), OpenTracingExtensions.OpenTracingSenderMiddleware(_tracer))
                       .WithOpenTracing(tracer: _tracer);

            var messages = new List <object>();

            var actorProps = Props
                             .FromFunc(ctx => { messages.Add(ctx.Message); return(Actor.Done); })
                             .WithMailbox(() => new TestMailbox())
            ;
            var actor = System.Root.Spawn(actorProps);

            root.Send(actor, "test_message");

            Assert.Equal(2, messages.Count); // Started & "test_message"
            _tracer.Received(1).BuildSpan("Send String");

            _tracer.ClearReceivedCalls();

            root.Request(actor, "test_message_2");
            Assert.Equal(3, messages.Count); // Started & "test_message" & "test_message_2"
            _tracer.Received(1).BuildSpan("Request String");
        }