public void When_FailedDateRangeBlocksExistInTargetPeriodAndNumberIsLessThanBlocksLimit_ThenReturnAllFailedBlocks() { // ARRANGE var now = DateTime.UtcNow; var taskExecution1 = _executionHelper.InsertOverrideTaskExecution(_taskDefinitionId, new TimeSpan(0, 1, 0), now.AddMinutes(-12), now.AddMinutes(-1)); var block1 = _blocksHelper.InsertDateRangeBlock(_taskDefinitionId, now.AddMinutes(-2), now.AddMinutes(-1)); var block2 = _blocksHelper.InsertDateRangeBlock(_taskDefinitionId, now.AddMinutes(-12), now.AddMinutes(-11)); _blocksHelper.InsertBlockExecution(taskExecution1, block1, now.AddMinutes(-2), now.AddMinutes(-2), now.AddMinutes(-1), BlockExecutionStatus.Failed); _blocksHelper.InsertBlockExecution(taskExecution1, block2, now.AddMinutes(-12), now.AddMinutes(-12), now.AddMinutes(-11), BlockExecutionStatus.Completed); var request = new FindFailedBlocksRequest(new TaskId(TestConstants.ApplicationName, TestConstants.TaskName), "1", BlockType.DateRange, DateTime.UtcNow.AddMinutes(-20), DateTime.UtcNow, 2, 3); // ACT var sut = CreateSut(); var failedBlocks = sut.FindFailedRangeBlocks(request); // ASSERT Assert.AreEqual(1, failedBlocks.Count); Assert.AreEqual(block1.ToString(), failedBlocks[0].RangeBlockId); }
public void When_FailedDateRangeBlocksExistInTargetPeriodAndNumberIsGreaterThanBlocksLimit_ThenReturnOldestBlocksUpToCountLimit() { // ARRANGE var now = DateTime.UtcNow; var taskExecution1 = _executionHelper.InsertOverrideTaskExecution(_taskDefinitionId, new TimeSpan(0, 1, 0), now.AddMinutes(-32), now.AddMinutes(-1)); var block1 = _blocksHelper.InsertDateRangeBlock(_taskDefinitionId, now.AddMinutes(-2), now.AddMinutes(-1)); var block2 = _blocksHelper.InsertDateRangeBlock(_taskDefinitionId, now.AddMinutes(-12), now.AddMinutes(-11)); var block3 = _blocksHelper.InsertDateRangeBlock(_taskDefinitionId, now.AddMinutes(-22), now.AddMinutes(-21)); var block4 = _blocksHelper.InsertDateRangeBlock(_taskDefinitionId, now.AddMinutes(-32), now.AddMinutes(-31)); _blocksHelper.InsertBlockExecution(taskExecution1, block1, now.AddMinutes(-2), now.AddMinutes(-2), now.AddMinutes(-1), BlockExecutionStatus.Failed); _blocksHelper.InsertBlockExecution(taskExecution1, block2, now.AddMinutes(-12), now.AddMinutes(-12), now.AddMinutes(-11), BlockExecutionStatus.Failed); _blocksHelper.InsertBlockExecution(taskExecution1, block3, now.AddMinutes(-22), now.AddMinutes(-22), now.AddMinutes(-21), BlockExecutionStatus.Failed); _blocksHelper.InsertBlockExecution(taskExecution1, block4, now.AddMinutes(-32), now.AddMinutes(-32), now.AddMinutes(-31), BlockExecutionStatus.Completed); int blockCountLimit = 2; var request = new FindFailedBlocksRequest(new TaskId(TestConstants.ApplicationName, TestConstants.TaskName), "1", BlockType.DateRange, DateTime.UtcNow.AddMinutes(-200), DateTime.UtcNow, blockCountLimit, 3); // ACT var sut = CreateSut(); var failedBlocks = sut.FindFailedRangeBlocks(request); // ASSERT Assert.AreEqual(blockCountLimit, failedBlocks.Count); Assert.IsTrue(failedBlocks.Any(x => x.RangeBlockId == block2.ToString())); Assert.IsTrue(failedBlocks.Any(x => x.RangeBlockId == block3.ToString())); }
public void When_FailedObjectBlocksExistOutsideTargetPeriod_ThenReturnNoBlocks() { // ARRANGE var now = DateTime.UtcNow; var taskExecution1 = _executionHelper.InsertOverrideTaskExecution(_taskDefinitionId, new TimeSpan(0, 1, 0), now.AddMinutes(-212), now.AddMinutes(-200)); var block1 = _blocksHelper.InsertObjectBlock(_taskDefinitionId, now.AddMinutes(-200), Guid.NewGuid().ToString()); var block2 = _blocksHelper.InsertObjectBlock(_taskDefinitionId, now.AddMinutes(-212), Guid.NewGuid().ToString()); _blocksHelper.InsertBlockExecution(taskExecution1, block1, now.AddMinutes(-200), now.AddMinutes(-200), now.AddMinutes(-201), BlockExecutionStatus.Failed); _blocksHelper.InsertBlockExecution(taskExecution1, block2, now.AddMinutes(-212), now.AddMinutes(-212), now.AddMinutes(-211), BlockExecutionStatus.Completed); var request = new FindFailedBlocksRequest(new TaskId(TestConstants.ApplicationName, TestConstants.TaskName), "1", BlockType.Object, DateTime.UtcNow.AddMinutes(-20), DateTime.UtcNow, 2, 3); // ACT var sut = CreateSut(); var failedBlocks = sut.FindFailedObjectBlocks<string>(request); // ASSERT Assert.AreEqual(0, failedBlocks.Count); }