public void Queue_Manager_Test() { var clientManager = new PooledRedisClientManager(); clientManager.GetClient().FlushDb(); var manager = new QueueManager(new JsonSerializer(), clientManager, new QueueKeyNameProvider(false)); var messageMapper = new MessageMapper(); messageMapper.Initialize(new[] { typeof(TestMessage), typeof(TestEvent) }); var nsbSerializer = new JsonMessageSerializer(messageMapper); var message = new TestMessage() { Name = "Bob" }; var transportMessage = new TransportMessage() { Id = Guid.NewGuid().ToString("N"), MessageIntent = MessageIntentEnum.Send, Headers = new Dictionary <string, string>() }; transportMessage.Headers["NServiceBus.FailedQ"] = "original"; using (var ms = new MemoryStream()) { nsbSerializer.Serialize(new[] { message }, ms); transportMessage.Body = ms.ToArray(); } var errorAddress = Address.Parse("error"); manager.SendMessageToQueue(transportMessage, errorAddress); var messageCount = manager.GetMessageCount(errorAddress); var messages = manager.GetAllMessages(errorAddress); Assert.IsTrue(messages.Count == 1); Assert.IsTrue(messages[0].Id == transportMessage.Id); Assert.IsTrue(messageCount == 1); var queues = manager.GetAllQueues(); Assert.IsTrue(queues.Count == 1); manager.ReturnAllMessagesToSourceQueue(errorAddress); var queues2 = manager.GetAllQueues(); Assert.IsTrue(queues2.Count(o => o.Queue == "original") > 0); manager.DeleteQueue(Address.Parse("original")); var queues3 = manager.GetAllQueues(); Assert.IsTrue(queues3.Count == 0); }
public void SendMessage(TestMessage message) { _output.WriteLine(message.Message); }