Example #1
0
        public void Normal_initialization_message_replies_as_initialized_and_request_global_sequence_to_reader()
        {
            var reader     = CreateTestProbe();
            var dispatcher = Sys.ActorOf(EventDispatcher.CreateProps(reader, new GlobalOptions()));

            reader.ExpectMsg <ReadHighestGlobalSequenceRequest>();
        }
Example #2
0
        IActorRef CreateDispatcher(int initialGlobalSequence, TimeSpan recoveryStartTimeout)
        {
            var reader     = CreateTestReader(initialGlobalSequence);
            var dispatcher = Sys.ActorOf(EventDispatcher.CreateProps(reader, new GlobalOptions {
                DispatcherRecoveryTimeout = recoveryStartTimeout
            }));

            return(dispatcher);
        }
Example #3
0
        public void Dispatcher_requests_correct_missing_events_to_reader()
        {
            var reader     = CreateTestReader(0);
            var dispatcher = Sys.ActorOf(EventDispatcher.CreateProps(reader, new GlobalOptions {
                DispatcherRecoveryTimeout = TimeSpan.FromMilliseconds(100)
            }));

            reader.ExpectMsg <ReadHighestGlobalSequenceRequest>();

            foreach (var i in new[] { 1, 4, 5, 9, 20, 22 })
            {
                dispatcher.Tell(CreateTestEvent(i));
            }

            reader.ExpectMsg <ReadRequest>(r => r.InitialGlobalSequence == 2 && r.Count == 2);
            reader.ExpectMsg <ReadRequest>(r => r.InitialGlobalSequence == 6 && r.Count == 3);
            reader.ExpectMsg <ReadRequest>(r => r.InitialGlobalSequence == 10 && r.Count == 10);
            reader.ExpectMsg <ReadRequest>(r => r.InitialGlobalSequence == 21 && r.Count == 1);
        }