public void When_a_subscription_exists_and_messages_are_in_the_queue_the_messages_are_returned() { _nameSpaceManagerWrapper.Setup(f => f.SubscriptionExists("topic", "subscription")).Returns(true); var messageLockTokenOne = Guid.NewGuid().ToString(); var messageLockTokenTwo = Guid.NewGuid().ToString(); var brokeredMessageList = new List <IBrokeredMessageWrapper>(); var message1 = new Mock <IBrokeredMessageWrapper>(); message1.Setup(m => m.LockToken).Returns(messageLockTokenOne); message1.Setup(m => m.MessageBodyValue).Returns(Encoding.UTF8.GetBytes("somebody")); var message2 = new Mock <IBrokeredMessageWrapper>(); message2.Setup(m => m.LockToken).Returns(messageLockTokenTwo); message2.Setup(m => m.MessageBodyValue).Returns(Encoding.UTF8.GetBytes("somebody2")); brokeredMessageList.Add(message1.Object); brokeredMessageList.Add(message2.Object); _messageReceiver.Setup(x => x.Receive(10, TimeSpan.FromMilliseconds(400))).Returns(Task.FromResult <IEnumerable <IBrokeredMessageWrapper> >(brokeredMessageList)); var result = _azureServiceBusConsumer.Receive(400); Assert.That(result[0].Body.Value, Is.EqualTo("somebody")); Assert.That(result[0].Header.Bag["LockToken"], Is.EqualTo(messageLockTokenOne)); Assert.That(result[0].Header.Topic, Is.EqualTo("topic")); Assert.That(result[1].Body.Value, Is.EqualTo("somebody2")); Assert.That(result[1].Header.Bag["LockToken"], Is.EqualTo(messageLockTokenTwo)); Assert.That(result[1].Header.Topic, Is.EqualTo("topic")); }
public void When_ackOnRead_is_Set_and_DeadLetter_fails_then_exception_is_thrown() { var brokeredMessageList = new List <IBrokeredMessageWrapper>(); var message1 = new Mock <IBrokeredMessageWrapper>(); var mockMessageReceiver = new Mock <IServiceBusReceiverProvider>(); mockMessageReceiver.Setup(x => x.Get("topic", "subscription", ServiceBusReceiveMode.PeekLock)).Returns(_messageReceiver.Object); var lockToken = Guid.NewGuid().ToString(); message1.Setup(x => x.MessageBodyValue).Returns((byte[])null); message1.Setup(m => m.ApplicationProperties).Returns(new Dictionary <string, object>() { { "MessageType", "MT_EVENT" } }); message1.Setup(m => m.LockToken).Returns(lockToken); brokeredMessageList.Add(message1.Object); _messageReceiver.Setup(x => x.Receive(10, TimeSpan.FromMilliseconds(400))).Returns(Task.FromResult <IEnumerable <IBrokeredMessageWrapper> >(brokeredMessageList)); _messageReceiver.Setup(x => x.DeadLetter(lockToken)).Throws(new Exception()); var azureServiceBusConsumer = new AzureServiceBusConsumer("topic", "subscription", _mockMessageProducer.Object, _nameSpaceManagerWrapper.Object, mockMessageReceiver.Object, makeChannels: OnMissingChannel.Create, receiveMode: ServiceBusReceiveMode.PeekLock); Message[] result = azureServiceBusConsumer.Receive(400); var msg = result.First(); Assert.Throws <Exception>(() => azureServiceBusConsumer.Reject(msg)); }
public void When_a_subscription_does_not_exist_and_Missing_is_set_to_Validate_a_Channel_Failure_is_Raised() { _nameSpaceManagerWrapper.Setup(f => f.SubscriptionExists("topic", "subscription")).Returns(false); var azureServiceBusConsumerValidate = new AzureServiceBusConsumer("topic", "subscription", _mockMessageProducer.Object, _nameSpaceManagerWrapper.Object, _mockMessageReceiver.Object, makeChannels: OnMissingChannel.Validate); Assert.Throws <ChannelFailureException>(() => azureServiceBusConsumerValidate.Receive(400)); }
public void When_a_subscription_exists_and_messages_are_in_the_queue_the_messages_are_returned() { _nameSpaceManagerWrapper.Setup(f => f.SubscriptionExists("topic", "subscription")).Returns(true); var brokeredMessageList = new List <IBrokeredMessageWrapper>(); var message1 = new Mock <IBrokeredMessageWrapper>(); message1.Setup(m => m.MessageBodyValue).Returns(Encoding.UTF8.GetBytes("somebody")); message1.Setup(m => m.ApplicationProperties).Returns(new Dictionary <string, object>() { { "MessageType", "MT_EVENT" } }); var message2 = new Mock <IBrokeredMessageWrapper>(); message2.Setup(m => m.MessageBodyValue).Returns(Encoding.UTF8.GetBytes("somebody2")); message2.Setup(m => m.ApplicationProperties).Returns(new Dictionary <string, object>() { { "MessageType", "MT_DOCUMENT" } }); brokeredMessageList.Add(message1.Object); brokeredMessageList.Add(message2.Object); _messageReceiver.Setup(x => x.Receive(10, TimeSpan.FromMilliseconds(400))).Returns(Task.FromResult <IEnumerable <IBrokeredMessageWrapper> >(brokeredMessageList)); Message[] result = _azureServiceBusConsumer.Receive(400); Assert.Equal("somebody", result[0].Body.Value); Assert.Equal("topic", result[0].Header.Topic); Assert.Equal(MessageType.MT_EVENT, result[0].Header.MessageType); Assert.Equal("somebody2", result[1].Body.Value); Assert.Equal("topic", result[1].Header.Topic); Assert.Equal(MessageType.MT_DOCUMENT, result[1].Header.MessageType); }