示例#1
0
        public async Task CloseAsync_FreesConsumingSessions(
            [Frozen] Mock <IEventStreamConsumingSession> sessionMock,
            EventStreamConsumer consumer)
        {
            await consumer.ReceiveEventsAsync();

            await consumer.CloseAsync();

            sessionMock.Verify(self => self.FreeAsync(), Times.Once());
        }
示例#2
0
        public async Task CloseAsync_WhenReaderHasUnprocessedEventsAndNoMessagesWereConsumed_DoesNotThrow(
            [Frozen] CommitStreamVersionFMock commitStreamVersionMock,
            EventStreamConsumer consumer)
        {
            await consumer.ReceiveEventsAsync();

            await consumer.CloseAsync();

            Assert.Equal(1, commitStreamVersionMock.CallsCount);
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }
示例#5
0
        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);
        }
示例#6
0
 public async Task CloseAsync_WhenReaderHasNoUnprocessedEvents_NotThrows(
     EventStreamConsumer consumer)
 {
     await consumer.CloseAsync();
 }