public async Task StartAsync_Retries() { var mockExecutor = new Mock <ITriggeredFunctionExecutor>(); var collInfo = new DocumentCollectionInfo { Uri = new Uri("http://fakeaccount"), MasterKey = "c29tZV9rZXk=", DatabaseName = "FakeDb", CollectionName = "FakeColl" }; var leaseInfo = new DocumentCollectionInfo { Uri = new Uri("http://fakeaccount"), MasterKey = "c29tZV9rZXk=", DatabaseName = "FakeDb", CollectionName = "leases" }; var hostOptions = new ChangeFeedHostOptions(); var feedOptions = new ChangeFeedOptions(); var listener = new MockListener(mockExecutor.Object, collInfo, leaseInfo, hostOptions, feedOptions, NullLogger.Instance); // Ensure that we can call StartAsync() multiple times to retry if there is an error. for (int i = 0; i < 3; i++) { var ex = await Assert.ThrowsAnyAsync <InvalidOperationException>(() => listener.StartAsync(CancellationToken.None)); Assert.Equal("Failed to register!", ex.Message); } // This should succeed await listener.StartAsync(CancellationToken.None); }
public async Task StartAsync_Retries() { var listener = new MockListener(_mockExecutor.Object, _functionId, _monitoredInfo, _leasesInfo, _processorOptions, _mockMonitoredService.Object, _mockLeasesService.Object, NullLogger.Instance); // Ensure that we can call StartAsync() multiple times to retry if there is an error. for (int i = 0; i < 3; i++) { var ex = await Assert.ThrowsAnyAsync <InvalidOperationException>(() => listener.StartAsync(CancellationToken.None)); Assert.Equal("Failed to register!", ex.Message); } // This should succeed await listener.StartAsync(CancellationToken.None); }
public async Task StartAsync_Retries() { var mockExecutor = new Mock <ITriggeredFunctionExecutor>(); var monitoredCosmosDBService = new Mock <ICosmosDBService>(MockBehavior.Strict); monitoredCosmosDBService .Setup(m => m.GetClient()) .Returns(new DocumentClient(new Uri("http://fakeaccount"), "c29tZV9rZXk=")); var leasesCosmosDBService = new Mock <ICosmosDBService>(MockBehavior.Strict); leasesCosmosDBService .Setup(m => m.GetClient()) .Returns(new DocumentClient(new Uri("http://fakeaccount"), "c29tZV9rZXk=")); var collInfo = new DocumentCollectionInfo { Uri = new Uri("http://fakeaccount"), MasterKey = "c29tZV9rZXk=", DatabaseName = "FakeDb", CollectionName = "FakeColl" }; var leaseInfo = new DocumentCollectionInfo { Uri = new Uri("http://fakeaccount"), MasterKey = "c29tZV9rZXk=", DatabaseName = "FakeDb", CollectionName = "leases" }; var processorOptions = new ChangeFeedProcessorOptions(); var listener = new MockListener(mockExecutor.Object, collInfo, leaseInfo, processorOptions, monitoredCosmosDBService.Object, leasesCosmosDBService.Object, NullLogger.Instance); // Ensure that we can call StartAsync() multiple times to retry if there is an error. for (int i = 0; i < 3; i++) { var ex = await Assert.ThrowsAnyAsync <InvalidOperationException>(() => listener.StartAsync(CancellationToken.None)); Assert.Equal("Failed to register!", ex.Message); } // This should succeed await listener.StartAsync(CancellationToken.None); }