void XmlMessageSystem_must_work() { Within(TimeSpan.FromSeconds(60), () => { RunOn(() => { _messageSystem.Start(_nodeConfig); }, _deployTarget1, _deployTarget2); EnterBarrier("2-deploy-target-started"); RunOn(() => { _messageSystem.Start(_nodeConfig); var sender = new ActorRefMessageReceiver <XmlMessage>(TestActor); _messageSystem.SendMessage(XmlMessage.FromString(@"<question1></question1>"), sender); _messageSystem.SendMessage(XmlMessage.FromString(@"<question1></question1>"), sender); _messageSystem.SendMessage(XmlMessage.FromString(@"<question1></question1>"), sender); new[] { ExpectMsg <BytesMessage>(), ExpectMsg <BytesMessage>(), ExpectMsg <BytesMessage>() }.Select(bm => XmlMessage.FromBytes(bm.Bytes).Content) .Should().OnlyHaveUniqueItems(); _messageSystem.SendMessage(XmlMessage.FromString(@"<question2>log1</question2>"), sender); _messageSystem.SendMessage(XmlMessage.FromString(@"<question2>log2</question2>"), sender); _messageSystem.SendMessage(XmlMessage.FromString(@"<question2>log3</question2>"), sender); new[] { ExpectMsg <BytesMessage>(), ExpectMsg <BytesMessage>(), ExpectMsg <BytesMessage>() }.Select(bm => XmlMessage.FromBytes(bm.Bytes).Content) .Should().OnlyHaveUniqueItems(); }, _deployer); EnterBarrier("3-done"); }); }
public void AnActorCanBeAskedFromOutside() { var a1 = new XmlActor.ActionWithFilter { Action = (message, sender, self, resource, ms, logger) => sender.Tell(XmlMessage.FromString("<message>OK!</message>"), self), Filter = AlwaysTrue }; var messageFactory = new XmlMessageFactory(); var actor1 = Sys.ActorOf(Props.Create(() => new XmlActor( new[] { a1 }, null, messageFactory, null, null)), "actor1"); var r = new ActorRefMessageReceiver <XmlMessage>(actor1) .AskAsync(XmlMessage.FromString("<message>test</message>"), messageFactory) .Result; r.Match(@"message[. = ""OK!""]").Should().BeTrue(); }