public void ResumingEventListenerReActivatesDeliveryInQueue(string queueName) { // Arrange TestBusContext context = new TestBusContext(); IMessageSender sender = context.CreateMessageSender(); IMessageReceiver receiver = context.CreateMessageReceiver(queueName, new [] { "TestTopic" }); EventMessage message = new EventMessage { Topic = "TestTopic" }; bool callbackCalled = false; receiver.StartReceivingMessages(); receiver.StartHandlingMessages(e => callbackCalled = true); receiver.Pause(); // Act sender.SendMessage(message); Thread.Sleep(WaitTime); receiver.Resume(); Thread.Sleep(WaitTime); // Assert Assert.IsTrue(callbackCalled); }
public void CreateMessageSender_ReturnsTestMessageSender() { // Arrange TestBusContext context = new TestBusContext(); // Act var sender = context.CreateMessageSender(); // Assert Assert.IsInstanceOfType(sender, typeof(TestMessageSender)); }
public void CreateMessageSenderReturnsMessageSender() { // Arrange var context = new TestBusContext(); // Act var result = context.CreateMessageSender(); // Assert Assert.IsInstanceOfType(result, typeof(TestMessageSender)); }
public void MultipleMessagesAddToQueue() { var context = new TestBusContext(); var sender = context.CreateMessageSender(); context.DeclareQueue("receiver1", new List <string> { "receiver.info" }); var message = new EventMessage("receiver.info", "receiver"); sender.SendMessage(message); sender.SendMessage(message); sender.SendMessage(message); Assert.AreEqual(3, context.TestQueues["receiver1"].Queue.Count); }
public void SendMessageWithCorrectTopicAddsToQueue() { var context = new TestBusContext(); var sender = context.CreateMessageSender(); context.DeclareQueue("receiver1", new List <string> { "receiver.info" }); context.DeclareQueue("receiver2", new List <string> { "receiver.*.info" }); var message = new EventMessage("receiver.info", "receiver"); sender.SendMessage(message); Assert.AreEqual(1, context.TestQueues["receiver1"].Queue.Count); Assert.AreEqual(0, context.TestQueues["receiver2"].Queue.Count); }
public void ReceiverCanMessageWithMultipleTopics(string topics, string chosenTopic) { // Arrange var context = new TestBusContext(); var sender = context.CreateMessageSender(); var receiver = context.CreateMessageReceiver("testQueue", topics.Split(',')); var message = new EventMessage { Topic = chosenTopic }; var callbackCalled = false; receiver.StartReceivingMessages(); receiver.StartHandlingMessages(e => callbackCalled = true); // Act sender.SendMessage(message); Thread.Sleep(WaitTime); // Assert Assert.IsTrue(callbackCalled); }
public void SendingMessageWithTopicsWorks(string topicName) { // Arrange var context = new TestBusContext(); var sender = context.CreateMessageSender(); var receiver = context.CreateMessageReceiver("testQueue", new [] { topicName }); var message = new EventMessage { Topic = topicName }; var callbackCalled = false; receiver.StartReceivingMessages(); receiver.StartHandlingMessages(e => callbackCalled = true); // Act sender.SendMessage(message); Thread.Sleep(WaitTime); // Assert Assert.IsTrue(callbackCalled); }
public void SendingMessageWithTopicsWorkWithWildcards(string topicPattern, string topicName, bool shouldHaveBeenCalled) { // Arrange var context = new TestBusContext(); var sender = context.CreateMessageSender(); var receiver = context.CreateMessageReceiver("testQueue", new [] { topicPattern }); var message = new EventMessage { Topic = topicName }; var callbackCalled = false; receiver.StartReceivingMessages(); receiver.StartHandlingMessages(e => callbackCalled = true); // Act sender.SendMessage(message); Thread.Sleep(WaitTime); // Assert Assert.AreEqual(shouldHaveBeenCalled, callbackCalled); }