public void AlwaysFailsService_ends_up_in_dlq_after_3_attempts() { var service = Container.Resolve<AlwaysFailService>(); var request = new AlwaysFail { Name = "World!" }; using (var serviceHost = CreateMessagingService()) { using (var client = serviceHost.MessageFactory.CreateMessageQueueClient()) { client.Publish(request); } serviceHost.RegisterHandler<AlwaysFail>(service.ExecuteAsync); serviceHost.Start(); Assert.That(service.Result, Is.Null); Assert.That(service.TimesCalled, Is.EqualTo(3)); using (var client = serviceHost.MessageFactory.CreateMessageQueueClient()) { var dlqMessage = client.GetAsync(QueueNames<AlwaysFail>.Dlq) .ToMessage<AlwaysFail>(); Assert.That(dlqMessage, Is.Not.Null); Assert.That(dlqMessage.GetBody().Name, Is.EqualTo(request.Name)); } } }
/// <summary>Anies the given request.</summary> /// /// <exception cref="NotSupportedException">Thrown when the requested operation is not supported.</exception> /// /// <param name="request">The request.</param> /// /// <returns>An object.</returns> public object Any(AlwaysFail request) { this.TimesCalled++; throw new NotSupportedException("This service always fails"); }
/// <summary>Anies the given request.</summary> /// /// <exception cref="NotSupportedException">Thrown when the requested operation is not supported.</exception> /// /// <param name="request">The request.</param> /// /// <returns>An object.</returns> public object Any(AlwaysFail request) { this.TimesCalled++; throw new NotSupportedException("This service always fails"); }