public void TestClearBody() { AmqpNmsStreamMessageFacade amqpNmsStreamMessageFacade = CreateNewStreamMessageFacade(); // add some stuff amqpNmsStreamMessageFacade.Put(true); amqpNmsStreamMessageFacade.Put(false); // retrieve only some of it, leaving some unread Assert.AreEqual(true, amqpNmsStreamMessageFacade.Peek(), "Unexpected value retrieved"); amqpNmsStreamMessageFacade.Pop(); // clear amqpNmsStreamMessageFacade.ClearBody(); // add something else amqpNmsStreamMessageFacade.Put('c'); // check we can get it alone before another IOOBE (i.e position was reset, other contents cleared) Assert.AreEqual('c', amqpNmsStreamMessageFacade.Peek(), "Unexpected value retrieved"); amqpNmsStreamMessageFacade.Pop(); Assert.Throws <MessageEOFException>(() => amqpNmsStreamMessageFacade.Peek()); }
public void TestResetPositionAfterPeekThrowsMEOFE() { global::Amqp.Message message = new global::Amqp.Message(); List <object> list = new List <object>(); list.Add(false); list.Add(true); message.BodySection = new AmqpSequence() { List = list }; AmqpNmsStreamMessageFacade amqpNmsStreamMessageFacade = CreateReceivedStreamMessageFacade(message); Assert.AreEqual(false, amqpNmsStreamMessageFacade.Peek(), "Unexpected value retrieved"); amqpNmsStreamMessageFacade.Pop(); Assert.AreEqual(true, amqpNmsStreamMessageFacade.Peek(), "Unexpected value retrieved"); amqpNmsStreamMessageFacade.Pop(); Assert.Throws <MessageEOFException>(() => amqpNmsStreamMessageFacade.Peek(), "expected exception to be thrown"); amqpNmsStreamMessageFacade.Reset(); Assert.AreEqual(false, amqpNmsStreamMessageFacade.Peek(), "Unexpected value retrieved"); amqpNmsStreamMessageFacade.Pop(); Assert.AreEqual(true, amqpNmsStreamMessageFacade.Peek(), "Unexpected value retrieved"); }
protected AmqpNmsStreamMessageFacade CreateReceivedStreamMessageFacade(global::Amqp.Message message) { AmqpNmsStreamMessageFacade facade = new AmqpNmsStreamMessageFacade(); facade.Initialize(CreateMockConsumer(CreateMockAmqpConnection()), message); return(facade); }
protected AmqpNmsStreamMessageFacade CreateNewStreamMessageFacade() { AmqpNmsStreamMessageFacade facade = new AmqpNmsStreamMessageFacade(); facade.Initialize(CreateMockAmqpConnection()); 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; }
public void TestNewMessageToSendContainsAmqpSequenceBody() { AmqpNmsStreamMessageFacade amqpNmsStreamMessageFacade = CreateNewStreamMessageFacade(); object body = amqpNmsStreamMessageFacade.Message.BodySection; Assert.NotNull(body, "Body section was not present"); Assert.That(body, Is.InstanceOf <AmqpSequence>(), "Body section was not of expected type: " + body.GetType()); }
public void TestNewMessageToSendDoesNotContainMessageTypeAnnotation() { AmqpNmsStreamMessageFacade amqpNmsStreamMessageFacade = CreateNewStreamMessageFacade(); MessageAnnotations annotations = amqpNmsStreamMessageFacade.MessageAnnotations; Assert.Null(annotations, "MessageAnnotations section was present"); Assert.AreEqual(MessageSupport.JMS_TYPE_STRM, amqpNmsStreamMessageFacade.JmsMessageType); }
public void TestCreateWithNoBodySection() { global::Amqp.Message message = new global::Amqp.Message(); message.BodySection = null; AmqpNmsStreamMessageFacade amqpNmsStreamMessageFacade = CreateReceivedStreamMessageFacade(message); //Should be able to use the message, e.g clearing it and adding to it. amqpNmsStreamMessageFacade.ClearBody(); amqpNmsStreamMessageFacade.Put("myString"); }
public void TestPeekUsingReceivedMessageWithAmqpSequenceBodyReturnsExpectedValue() { global::Amqp.Message message = new global::Amqp.Message(); List <object> list = new List <object>(); list.Add(false); message.BodySection = new AmqpSequence() { List = list }; AmqpNmsStreamMessageFacade amqpNmsStreamMessageFacade = CreateReceivedStreamMessageFacade(message); Assert.AreEqual(false, amqpNmsStreamMessageFacade.Peek(), "Unexpected value retrieved"); }
public void TestMessageCopy() { AmqpNmsStreamMessageFacade amqpNmsStreamMessageFacade = CreateNewStreamMessageFacade(); amqpNmsStreamMessageFacade.Put(true); amqpNmsStreamMessageFacade.Put("test"); amqpNmsStreamMessageFacade.Put(1); AmqpNmsStreamMessageFacade copy = amqpNmsStreamMessageFacade.Copy() as AmqpNmsStreamMessageFacade; Assert.IsNotNull(copy); Assert.AreEqual(true, copy.Peek()); copy.Pop(); Assert.AreEqual("test", copy.Peek()); copy.Pop(); Assert.AreEqual(1, copy.Peek()); copy.Pop(); }
public void TestRepeatedPeekReturnsExpectedValue() { global::Amqp.Message message = new global::Amqp.Message(); List <object> list = new List <object>(); list.Add(false); list.Add(true); message.BodySection = new AmqpSequence() { List = list }; AmqpNmsStreamMessageFacade amqpNmsStreamMessageFacade = CreateReceivedStreamMessageFacade(message); Assert.True(amqpNmsStreamMessageFacade.HasBody(), "Message should report that it contains a body"); Assert.AreEqual(false, amqpNmsStreamMessageFacade.Peek(), "Unexpected value retrieved"); Assert.AreEqual(false, amqpNmsStreamMessageFacade.Peek(), "Unexpected value retrieved"); }
public void TestPopWithNewMessageToSendThrowsMEOFE() { AmqpNmsStreamMessageFacade amqpNmsStreamMessageFacade = CreateNewStreamMessageFacade(); Assert.Throws <MessageEOFException>(() => amqpNmsStreamMessageFacade.Pop()); }
public void TestNewMessageToSendReportsNoBody() { AmqpNmsStreamMessageFacade amqpNmsStreamMessageFacade = CreateNewStreamMessageFacade(); Assert.False(amqpNmsStreamMessageFacade.HasBody(), "Message should report no body"); }