public LocalTransportProxyActor() { var localTransport = new LocalAkkaEventBusTransport(Context.System); Receive <Publish>(p => { localTransport.Publish(p.Msg); Sender.Tell(PublishAck.Instance); }); Receive <PublishMany>(p => { var messages = p.Messages.Select(m => m.Msg).ToArray(); localTransport.Publish(messages); Sender.Tell(PublishManyAck.Instance); }); Receive <Subscribe>(s => { localTransport.Subscribe(s.Topic, s.Actor, s.Notificator); Sender.Tell(SubscribeAck.Instance); }); Receive <Unsubscribe>(us => { localTransport.Unsubscribe(us.Actor, us.Topic); Sender.Tell(UnsubscribeAck.Instance); }); }
public void Message_not_satisfying_filter_should_not_be_received() { _transport.Publish("Test", MessageMetadata.Empty); var e = Assert.Throws <AggregateException>(() => _results.Result.Message <string>()); Assert.IsAssignableFrom <TimeoutException>(e.InnerException); }
protected void Publish(params object[] messages) { foreach (var msg in messages) { _transport.Publish(msg, MessageMetadata.Empty); } }
protected void Publish(params object[] messages) { foreach (var msg in messages) { _transport.Publish(msg); } }
//Given_waiter_subscribed_for_message_When_publishing_message() public AkkaWaiter_One_Message_Test() { var actorSystem = TestActorSystem.Create(); var transport = new LocalAkkaEventBusTransport(actorSystem); var waiter = new LocalMessagesWaiter(actorSystem, transport, TimeSpan.FromSeconds(10)); waiter.Expect <string>(); _results = waiter.Start(TimeSpan.FromSeconds(10)); _testmsg = "TestMsg"; transport.Publish(_testmsg, MessageMetadata.Empty); }
public void Given_waiter_subscribed_for_message_When_publishing_message() { var actorSystem = ActorSystem.Create("test"); var transport = new LocalAkkaEventBusTransport(actorSystem); _waiter = new AkkaMessageLocalWaiter(actorSystem, transport, TimeSpan.FromSeconds(10)); _waiter.Expect <string>(); _results = _waiter.Start(TimeSpan.FromSeconds(1)); _testmsg = "TestMsg"; transport.Publish(_testmsg); }
public void When_publish_one_of_subscribed_message_Then_wait_is_over_And_message_received() { _transport.Publish(_testmsgBool); Assert.AreEqual(_testmsgBool, _received.Result.All.OfType <bool>().First()); }
public void Message_satisfying_filter_should_be_received() { _transport.Publish("TestMsg"); Assert.AreEqual("TestMsg", results.Result.Message <string>()); }