public void GetNextChunkReturnsEmptyListWhenCollectionDoesNotExist( MongoTimeoutPersister sut, MongoDatabaseFactory factory) { factory.ResetTimeoutCollection(); var startSlice = DateTime.UtcNow.AddMinutes(-5); var result = sut.GetNextChunk(startSlice).Result; result.DueTimeouts.Should().BeEmpty(); result.NextTimeToQuery.Should() .BeOnOrAfter(startSlice.AddMinutes(MongoPersistenceConstants.DefaultNextTimeoutIncrementMinutes)); }
public void GetNextChunkReturnsOneTimeoutWhenCollectionHasOneTimeout( MongoTimeoutPersister sut, MongoDatabaseFactory factory, Timeout.Core.TimeoutData timeoutData) { factory.ResetTimeoutCollection(); timeoutData.Time = DateTime.UtcNow.AddMinutes(-1); sut.Add(timeoutData); var startSlice = DateTime.UtcNow.AddMinutes(-5); DateTime nextTimeToRunQuery; var result = sut.GetNextChunk(startSlice, out nextTimeToRunQuery); result.Should().HaveCount(1); nextTimeToRunQuery.Should().BeOnOrAfter(timeoutData.Time); }
public void GetNextChunkReturnsOneTimeoutWhenCollectionHasOneTimeout( MongoTimeoutPersister sut, MongoDatabaseFactory factory, Timeout.Core.TimeoutData timeoutData, ContextBag context) { factory.ResetTimeoutCollection(); timeoutData.Time = DateTime.UtcNow.AddMinutes(-1); sut.Add(timeoutData, context).Wait(); var startSlice = DateTime.UtcNow.AddMinutes(-5); var result = sut.GetNextChunk(startSlice).Result; result.DueTimeouts.Should().HaveCount(1); result.NextTimeToQuery.Should().BeOnOrAfter(timeoutData.Time); }