public async Task CloseAsync_FreesConsumingSessions( [Frozen] Mock <IEventStreamConsumingSession> sessionMock, EventStreamConsumer consumer) { await consumer.ReceiveEventsAsync(); await consumer.CloseAsync(); sessionMock.Verify(self => self.FreeAsync(), Times.Once()); }
public async Task CloseAsync_WhenReaderHasUnprocessedEventsAndNoMessagesWereConsumed_DoesNotThrow( [Frozen] CommitStreamVersionFMock commitStreamVersionMock, EventStreamConsumer consumer) { await consumer.ReceiveEventsAsync(); await consumer.CloseAsync(); Assert.Equal(1, commitStreamVersionMock.CallsCount); }
public async Task CloseAsync_WhenReaderInCompletedStateAndHasNoUnprocessedEvents_CommitsConsumedVersion( [Frozen] StreamVersion version, [Frozen] CommitStreamVersionFMock commitStreamVersionMock, [Frozen] IEventStreamReader reader, EventStreamConsumer consumer) { await consumer.ReceiveEventsAsync(); consumer.EnumerateEvents().ToList(); await consumer.CloseAsync(); Assert.Equal(1, commitStreamVersionMock.CallsCount); Assert.Equal(reader.StreamVersion.Increment(reader.Events.Count), commitStreamVersionMock.CommitedVersion); }
public async Task CloseAsync_WhenReaderHasUnprocessedEventsAndCurrentEventHasBeenCommited_SkipCommit( [Frozen] StreamVersion version, [Frozen] CommitStreamVersionFMock commitStreamVersionMock, EventStreamConsumer consumer) { await consumer.ReceiveEventsAsync(); foreach (var e in consumer.EnumerateEvents()) { await consumer.CommitProcessedStreamVersionAsync(); break; } await consumer.CloseAsync(); Assert.Equal(1, commitStreamVersionMock.CallsCount); Assert.Equal(version.Increment(), commitStreamVersionMock.CommitedVersion); }
public async Task CloseAsync_WhenReaderHasUnprocessedEventsAndOnMessagesWasConsumed_CommitsConsumedVersion( [Frozen] StreamVersion version, [Frozen] CommitStreamVersionFMock commitStreamVersionMock, EventStreamConsumer consumer) { await consumer.ReceiveEventsAsync(); var handledEventCount = 0; foreach (var e in consumer.EnumerateEvents()) { if (handledEventCount >= 1) { break; } handledEventCount++; } await consumer.CloseAsync(); Assert.Equal(1, commitStreamVersionMock.CallsCount); Assert.Equal(version.Increment(), commitStreamVersionMock.CommitedVersion); }
public async Task CloseAsync_WhenReaderHasNoUnprocessedEvents_NotThrows( EventStreamConsumer consumer) { await consumer.CloseAsync(); }