public void PausingEventListenerPausesDeliveryInQueue(string queueName) { var context = new TestBusContext(); var sender = context.CreateCommandSender(); var receiver = context.CreateCommandReceiver(queueName); receiver.DeclareCommandQueue(); var command = new CommandMessage { DestinationQueue = queueName, CorrelationId = Guid.NewGuid(), Body = Encoding.Unicode.GetBytes("Hello World") }; bool messageReceived = false; receiver.StartReceivingCommands(e => { messageReceived = true; return(new CommandMessage()); }); // Act receiver.Pause(); sender.SendCommandAsync(command); Thread.Sleep(WaitTime); // Assert Assert.AreEqual(false, messageReceived); }
public void SentMessageIsProperlySentAndReceivedWithManipulations(string startMessage, string appendMessage) { // Arrange var context = new TestBusContext(); var sender = context.CreateCommandSender(); var receiver = context.CreateCommandReceiver("dest.queue"); receiver.DeclareCommandQueue(); var command = new CommandMessage { DestinationQueue = "dest.queue", CorrelationId = Guid.NewGuid(), Body = Encoding.Unicode.GetBytes(startMessage) }; // Act receiver.StartReceivingCommands(e => { var textBody = Encoding.Unicode.GetString(e.Body); return(new CommandMessage { Body = Encoding.Unicode.GetBytes(textBody + appendMessage) }); }); var result = sender.SendCommandAsync(command); // Assert Assert.AreEqual(startMessage + appendMessage, Encoding.Unicode.GetString(result.Result.Body)); }
public void SentMessageIsProperlyReceivedAndReturned(string destQueue, string expected) { // Arrange var context = new TestBusContext(); var sender = context.CreateCommandSender(); var receiver = context.CreateCommandReceiver(destQueue); receiver.DeclareCommandQueue(); var command = new CommandMessage { DestinationQueue = destQueue, CorrelationId = Guid.NewGuid() }; // Act receiver.StartReceivingCommands(e => new CommandMessage { Body = Encoding.Unicode.GetBytes(expected) }); var result = sender.SendCommandAsync(command); // Assert Assert.AreEqual(expected, Encoding.Unicode.GetString(result.Result.Body)); }
public void CreateTestCommandSenderDeclaresNewQueue() { TestBusContext context = new TestBusContext(); var sender = context.CreateCommandSender(); Assert.IsInstanceOfType(typeof(TestCommandSender), sender.GetType().BaseType); Assert.AreEqual(1, context.CommandQueues.Count); }
public void GenerateRandomQueueNameTest() { TestBusContext context = new TestBusContext(); var sender = (TestCommandSender)context.CreateCommandSender(); var result = sender.GenerateRandomQueueName(); Assert.AreEqual(30, result.Length); }
public void CreateCommandSender_ReturnsTestCommandSender() { // Arrange TestBusContext context = new TestBusContext(); // Act var sender = context.CreateCommandSender(); // Assert Assert.IsInstanceOfType(sender, typeof(TestCommandSender)); }
public void CreateMessageSenderReturnsCommandSender() { // Arrange var context = new TestBusContext(); // Act var result = context.CreateCommandSender(); // Assert Assert.IsInstanceOfType(result, typeof(TestCommandSender)); }
public async Task TestBusIntegrationTest() { TestBusContext context = new TestBusContext(); var sender = context.CreateCommandSender(); var receiver = context.CreateCommandReceiver("queue"); receiver.DeclareCommandQueue(); receiver.StartReceivingCommands((cm) => { var message = "message2"; return(Task.Run(() => new CommandResponseMessage(message, "", cm.CorrelationId))); }); var mess = new CommandRequestMessage("message", null); var result = await sender.SendCommandAsync(mess, "queue"); Assert.AreEqual("message2", result.Message); }
public async Task SendCommandAsync() { TestBusContext context = new TestBusContext(); var sender = (TestCommandSender)context.CreateCommandSender(); var generatedQueue = context.CommandQueues.First().Value; context.DeclareCommandQueue("queue"); var message = new CommandRequestMessage("message", null); var task = sender.SendCommandAsync(message, "queue"); Assert.AreEqual(1, sender.CallbackMapper.Count); var dequeue = context.CommandQueues["queue"].Dequeue(); generatedQueue.Enqueue(new TestBusCommandMessage(new CommandResponseMessage("message", typeof(string).FullName, null), dequeue.Props)); var result = await task; Assert.AreEqual("message", result.Message); }