public void AroundReceive_SpanMessageAvailable_SpanContextChildSetup() { //setup builder and span var tracer = Substitute.For <ITracer>(); var spanBuilder = Substitute.For <ISpanBuilder>(); tracer.BuildSpan(null).ReturnsForAnyArgs(spanBuilder); var scope = Substitute.For <IScope>(); spanBuilder.StartActive(true).ReturnsForAnyArgs(scope); //setup akka context var context = Substitute.For <IActorContext>(); var add = new Address("akka", "system"); context.Self.Path.Returns(GetActorPath(add, "/ra")); context.Sender.Path.Returns(GetActorPath(add, "/sa")); //call var at = new AkkaTracer(tracer, "akka://service"); var m = new TracedMessage("m", null); m.Context["a"] = "b"; at.AroundReceive(context, m, typeof(SampleActor)); //assert spanBuilder.ReceivedWithAnyArgs(1).AsChildOf((ISpanContext)null); }
public void OnRemoteTell_SimpleCall_TracedMessageIsCorrectlyCreated() { //setup builder and span var tracer = Substitute.For <ITracer>(); //setup akka context var receiver = Substitute.For <IActorRef>(); var sender = Substitute.For <IActorRef>(); var add = new Address("akka", "system"); receiver.Path.Returns(GetActorPath(add, "/ra")); sender.Path.Returns(GetActorPath(add, "/sa")); //call var at = new AkkaTracer(tracer, "akka://service"); var trM = at.OnRemoteTell(receiver, sender, "m"); //assert Assert.That(trM, Is.TypeOf <TracedMessage>()); TracedMessage tm = (TracedMessage)trM; Assert.That(tm.Message, Is.EqualTo("m")); Assert.That(tm.Span, Is.Null); tracer.ReceivedWithAnyArgs(1).Inject <ITextMap>(null, null, null); }
public void OnEnqueue_TracedMessageAlreadySetup_SameMessageReturned() { //setup builder and span var tracer = Substitute.For <ITracer>(); //setup akka context var receiver = Substitute.For <IActorRef>(); var sender = Substitute.For <IActorRef>(); var add = new Address("akka", "system"); receiver.Path.Returns(GetActorPath(add, "/ra")); sender.Path.Returns(GetActorPath(add, "/sa")); //call var at = new AkkaTracer(tracer, "akka://service"); var env = at.OnEnqueue(receiver, new Envelope(new TracedMessage("m", null), sender)); //assert Assert.That(env.Message, Is.TypeOf <TracedMessage>()); TracedMessage tm = (TracedMessage)env.Message; Assert.That(tm.Message, Is.EqualTo("m")); }