コード例 #1
0
 protected AkkaWaiterTest()
 {
     _actorSystem = TestActorSystem.Create();
     _transport   = new LocalAkkaEventBusTransport(_actorSystem);
     Waiter       = new LocalMessagesWaiter(_actorSystem, _transport, TimeSpan.FromSeconds(1));
     _results     = ConfigureWaiter(Waiter);
 }
コード例 #2
0
        protected override Task <IWaitResult> ConfigureWaiter(LocalMessagesWaiter waiter)
        {
            _messageA = "testMsg";
            _messageC = new C();

            return(waiter.Expect <string>().And <B>().Or <C>().Create());
        }
コード例 #3
0
        public IMessageWaiter <Task <IWaitResult> > NewExplicitWaiter(TimeSpan?defaultTimeout = null)
        {
            var conditionBuilder = new ConditionBuilder <Task <IWaitResult> >();
            var waiter           = new LocalMessagesWaiter <Task <IWaitResult> >(System, Transport, defaultTimeout ?? DefaultTimeout, conditionBuilder);

            conditionBuilder.CreateResultFunc = waiter.Start;
            return(waiter);
        }
コード例 #4
0
 protected override Task <IWaitResult> ConfigureWaiter(LocalMessagesWaiter waiter)
 {
     return
         (waiter.Expect <Message>(m => m.Id == _messageA.Id)
          .Or <Message>(m => m.Id == _messageB.Id)
          .And <Message>(m => m.Id == _messageC.Id)
          .Create());
 }
コード例 #5
0
        public static IMessageWaiter <AnyMessagePublisher> NewDebugWaiter(this GridDomainNode node, TimeSpan?timeout = null)
        {
            var conditionBuilder = new MetadataConditionBuilder <AnyMessagePublisher>();
            var waiter           = new LocalMessagesWaiter <AnyMessagePublisher>(node.System, node.Transport, timeout ?? node.DefaultTimeout, conditionBuilder);

            conditionBuilder.CreateResultFunc = t => new AnyMessagePublisher(node.Pipe, waiter);
            return(waiter);
        }
コード例 #6
0
        public AkkaWaiter_message_test_filtered_message()
        {
            _transport = new LocalAkkaEventBusTransport(Sys);
            var waiter = new LocalMessagesWaiter(Sys, _transport, TimeSpan.FromSeconds(2));

            waiter.Expect <string>(m => m.Like("Msg"));
            _results = waiter.Start(TimeSpan.FromSeconds(10));
        }
コード例 #7
0
        protected override Task <IWaitResult> ConfigureWaiter(LocalMessagesWaiter waiter)
        {
            var task = Waiter.Expect <string>().And <B>().Create();

            Publish(_messageEnvelopeA.Message);
            Publish(_messageEnvelopeB.Message);

            return(task);
        }
コード例 #8
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);
        }
コード例 #9
0
 protected abstract Task <IWaitResult> ConfigureWaiter(LocalMessagesWaiter waiter);
コード例 #10
0
 protected override Task <IWaitResult> ConfigureWaiter(LocalMessagesWaiter waiter)
 {
     return(waiter.Expect <string>().Or <A>().Create());
 }
コード例 #11
0
 public AnyMessagePublisher(IPublisher publisher, LocalMessagesWaiter <AnyMessagePublisher> waiter)
 {
     _waiter    = waiter;
     _publisher = publisher;
 }
コード例 #12
0
 public AnyMessagePublisher(CommandPipe commandPipe, LocalMessagesWaiter <AnyMessagePublisher> waiter)
 {
     _waiter      = waiter;
     _commandPipe = commandPipe;
 }
コード例 #13
0
 public AnyMessageExpectBuilder(IPublisher publisher, LocalMessagesWaiter <AnyMessagePublisher> waiter, TimeSpan defaultTimeout) : base(waiter)
 {
     _publisher = publisher;
 }