public async Task ListOperationDoesNotLogCreationLag() { var currentTime = DateTimeOffset.UtcNow; PackageDetailsCatalogLeaf listPackageLeaf = new PackageDetailsCatalogLeaf { PackageId = "Test", PackageVersion = "1.0.0", Created = currentTime, LastEdited = currentTime, Listed = true }; var oldSearchResponse = TestHelpers.GetTestSearchResponse(currentTime, currentTime - TimeSpan.FromSeconds(200), currentTime - TimeSpan.FromSeconds(200), false); var newTime = currentTime + TimeSpan.FromSeconds(200); var newSearchResponse = TestHelpers.GetTestSearchResponse(newTime, newTime, newTime); _searchServiceClient.SetupSequence(ssc => ssc.GetResultForPackageIdVersion(It.Is <Instance>(i => i.DiagUrl.Contains("801")), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult(oldSearchResponse)) .Returns(Task.FromResult(newSearchResponse)); _searchServiceClient.SetupSequence(ssc => ssc.GetResultForPackageIdVersion(It.Is <Instance>(i => i.DiagUrl.Contains("802")), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult(oldSearchResponse)) .Returns(Task.FromResult(newSearchResponse)); _searchServiceClient.Setup(ssc => ssc.GetIndexLastReloadTimeAsync(It.IsAny <Instance>(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult(newTime)); _telemetryService .Setup(ts => ts.TrackPackageCreationLag(It.IsAny <DateTimeOffset>(), It.IsAny <Instance>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <TimeSpan>())) .Throws(new Exception("Unexpected Logging")); try { var success = await _target.ProcessPackageDetailsAsync(listPackageLeaf); Assert.True(await _target.WaitForProcessing()); _searchServiceClient.Verify(ssc => ssc.GetResultForPackageIdVersion(It.Is <Instance>(i => i.DiagUrl.Contains("801")), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <CancellationToken>()), Times.Exactly(2)); _searchServiceClient.Verify(ssc => ssc.GetResultForPackageIdVersion(It.Is <Instance>(i => i.DiagUrl.Contains("802")), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <CancellationToken>()), Times.Exactly(2)); _searchServiceClient.Verify(ssc => ssc.GetIndexLastReloadTimeAsync(It.IsAny <Instance>(), It.IsAny <CancellationToken>()), Times.Exactly(2)); } catch (Exception e) { throw e; } }