Ejemplo n.º 1
0
        public void processes_write_on_write_completed_if_ready()
        {
            var linkTo = new EmittedLinkTo(
                "test_stream", Guid.NewGuid(), "other_stream", CheckpointTag.FromPosition(0, 1100, 1000), null);

            _stream.EmitEvents(new[] { linkTo });
            linkTo.SetTargetEventNumber(1);
            _stream.Handle(new CoreProjectionProcessingMessage.EmittedStreamWriteCompleted("other_stream"));

            Assert.AreEqual(1, _readyHandler.HandledStreamAwaitingMessage.Count);
            Assert.AreEqual(
                1,
                _consumer.HandledMessages.OfType <ClientMessage.WriteEvents>()
                .OfEventType(SystemEventTypes.LinkTo)
                .Count());
        }
Ejemplo n.º 2
0
        public void publishes_ready_for_checkpoint_on_handling_last_write_events_completed()
        {
            var msg = _consumer.HandledMessages.OfType <ClientMessage.WriteEvents>().First();

            _stream.Handle(new ClientMessage.WriteEventsCompleted(msg.CorrelationId, msg.EventStreamId, 0));
            Assert.AreEqual(
                1, _readyHandler.HandledMessages.OfType <CoreProjectionProcessingMessage.ReadyForCheckpoint>().Count());
        }
        public void publishes_second_write_events_after_handling_write_completed()
        {
            var msg = _publisher.Messages.OfType <ClientMessage.WriteEvents>().First();

            _stream.Handle(new ClientMessage.WriteEventsCompleted(msg.CorrelationId, msg.EventStreamId, 0));

            Assert.AreEqual(2, _publisher.Messages.OfType <ClientMessage.WriteEvents>().Count());
        }
        public void should_not_retry_the_read_upon_the_read_timing_out()
        {
            var scheduledReadTimeout = _consumer.HandledMessages.OfType <TimerMessage.Schedule>().First().ReplyMessage as ProjectionManagementMessage.Internal.ReadTimeout;

            _stream.Handle(scheduledReadTimeout);

            var readEventsBackwards = _consumer.HandledMessages.OfType <ClientMessage.ReadStreamEventsBackward>().Where(x => x.EventStreamId == TestStreamId);

            Assert.AreEqual(1, readEventsBackwards.Count());
        }
 public void setup()
 {
     _readyHandler = new TestCheckpointManagerMessageHandler();;
     _stream = new EmittedStream("test", CheckpointTag.FromPosition(0, -1), _bus, _readyHandler, 50);
     _stream.Start();
     _stream.EmitEvents(
         new[] { new EmittedEvent("test", Guid.NewGuid(), "type", "data", CheckpointTag.FromPosition(10, 5), null) });
     var msg = _consumer.HandledMessages.OfType<ClientMessage.WriteEvents>().First();
     _stream.Handle(new ClientMessage.WriteEventsCompleted(msg.CorrelationId, msg.EventStreamId, 0));
     _stream.Checkpoint();
 }
 public void setup()
 {
     _publisher = new FakePublisher();
     _readyHandler = new TestMessageHandler<ProjectionMessage.Projections.ReadyForCheckpoint>();
     _stream = new EmittedStream("test", _publisher, _readyHandler, false, 50);
     _stream.Start();
     _stream.EmitEvents(
         new[] {new EmittedEvent("stream", Guid.NewGuid(), "type", "data")}, CheckpointTag.FromPosition(-1, -1));
     var msg = _publisher.Messages.OfType<ClientMessage.WriteEvents>().First();
     _stream.Handle(new ClientMessage.WriteEventsCompleted(msg.CorrelationId, msg.EventStreamId, 0));
     _stream.Checkpoint();
 }
        public void setup()
        {
            _readyHandler = new TestCheckpointManagerMessageHandler();;
            _stream       = new EmittedStream("test", CheckpointTag.FromPosition(0, -1), _bus, _readyHandler, 50);
            _stream.Start();
            _stream.EmitEvents(
                new[] { new EmittedEvent("test", Guid.NewGuid(), "type", "data", CheckpointTag.FromPosition(10, 5), null) });
            var msg = _consumer.HandledMessages.OfType <ClientMessage.WriteEvents>().First();

            _stream.Handle(new ClientMessage.WriteEventsCompleted(msg.CorrelationId, msg.EventStreamId, 0));
            _stream.Checkpoint();
        }
        public void setup()
        {
            _publisher    = new FakePublisher();
            _readyHandler = new TestMessageHandler <ProjectionMessage.Projections.ReadyForCheckpoint>();
            _stream       = new EmittedStream("test", _publisher, _readyHandler, false, 50);
            _stream.Start();
            _stream.EmitEvents(
                new[] { new EmittedEvent("stream", Guid.NewGuid(), "type", "data") }, CheckpointTag.FromPosition(-1, -1));
            var msg = _publisher.Messages.OfType <ClientMessage.WriteEvents>().First();

            _stream.Handle(new ClientMessage.WriteEventsCompleted(msg.CorrelationId, msg.EventStreamId, 0));
            _stream.Checkpoint();
        }