示例#1
0
        public async Task Run_ShouldReturnAllBatches_IfHasMoreResults()
        {
            // intentionally break the processor delay
            processorSettings.FeedPollDelay = TimeSpan.FromMilliseconds(-1);

            await Assert.ThrowsAsync <TaskCanceledException>(() => partitionProcessor.RunAsync(cancellationTokenSource.Token));

            Mock.Get(observer)
            .Verify(feedObserver => feedObserver
                    .ProcessChangesAsync(
                        It.Is <ChangeFeedObserverContext>(context => context.PartitionKeyRangeId == processorSettings.PartitionKeyRangeId),
                        It.Is <IReadOnlyList <Document> >(list => list.SequenceEqual(batch1)),
                        It.IsAny <CancellationToken>()),
                    Times.Once);

            Mock.Get(observer)
            .Verify(feedObserver => feedObserver
                    .ProcessChangesAsync(
                        It.Is <ChangeFeedObserverContext>(context => context.PartitionKeyRangeId == processorSettings.PartitionKeyRangeId),
                        It.Is <IReadOnlyList <Document> >(list => list.SequenceEqual(batch2)),
                        It.IsAny <CancellationToken>()),
                    Times.Once);

            Mock.Get(observer)
            .Verify(feedObserver => feedObserver
                    .ProcessChangesAsync(It.IsAny <ChangeFeedObserverContext>(), It.IsAny <IReadOnlyList <Document> >(), It.IsAny <CancellationToken>()),
                    Times.Exactly(2));
        }
示例#2
0
        public async Task Run_ShouldThrowSplit_IfPartitionGone()
        {
            Mock.Get(documentQuery)
            .SetupSequence(query => query.ExecuteNextAsync <Document>(It.Is <CancellationToken>(token => token == cancellationTokenSource.Token)))
            .Throws(DocumentExceptionHelpers.CreateException("Microsoft.Azure.Documents.GoneException", 1002))
            .ReturnsAsync(feedResponse);

            await Assert.ThrowsAsync <PartitionSplitException>(() => partitionProcessor.RunAsync(cancellationTokenSource.Token));
        }
 public async Task Run_ShouldThrowException_IfCanceled()
 {
     await Assert.ThrowsAsync <TaskCanceledException>(() => sut.RunAsync(cancellationTokenSource.Token));
 }