public void StartProcessingBatchesIfNoFailures_WhenMaxConcurrencyLimitHit_DoesNotStartNewBatch() { var commitItemBatch0 = new CatalogCommitItemBatch(new[] { _commitItem0 }, _packageIdentitya.Id); var commitItemBatch1 = new CatalogCommitItemBatch(new[] { _commitItem2 }, _packageIdentityc.Id); using (var cancellationTokenSource = new CancellationTokenSource()) { var inProcessTask = new CatalogCommitItemBatchTask( commitItemBatch0, Task.Delay(TimeSpan.FromMilliseconds(-1), cancellationTokenSource.Token)); var unprocessedBatches = new List <CatalogCommitItemBatch>() { commitItemBatch1 }; var processingBatches = new List <CatalogCommitItemBatchTask>() { inProcessTask }; const int maxConcurrentBatches = 1; CatalogCommitUtilities.StartProcessingBatchesIfNoFailures( new CollectorHttpClient(), new JObject(), unprocessedBatches, processingBatches, maxConcurrentBatches, NoOpProcessBatchAsync, CancellationToken.None); Assert.Single(unprocessedBatches); Assert.Single(processingBatches); } }
public void StartProcessingBatchesIfNoFailures_WhenProcessingQueueContainsCompletedTasks_StartsNewBatch() { var commitItemBatch0 = new CatalogCommitItemBatch(new[] { _commitItem0 }, _packageIdentitya.Id); var commitItemBatch1 = new CatalogCommitItemBatch(new[] { _commitItem1 }, _packageIdentityb.Id); var completedTask = new CatalogCommitItemBatchTask(commitItemBatch0, Task.CompletedTask); var unprocessedBatches = new List <CatalogCommitItemBatch>() { commitItemBatch1 }; var processingBatches = new List <CatalogCommitItemBatchTask>() { completedTask }; CatalogCommitUtilities.StartProcessingBatchesIfNoFailures( new CollectorHttpClient(), new JObject(), unprocessedBatches, processingBatches, _maxConcurrentBatches, NoOpProcessBatchAsync, CancellationToken.None); Assert.Empty(unprocessedBatches); Assert.Equal(2, processingBatches.Count); }
public void StartProcessingBatchesIfNoFailures_WhenNoBatchIsCancelled_DoesNotStartNewBatch() { var commitItemBatch = new CatalogCommitItemBatch( new[] { _commitItem0, _commitItem1 }, _packageIdentitya.Id); var cancelledBatchTask = new CatalogCommitItemBatchTask( commitItemBatch, Task.FromCanceled(new CancellationToken(canceled: true))); var unprocessedBatches = new List <CatalogCommitItemBatch>() { commitItemBatch }; var processingBatches = new List <CatalogCommitItemBatchTask>() { cancelledBatchTask }; CatalogCommitUtilities.StartProcessingBatchesIfNoFailures( new CollectorHttpClient(), new JObject(), unprocessedBatches, processingBatches, _maxConcurrentBatches, NoOpProcessBatchAsync, CancellationToken.None); Assert.Single(unprocessedBatches); Assert.Single(processingBatches); }
public void StartProcessingBatchesIfNoFailures_WhenAnyBatchIsFailed_DoesNotStartNewBatch() { var commitItemBatch = new CatalogCommitItemBatch( new[] { _commitItem0, _commitItem1 }, _packageIdentitya.Id); var failedBatchTask = new CatalogCommitItemBatchTask(commitItemBatch, FailedTask); var unprocessedBatches = new List <CatalogCommitItemBatch>() { commitItemBatch }; var processingBatches = new List <CatalogCommitItemBatchTask>() { failedBatchTask }; CatalogCommitUtilities.StartProcessingBatchesIfNoFailures( new CollectorHttpClient(), new JObject(), unprocessedBatches, processingBatches, _maxConcurrentBatches, NoOpProcessBatchAsync, CancellationToken.None); Assert.Equal(1, unprocessedBatches.Count); Assert.Equal(1, processingBatches.Count); }
public void Equals_WhenObjectBatchHasSameKey_ReturnsTrue() { var commitTimeStamp0 = DateTime.UtcNow; var commitItem0 = TestUtility.CreateCatalogCommitItem(commitTimeStamp0, _packageIdentity); var commitItemBatch0 = new CatalogCommitItemBatch(new[] { commitItem0 }, _packageIdentity.Id); var commitItemBatchTask0 = new CatalogCommitItemBatchTask(commitItemBatch0, Task.CompletedTask); var commitTimeStamp1 = commitTimeStamp0.AddMinutes(1); var commitItem1 = TestUtility.CreateCatalogCommitItem(commitTimeStamp1, _packageIdentity); var commitItemBatch1 = new CatalogCommitItemBatch(new[] { commitItem1 }, _packageIdentity.Id); var commitItemBatchTask1 = new CatalogCommitItemBatchTask(commitItemBatch1, Task.CompletedTask); Assert.True(commitItemBatchTask0.Equals(obj: commitItemBatchTask1)); Assert.True(commitItemBatchTask1.Equals(obj: commitItemBatchTask0)); Assert.True(commitItemBatchTask0.Equals(other: commitItemBatchTask1)); Assert.True(commitItemBatchTask1.Equals(other: commitItemBatchTask0)); }
public void Equals_WhenObjectBatchHasDifferentKey_ReturnsFalse() { var commitTimeStamp0 = DateTime.UtcNow; var commitItem0 = TestUtility.CreateCatalogCommitItem( commitTimeStamp0, new PackageIdentity(id: "a", version: new NuGetVersion("1.0.0"))); var commitItemBatch0 = new CatalogCommitItemBatch(new[] { commitItem0 }, key: "a"); var commitItemBatchTask0 = new CatalogCommitItemBatchTask(commitItemBatch0, Task.CompletedTask); var commitTimeStamp1 = commitTimeStamp0.AddMinutes(1); var commitItem1 = TestUtility.CreateCatalogCommitItem( commitTimeStamp1, new PackageIdentity(id: "b", version: new NuGetVersion("1.0.0"))); var commitItemBatch1 = new CatalogCommitItemBatch(new[] { commitItem1 }, key: "b"); var commitItemBatchTask1 = new CatalogCommitItemBatchTask(commitItemBatch1, Task.CompletedTask); Assert.False(commitItemBatchTask0.Equals(obj: commitItemBatchTask1)); Assert.False(commitItemBatchTask1.Equals(obj: commitItemBatchTask0)); Assert.False(commitItemBatchTask0.Equals(other: commitItemBatchTask1)); Assert.False(commitItemBatchTask1.Equals(other: commitItemBatchTask0)); }
public CatalogCommitBatchTaskTests() { _commitItemBatch = CreateCatalogCommitItemBatch(_packageIdentity.Id); _commitItemBatchTask = new CatalogCommitItemBatchTask(_commitItemBatch, Task.CompletedTask); }