public void RemoveTimeoutByIdOnEmptyTimeoutCollection( MongoTimeoutPersister sut, MongoDatabaseFactory factory, Timeout.Core.TimeoutData timeoutData) { factory.ResetTimeoutCollection(); sut.RemoveTimeoutBy(timeoutData.SagaId); factory.RetrieveAllTimeouts().Should().HaveCount(0); }
public void AddOneTimeout( MongoTimeoutPersister sut, MongoDatabaseFactory factory, Timeout.Core.TimeoutData timeoutData) { factory.ResetTimeoutCollection(); sut.Add(timeoutData); var result = factory.RetrieveAllTimeouts(); result.Should().HaveCount(1); }
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 RemoveTimeoutByIdOnNonExistantIdDoesNotRemoveOtherTimeout( MongoTimeoutPersister sut, MongoDatabaseFactory factory, Timeout.Core.TimeoutData timeoutData) { factory.ResetTimeoutCollection(); sut.Add(timeoutData); sut.RemoveTimeoutBy(Guid.NewGuid()); factory.RetrieveAllTimeouts().Should().HaveCount(1); }
public void TryRemoveEmptyTimeoutCollectionShouldReturnFalseAndNullData( MongoTimeoutPersister sut, MongoDatabaseFactory factory, string timeoutId, ContextBag context) { factory.ResetTimeoutCollection(); var result = sut.TryRemove(timeoutId, context).Result; result.Should().BeFalse(); factory.RetrieveAllTimeouts().Should().HaveCount(0); }
public void RemoveTimeoutByIdRemovesTimeout( MongoTimeoutPersister sut, MongoDatabaseFactory factory, Timeout.Core.TimeoutData timeoutData, ContextBag context) { factory.ResetTimeoutCollection(); sut.Add(timeoutData, context).Wait(); sut.RemoveTimeoutBy(timeoutData.SagaId, context).Wait(); factory.RetrieveAllTimeouts().Should().HaveCount(0); }
public void PeekExistingTimeout( MongoTimeoutPersister sut, MongoDatabaseFactory factory, Timeout.Core.TimeoutData timeout1, ContextBag context) { factory.ResetTimeoutCollection(); sut.Add(timeout1, context).Wait(); var result = factory.RetrieveAllTimeouts().First(); var peeked = sut.Peek(result.Id, context).Result; peeked.SagaId.Should().Be(timeout1.SagaId); }
public void TryRemoveEmptyTimeoutCollectionShouldReturnFalseAndNullData( MongoTimeoutPersister sut, MongoDatabaseFactory factory, string timeoutId) { factory.ResetTimeoutCollection(); Timeout.Core.TimeoutData timeoutData; var result = sut.TryRemove(timeoutId, out timeoutData); result.Should().BeFalse(); timeoutData.Should().BeNull(); factory.RetrieveAllTimeouts().Should().HaveCount(0); }
public void AddTwoDifferentTimeouts( MongoTimeoutPersister sut, MongoDatabaseFactory factory, Timeout.Core.TimeoutData timeout1, Timeout.Core.TimeoutData timeout2, ContextBag context) { factory.ResetTimeoutCollection(); sut.Add(timeout1, context).Wait(); sut.Add(timeout2, context).Wait(); var result = factory.RetrieveAllTimeouts(); result.Should().HaveCount(2); }
public void TryRemoveShouldSucceedAndReturnData( MongoTimeoutPersister sut, MongoDatabaseFactory factory, Timeout.Core.TimeoutData timeoutData, ContextBag context) { factory.ResetTimeoutCollection(); sut.Add(timeoutData, context).Wait(); var timeouts = factory.RetrieveAllTimeouts(); var result = sut.TryRemove(timeouts.First().Id, context).Result; result.Should().BeTrue(); factory.RetrieveAllTimeouts().Should().HaveCount(0); }
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); }
public void RemoveTimeoutByIdRemovesCorrectTimeoutAndDoesNotRemoveOtherTimeout( MongoTimeoutPersister sut, MongoDatabaseFactory factory, Timeout.Core.TimeoutData timeoutData1, Timeout.Core.TimeoutData timeoutData2) { factory.ResetTimeoutCollection(); sut.Add(timeoutData1); sut.Add(timeoutData2); sut.RemoveTimeoutBy(timeoutData2.SagaId); var remainingTimeouts = factory.RetrieveAllTimeouts().ToList(); remainingTimeouts.Should().HaveCount(1); remainingTimeouts.First().SagaId.Should().Be(timeoutData1.SagaId); }
public void TryRemoveShouldSucceedAndReturnData( MongoTimeoutPersister sut, MongoDatabaseFactory factory, Timeout.Core.TimeoutData timeoutData) { factory.ResetTimeoutCollection(); sut.Add(timeoutData); Timeout.Core.TimeoutData returnedTimeoutData; var timeouts = factory.RetrieveAllTimeouts(); var result = sut.TryRemove(timeouts.First().Id.ToString(), out returnedTimeoutData); result.Should().BeTrue(); returnedTimeoutData.ShouldBeEquivalentTo(timeoutData); factory.RetrieveAllTimeouts().Should().HaveCount(0); }
public void TryRemoveShouldSucceedAndReturnDataForOneTimeoutAndLeaveTheOther( MongoTimeoutPersister sut, MongoDatabaseFactory factory, Timeout.Core.TimeoutData timeoutData1, Timeout.Core.TimeoutData timeoutData2, ContextBag context) { factory.ResetTimeoutCollection(); sut.Add(timeoutData1, context).Wait(); sut.Add(timeoutData2, context).Wait(); var timeouts = factory.RetrieveAllTimeouts(); var result = sut.TryRemove(timeouts.First().Id, context).Result; result.Should().BeTrue(); var remainingTimeout = factory.RetrieveAllTimeouts().ToList(); remainingTimeout.Should().HaveCount(1); remainingTimeout.First().Id.Should().Be(timeouts.Last().Id); }
public void BasicMongoTimeoutPersisterConstruction(MongoDatabaseFactory factory) { var sut = new MongoTimeoutPersister(factory); }
public void BasicMongoTimeoutPersisterConstruction(MongoDatabaseFactory factory) { var sut = new MongoTimeoutPersister(factory, "UnitTests"); sut.Should().NotBeNull(); }