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)); }
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)); }