public async Task When_a_group_has_one_batch_out_of_two_forwarded_the_status_is_Forwarding() { var domainEvents = new FakeDomainEvents(); var retryManager = new RetryingManager(domainEvents); using (var documentStore = InMemoryStoreBuilder.GetInMemoryStore()) { await CreateAFailedMessageAndMarkAsPartOfRetryBatch(documentStore, retryManager, "Test-group", true, 1001); var bodyStorage = new RavenAttachmentsBodyStorage { DocumentStore = documentStore }; var returnToSender = new ReturnToSender(bodyStorage); var sender = new TestSender(); var processor = new RetryProcessor(sender, domainEvents, new TestReturnToSenderDequeuer(returnToSender, documentStore, domainEvents, "TestEndpoint"), retryManager); documentStore.WaitForIndexing(); using (var session = documentStore.OpenAsyncSession()) { await processor.ProcessBatches(session, CancellationToken.None); // mark ready await session.SaveChangesAsync(); await processor.ProcessBatches(session, CancellationToken.None); await session.SaveChangesAsync(); } var status = retryManager.GetStatusForRetryOperation("Test-group", RetryType.FailureGroup); Assert.AreEqual(RetryState.Forwarding, status.RetryState); } }
public TestReturnToSenderDequeuer(ReturnToSender returnToSender, IDocumentStore store, IDomainEvents domainEvents, string endpointName) : base(null /*TransportDefinition */, returnToSender, store, domainEvents, endpointName, null /* rawEndpointFactory */) { }