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)); } } }
public void AlwaysFailsService_ends_up_in_dlq_after_3_attempts() { var service = new AlwaysFailService(); var request = new AlwaysFail { Name = "World!" }; using (var serviceHost = this.CreateMessagingService()) { using (var client = serviceHost.MessageFactory.CreateMessageQueueClient()) { client.Publish(request); } serviceHost.RegisterHandler <AlwaysFail>(m => service.Any(m.GetBody())); 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 <AlwaysFail>(MqQueueNames <AlwaysFail> .Dlq); client.Ack(dlqMessage); Assert.That(dlqMessage, Is.Not.Null); Assert.That(dlqMessage.GetBody().Name, Is.EqualTo(request.Name)); } } }
public void AlwaysFailTest() { var blackboard = new TestBlackboard(); var node = new AlwaysFail <TestBlackboard>(); var tree = BehaviorTreeBuilder <TestBlackboard> .Begin() .Sequence() .Decorator(node).Leaf(new TrackingLeaf()) .Build(blackboard); this.UpdateAndStep(tree, 0.1f); Assert.AreEqual(BTTaskStatus.Failed, node.Status); Assert.AreEqual(1, blackboard.GetTracking(TestBlackboard.TrackingExecution)); }
public void ShouldRunChainOfCommandsAndFail() { var mockCommand1 = new Mock <AlwaysFail>(); var mockCommand2 = new Mock <AlwaysFail>(); var alwaysFail = new AlwaysFail(); var commands = new[] { mockCommand1.Object, new AlwaysFail(), mockCommand2.Object, }; Subject.Commands = commands; Assert.That(Subject.Run, Throws.TypeOf <CommandChainFailedException>()); mockCommand1.Verify(x => x.Run(), Times.Once()); mockCommand2.Verify(x => x.Run(), Times.Never()); }