protected AmqpNmsMessageFacade CreateNewMessageFacade() { AmqpNmsMessageFacade facade = new AmqpNmsMessageFacade(); facade.Initialize(CreateMockAmqpConnection()); return(facade); }
protected AmqpNmsMessageFacade CreateReceivedMessageFacade(IAmqpConsumer consumer, global::Amqp.Message message) { AmqpNmsMessageFacade facade = new AmqpNmsMessageFacade(); facade.Initialize(consumer, message); return(facade); }
private AmqpNmsMessageFacade CreateMessageFacadeFromTypeId(sbyte msgType) { AmqpNmsMessageFacade message; switch (msgType) { case MessageSupport.JMS_TYPE_MSG: message = new AmqpNmsMessageFacade(); break; case MessageSupport.JMS_TYPE_BYTE: message = new AmqpNmsBytesMessageFacade(); break; case MessageSupport.JMS_TYPE_TXT: message = new AmqpNmsTextMessageFacade(); break; case MessageSupport.JMS_TYPE_OBJ: message = new AmqpNmsObjectMessageFacade(); break; case MessageSupport.JMS_TYPE_STRM: message = new AmqpNmsStreamMessageFacade(); break; case MessageSupport.JMS_TYPE_MAP: message = new AmqpNmsMapMessageFacade(); break; default: throw new ArgumentOutOfRangeException(nameof(msgType)); } message.Initialize(CreateMockAmqpConnection()); return message; }
protected AmqpNmsMessageFacade CreateReceivedMessageFacade(global::Amqp.Message message) { AmqpNmsMessageFacade facade = new AmqpNmsMessageFacade(); IAmqpConnection mockAmqpConnection = CreateMockAmqpConnection(); var mockConsumer = CreateMockConsumer(mockAmqpConnection); facade.Initialize(mockConsumer, message); return(facade); }
public void TestNMSDeliveryTime_Set_ShouldHaveMessageAnnotations() { AmqpNmsMessageFacade msg = new AmqpNmsMessageFacade(); Mock <IAmqpConnection> mockAmqpConnection = new Mock <IAmqpConnection>(); msg.Initialize(mockAmqpConnection.Object); var deliveryTime = DateTime.UtcNow.AddMinutes(2); msg.DeliveryTime = deliveryTime; Assert.AreEqual(new DateTimeOffset(deliveryTime).ToUnixTimeMilliseconds(), msg.MessageAnnotations[SymbolUtil.NMS_DELIVERY_TIME]); }
public static IDestination GetReplyTo(AmqpNmsMessageFacade message, IAmqpConnection connection, IDestination consumerDestination) { string replyTo = message.ReplyToAddress; object typeAnnotation = message.GetMessageAnnotation(SymbolUtil.JMSX_OPT_REPLY_TO); if (typeAnnotation != null) { byte type = Convert.ToByte(typeAnnotation); string name = StripPrefixIfNecessary(replyTo, connection, type); return(CreateDestination(name, type)); } else { string name = StripPrefixIfNecessary(replyTo, connection); return(CreateDestination(name, consumerDestination, true)); } }
public void TestTimeToLiveSetFromMessageWithNonDefaultValue() { var message = new global::Amqp.Message { Header = new Header { Ttl = 65535 }, BodySection = new AmqpValue { Value = "test" } }; NmsMessage nmsMessage = AmqpCodec.DecodeMessage(CreateMockConsumer(), message).AsMessage(); Assert.NotNull(nmsMessage); Assert.IsInstanceOf<NmsMessage>(nmsMessage); Assert.AreEqual(TimeSpan.FromMilliseconds(65535), nmsMessage.NMSTimeToLive); AmqpNmsMessageFacade facade = nmsMessage.Facade as AmqpNmsMessageFacade; Assert.NotNull(facade); Assert.AreEqual(TimeSpan.FromMilliseconds(65535), facade.NMSTimeToLive); }
public void TestMessagePrioritySetFromMessageWithNonDefaultValue() { var message = new global::Amqp.Message { Header = new Header { Priority = 8 }, BodySection = new AmqpValue { Value = "test" } }; NmsMessage nmsMessage = AmqpCodec.DecodeMessage(CreateMockConsumer(), message).AsMessage(); Assert.NotNull(nmsMessage); Assert.IsInstanceOf<NmsMessage>(nmsMessage); Assert.AreEqual(MsgPriority.VeryHigh, nmsMessage.NMSPriority); AmqpNmsMessageFacade facade = nmsMessage.Facade as AmqpNmsMessageFacade; Assert.NotNull(facade); Assert.AreEqual(MsgPriority.VeryHigh, facade.NMSPriority); }
public void TestDeliveryCountSetFromMessageWithNonDefaultValue() { var message = new global::Amqp.Message { Header = new Header { DeliveryCount = 2 }, BodySection = new AmqpValue { Value = "test" } }; NmsMessage nmsMessage = AmqpCodec.DecodeMessage(CreateMockConsumer(), message).AsMessage(); Assert.NotNull(nmsMessage); Assert.IsInstanceOf<NmsMessage>(nmsMessage); Assert.IsTrue(nmsMessage.NMSRedelivered); AmqpNmsMessageFacade facade = nmsMessage.Facade as AmqpNmsMessageFacade; Assert.NotNull(facade); Assert.AreEqual(2, facade.RedeliveryCount); Assert.AreEqual(2, facade.Message.Header.DeliveryCount); }
private void DoTestNMSMessageEncodingAddsProperMessageAnnotations(sbyte msgType, byte?toType, byte?replyToType) { AmqpNmsMessageFacade messageFacade = CreateMessageFacadeFromTypeId(msgType); IDestination to = CreateDestinationFromTypeId(toType); IDestination replyTo = CreateDestinationFromTypeId(replyToType); messageFacade.NMSDestination = to; messageFacade.NMSReplyTo = replyTo; AmqpCodec.EncodeMessage(messageFacade); Assert.AreEqual(messageFacade.MessageAnnotations[SymbolUtil.JMSX_OPT_MSG_TYPE], msgType); if (toType != null) { Assert.True(messageFacade.MessageAnnotationExists(SymbolUtil.JMSX_OPT_DEST)); Assert.AreEqual(messageFacade.GetMessageAnnotation(SymbolUtil.JMSX_OPT_DEST), toType.Value); } if (replyToType != null) { Assert.True(messageFacade.MessageAnnotationExists(SymbolUtil.JMSX_OPT_REPLY_TO)); Assert.AreEqual(messageFacade.GetMessageAnnotation(SymbolUtil.JMSX_OPT_REPLY_TO), replyToType.Value); } }