Example #1
0
        private void InsertMessages(int messageCount = 11)
        {
            MessageId.ResetLastTimestamp(); // because it goes back in the past!

            for (var i = 0; i < messageCount; ++i)
            {
                var transportMessage = new FakeCommand(i).ToTransportMessage(_anotherPeer);
                _insertedMessages.Add(_transportMessageSerializer.Serialize(transportMessage));
            }
        }
Example #2
0
        public void should_forward_live_messages_during_safety_phase()
        {
            using (MessageId.PauseIdGeneration())
            {
                var fakeMessage = new FakeCommand().ToTransportMessage(_anotherPeer, true);
                _replayer.AddLiveMessage(fakeMessage);

                _replayer.Run(new CancellationToken());

                _transport.Expect(
                    new TransportMessageSent(new ReplayPhaseEnded(_replayId).ToTransportMessage(_selfPeer, wasPersisted: false), _targetPeer),
                    new TransportMessageSent(new MessageReplayed(_replayId, fakeMessage).ToTransportMessage(_selfPeer, wasPersisted: false), _targetPeer)
                    );
            }
        }
Example #3
0
        private List <TransportMessage> InsertMessagesInThePast(DateTime refDateTime, int messageCount = 11)
        {
            MessageId.ResetLastTimestamp(); // because it goes back in the past!

            var refTime           = refDateTime.AddHours(-messageCount);
            var transportMessages = new List <TransportMessage>();

            for (var i = 0; i < messageCount; ++i)
            {
                TransportMessage transportMessage;
                using (SystemDateTime.Set(refTime))
                {
                    transportMessage = new FakeCommand(i).ToTransportMessage(_anotherPeer);
                }
                transportMessages.Add(transportMessage);
                _insertedMessages.AddRange(transportMessage);
                refTime = refTime.AddHours(1);
            }

            return(transportMessages);
        }