Пример #1
0
        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);
            });
        }
Пример #2
0
        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);
        }
Пример #3
0
 protected void Publish(params object[] messages)
 {
     foreach (var msg in messages)
     {
         _transport.Publish(msg, MessageMetadata.Empty);
     }
 }
Пример #4
0
 protected void Publish(params object[] messages)
 {
     foreach (var msg in messages)
     {
         _transport.Publish(msg);
     }
 }
Пример #5
0
        //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>());
 }