public void does_not_publish_already_published_events() { _stream.EmitEvents( new[] { new EmittedEvent("test_stream", Guid.NewGuid(), "type", "data", CheckpointTag.FromPosition(100, 50), null) }); Assert.AreEqual(0, _consumer.HandledMessages.OfType <ClientMessage.WriteEvents>().Count()); }
public void throws_if_position_is_prior_to_from_position() { Assert.Throws <InvalidOperationException>(() => { _stream.EmitEvents( new[] { new EmittedDataEvent( "test_stream", Guid.NewGuid(), "type", true, "data", null, CheckpointTag.FromPosition(0, 20, 10), null) }); }); }
public void throws_if_position_is_prior_to_from_position() { _stream.EmitEvents( new[] { new EmittedDataEvent( "test_stream", Guid.NewGuid(), "type", true, "data", null, CheckpointTag.FromPosition(0, 20, 10), null) }); }
public void replies_with_await_message() { _stream.EmitEvents( new[] { new EmittedLinkTo( "test_stream", Guid.NewGuid(), "other_stream", CheckpointTag.FromPosition(0, 1100, 1000), null) }); Assert.AreEqual(1, _readyHandler.HandledStreamAwaitingMessage.Count); Assert.AreEqual("test_stream", _readyHandler.HandledStreamAwaitingMessage[0].StreamId); }
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(100, 50)); _stream.EmitEvents( new[] {new EmittedEvent("stream", Guid.NewGuid(), "type2", "data2")}, CheckpointTag.FromPosition(100, 50)); }
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(100, 50)); _stream.EmitEvents( new[] { new EmittedEvent("stream", Guid.NewGuid(), "type2", "data2") }, CheckpointTag.FromPosition(100, 50)); }
public void completes_already_published_events() { var invoked = false; _stream.EmitEvents( new[] { new EmittedDataEvent( "test_stream", Guid.NewGuid(), "type", "data", null, CheckpointTag.FromPosition(100, 50), null, v => invoked = true) }); Assert.IsTrue(invoked); }
public void completes_already_published_events() { var invoked = false; _stream.EmitEvents( new[] { new EmittedDataEvent( (string)"test_stream", Guid.NewGuid(), (string)"type", (bool)true, (string)"data", (ExtraMetaData)null, CheckpointTag.FromPosition(0, 100, 50), (CheckpointTag)null, v => invoked = true) }); Assert.IsTrue(invoked); }
public void requests_restart_if_different_smaller_tag() { _stream.EmitEvents( new[] { new EmittedDataEvent( "test_stream", Guid.NewGuid(), "type", true, "data", null, CheckpointTag.FromPosition(0, 100, 50), CheckpointTag.FromPosition(0, 40, 20)) }); Assert.AreEqual( 0, _consumer.HandledMessages.OfType <ClientMessage.WriteEvents>() .ExceptOfEventType(SystemEventTypes.StreamMetadata) .Count()); Assert.AreEqual(1, _readyHandler.HandledRestartRequestedMessages.Count()); }
public void setup() { _readyHandler = new TestCheckpointManagerMessageHandler();; _stream = new EmittedStream("test", CheckpointTag.FromPosition(0, -1), _bus, _readyHandler, 50); _stream.EmitEvents( new[] { new EmittedEvent("test", Guid.NewGuid(), "type", "data", CheckpointTag.FromPosition(200, 150), null) }); }
public void emit_events_throws_invalid_operation_exception() { _stream.EmitEvents( new[] { new EmittedDataEvent( "test", Guid.NewGuid(), "type2", "data2", null, CheckpointTag.FromPosition(-1, -1), null) }); }
public void throws_if_position_is_prior_to_the_last_event_position() { _stream.EmitEvents( new[] { new EmittedDataEvent( "test_stream", Guid.NewGuid(), "type", "data", null, CheckpointTag.FromPosition(80, 70), null) }); }
public void setup() { _readyHandler = new TestCheckpointManagerMessageHandler(); _stream = new EmittedStream( "test_stream", new ProjectionVersion(1, 0, 0), null, new TransactionFilePositionTagger(), CheckpointTag.FromPosition(0, -1), CheckpointTag.FromPosition(100, 50), _readDispatcher, _writeDispatcher, _readyHandler, maxWriteBatchLength: 50); _stream.Start(); _stream.EmitEvents(CreateEventBatch()); OneWriteCompletes(); }
public void fails_the_projection() { _stream.EmitEvents( new[] { new EmittedDataEvent( "test_stream", Guid.NewGuid(), "type", true, "data", null, CheckpointTag.FromPosition(0, 100, 50), CheckpointTag.FromPosition(0, 40, 20)) }); Assert.AreEqual(0, _consumer.HandledMessages.OfType <ClientMessage.WriteEvents>().Count()); Assert.AreEqual(1, _readyHandler.HandledFailedMessages.Count()); }
public void setup() { _readyHandler = new TestCheckpointManagerMessageHandler(); _stream = new EmittedStream( "test_stream", new EmittedStream.WriterConfiguration(new EmittedStream.WriterConfiguration.StreamMetadata(), null, maxWriteBatchLength: 50), new ProjectionVersion(1, 2, 2), new TransactionFilePositionTagger(0), CheckpointTag.FromPosition(0, 100, 50), _ioDispatcher, _readyHandler); _stream.Start(); _stream.EmitEvents(CreateEventBatch()); OneWriteCompletes(); }
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 emit_events_throws_invalid_operation_exception() { Assert.Throws <InvalidOperationException>(() => { _stream.EmitEvents( new[] { new EmittedDataEvent( "test", Guid.NewGuid(), "type2", true, "data2", null, CheckpointTag.FromPosition(0, -1, -1), null) }); }); }
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_stream", new EmittedStream.WriterConfiguration(new EmittedStreamsWriter(_ioDispatcher), new EmittedStream.WriterConfiguration.StreamMetadata(), null, maxWriteBatchLength: 50), new ProjectionVersion(1, 2, 2), new TransactionFilePositionTagger(0), CheckpointTag.Empty, _bus, _ioDispatcher, _readyHandler); _stream.Start(); _stream.EmitEvents(CreateEventBatch()); CompleteWriteWithResult(OperationResult.CommitTimeout); }
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 does_not_write_stream_metadata_second_time() { OneWriteCompletes(); OneWriteCompletes(); _stream.EmitEvents( new[] { new EmittedDataEvent( "test_stream", Guid.NewGuid(), "type", true, "data", null, CheckpointTag.FromPosition(0, 400, 350), null) }); Assert.AreEqual( 1, _consumer.HandledMessages.OfType <ClientMessage.WriteEvents>().ToStream("$$test_stream").Count()); }
public void setup() { _readyHandler = new TestCheckpointManagerMessageHandler(); _stream = new EmittedStream( "test_stream", _writerConfiguration, new ProjectionVersion(1, 0, 0), new TransactionFilePositionTagger(0), CheckpointTag.FromPosition(0, 40, 30), _ioDispatcher, _readyHandler); _stream.Start(); _stream.EmitEvents( new[] { new EmittedDataEvent( "test_stream", Guid.NewGuid(), "type", true, "data", null, CheckpointTag.FromPosition(0, 200, 150), null) }); }
public void setup() { _readyHandler = new TestCheckpointManagerMessageHandler(); ; _stream = new EmittedStream( "test", new ProjectionVersion(1, 0, 0), null, new TransactionFilePositionTagger(), CheckpointTag.FromPosition(0, -1), CheckpointTag.FromPosition(0, -1), _readDispatcher, _writeDispatcher, _readyHandler, 50); _stream.EmitEvents( new[] { new EmittedDataEvent( "test", Guid.NewGuid(), "type", "data", null, CheckpointTag.FromPosition(200, 150), null) }); }
public void setup() { _readyHandler = new TestCheckpointManagerMessageHandler(); _stream = new EmittedStream( TestStreamId, new EmittedStream.WriterConfiguration(new EmittedStreamsWriter(_ioDispatcher), new EmittedStream.WriterConfiguration.StreamMetadata(), null, maxWriteBatchLength: 50), new ProjectionVersion(1, 0, 0), new TransactionFilePositionTagger(0), CheckpointTag.FromPosition(0, 40, 30), _bus, _ioDispatcher, _readyHandler); _stream.Start(); _stream.EmitEvents( new[] { new EmittedDataEvent( TestStreamId, Guid.NewGuid(), "type", true, "data", null, CheckpointTag.FromPosition(0, 200, 150), null) }); }
public void setup() { _readyHandler = new TestCheckpointManagerMessageHandler(); _stream = new EmittedStream( "test_stream", new EmittedStream.WriterConfiguration(new EmittedStream.WriterConfiguration.StreamMetadata(), null, maxWriteBatchLength: 50), new ProjectionVersion(1, 0, 0), new TransactionFilePositionTagger(0), CheckpointTag.FromPosition(0, 40, 30), _ioDispatcher, _readyHandler); _stream.Start(); _stream.EmitEvents( new[] { new EmittedDataEvent( "test_stream", Guid.NewGuid(), "type", true, "data", new ExtraMetaData(new Dictionary<string, string> {{"a", "1"}, {"b", "{}"}}), CheckpointTag.FromPosition(0, 200, 150), null) }); }
public void setup() { _readyHandler = new TestCheckpointManagerMessageHandler(); _writeAs = new OpenGenericPrincipal("test-user"); _stream = new EmittedStream( "test_stream", new EmittedStream.WriterConfiguration(new EmittedStream.WriterConfiguration.StreamMetadata(), _writeAs, maxWriteBatchLength: 50), new ProjectionVersion(1, 0, 0), new TransactionFilePositionTagger(0), CheckpointTag.FromPosition(0, 40, 30), _ioDispatcher, _readyHandler); _stream.Start(); _stream.EmitEvents( new[] { new EmittedDataEvent( "test_stream", Guid.NewGuid(), "type", true, "data", null, CheckpointTag.FromPosition(0, 200, 150), null) }); }
public void Setup() { _readyHandler = new TestCheckpointManagerMessageHandler(); _stream = new EmittedStream( "test", new EmittedStream.WriterConfiguration(new EmittedStream.WriterConfiguration.StreamMetadata(), null, 50), new ProjectionVersion(1, 0, 0), new TransactionFilePositionTagger(0), CheckpointTag.FromPosition(0, 0, -1), _ioDispatcher, _readyHandler); _stream.Start(); _stream.EmitEvents( new[] { new EmittedDataEvent( "test", Guid.NewGuid(), "type", true, "data", null, CheckpointTag.FromPosition(0, 10, 5), null) }); var msg = _consumer.HandledMessages.OfType<ClientMessage.WriteEvents>().First(); _bus.Publish(new ClientMessage.WriteEventsCompleted(msg.CorrelationId, 0, 0)); _stream.Checkpoint(); }
public void setup() { _readyHandler = new TestCheckpointManagerMessageHandler(); _stream = new EmittedStream( "test_stream", new EmittedStream.WriterConfiguration(new EmittedStream.WriterConfiguration.StreamMetadata(), null, maxWriteBatchLength: 50), new ProjectionVersion(1, 0, 0), new TransactionFilePositionTagger(0), CheckpointTag.FromPosition(0, 40, 30), _ioDispatcher, _readyHandler); _stream.Start(); _stream.EmitEvents( new[] { new EmittedDataEvent( "test_stream", Guid.NewGuid(), "type", true, "data", new ExtraMetaData(new Dictionary <string, string> { { "a", "1" }, { "b", "{}" } }), CheckpointTag.FromPosition(0, 200, 150), null) }); }
public void Setup() { _readyHandler = new TestCheckpointManagerMessageHandler(); _stream = new EmittedStream( "test", new EmittedStream.WriterConfiguration(new EmittedStream.WriterConfiguration.StreamMetadata(), null, 50), new ProjectionVersion(1, 0, 0), new TransactionFilePositionTagger(0), CheckpointTag.FromPosition(0, 0, -1), _ioDispatcher, _readyHandler); _stream.Start(); _stream.EmitEvents( new[] { new EmittedDataEvent( "test", Guid.NewGuid(), "type", true, "data", null, CheckpointTag.FromPosition(0, 10, 5), null) }); var msg = _consumer.HandledMessages.OfType <ClientMessage.WriteEvents>().First(); _bus.Publish(new ClientMessage.WriteEventsCompleted(msg.CorrelationId, 0, 0)); _stream.Checkpoint(); }
public void setup() { _readyHandler = new TestCheckpointManagerMessageHandler(); _writeAs = new OpenGenericPrincipal("test-user"); _stream = new EmittedStream( "test_stream", new ProjectionVersion(1, 0, 0), _writeAs, new TransactionFilePositionTagger(), CheckpointTag.FromPosition(0, -1), CheckpointTag.FromPosition(40, 30), _readDispatcher, _writeDispatcher, _readyHandler, maxWriteBatchLength: 50); _stream.Start(); _stream.EmitEvents( new[] { new EmittedDataEvent( "test_stream", Guid.NewGuid(), "type", "data", null, CheckpointTag.FromPosition(200, 150), null) }); }
public void setup() { _causedBy = Guid.NewGuid(); _correlationId = "correlation_id"; _emittedDataEvent = new EmittedDataEvent( "test_stream", Guid.NewGuid(), "type", true, "data", null, CheckpointTag.FromPosition(0, 200, 150), null); _emittedDataEvent.SetCausedBy(_causedBy); _emittedDataEvent.SetCorrelationId(_correlationId); _readyHandler = new TestCheckpointManagerMessageHandler(); _stream = new EmittedStream( "test_stream", new EmittedStream.WriterConfiguration(new EmittedStream.WriterConfiguration.StreamMetadata(), null, maxWriteBatchLength: 50), new ProjectionVersion(1, 0, 0), new TransactionFilePositionTagger(0), CheckpointTag.FromPosition(0, 40, 30), _ioDispatcher, _readyHandler); _stream.Start(); _stream.EmitEvents(new[] {_emittedDataEvent}); }
public void setup() { _causedBy = Guid.NewGuid(); _correlationId = "correlation_id"; _emittedDataEvent = new EmittedDataEvent( "test_stream", Guid.NewGuid(), "type", true, "data", null, CheckpointTag.FromPosition(0, 200, 150), null); _emittedDataEvent.SetCausedBy(_causedBy); _emittedDataEvent.SetCorrelationId(_correlationId); _readyHandler = new TestCheckpointManagerMessageHandler(); _stream = new EmittedStream( "test_stream", new EmittedStream.WriterConfiguration(new EmittedStreamsWriter(_ioDispatcher), new EmittedStream.WriterConfiguration.StreamMetadata(), null, maxWriteBatchLength: 50), new ProjectionVersion(1, 0, 0), new TransactionFilePositionTagger(0), CheckpointTag.FromPosition(0, 40, 30), _bus, _ioDispatcher, _readyHandler); _stream.Start(); _stream.EmitEvents(new[] { _emittedDataEvent }); }
public void setup() { _readyHandler = new TestCheckpointManagerMessageHandler(); _writeAs = new ClaimsPrincipal(new ClaimsIdentity(new [] { new Claim(ClaimTypes.Role, "test-user") }, "ES-Test")); _stream = new EmittedStream( "test_stream", new EmittedStream.WriterConfiguration(new EmittedStreamsWriter(_ioDispatcher), new EmittedStream.WriterConfiguration.StreamMetadata(), _writeAs, maxWriteBatchLength: 50), new ProjectionVersion(1, 0, 0), new TransactionFilePositionTagger(0), CheckpointTag.FromPosition(0, 40, 30), _bus, _ioDispatcher, _readyHandler); _stream.Start(); _stream.EmitEvents( new[] { new EmittedDataEvent( "test_stream", Guid.NewGuid(), "type", true, "data", null, CheckpointTag.FromPosition(0, 200, 150), null) }); }