public void TestGetOutputStreamReturnsSameStream() { AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateNewBytesMessageFacade(); BinaryReader binaryReader1 = amqpNmsBytesMessageFacade.GetDataReader(); BinaryReader binaryReader2 = amqpNmsBytesMessageFacade.GetDataReader(); Assert.AreSame(binaryReader1, binaryReader2); }
public void TestGetInputStreamUsingReceivedMessageWithNoBodySectionReturnsEmptyInputStream() { global::Amqp.Message message = new global::Amqp.Message(); AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateReceivedBytesMessageFacade(message); BinaryReader binaryReader = amqpNmsBytesMessageFacade.GetDataReader(); Assert.NotNull(binaryReader); Assert.AreEqual(0, amqpNmsBytesMessageFacade.GetDataReader().Read(new byte[1], 0, 1)); }
public void TestGetOutputStreamThrowsJMSISEWhenFacadeBeingReadFrom() { AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateNewBytesMessageFacade(); amqpNmsBytesMessageFacade.GetDataReader(); Assert.Throws <IllegalStateException>(() => amqpNmsBytesMessageFacade.GetDataWriter()); }
public void TestGetInputStreamWithNewMessageReturnsEmptyInputStream() { AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateNewBytesMessageFacade(); BinaryReader byteArrayInputStream = amqpNmsBytesMessageFacade.GetDataReader(); Assert.NotNull(byteArrayInputStream); // try to read a byte, it should return 0 bytes read, i.e EOS. Assert.AreEqual(0, byteArrayInputStream.Read(new byte[1], 0, 1)); }
public void TestClearBodyWithExistingInputStream() { byte[] bytes = Encoding.UTF8.GetBytes("myBytes"); global::Amqp.Message message = new global::Amqp.Message { BodySection = new Data { Binary = bytes } }; AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateReceivedBytesMessageFacade(message); amqpNmsBytesMessageFacade.GetDataReader(); amqpNmsBytesMessageFacade.ClearBody(); Assert.AreEqual(0, amqpNmsBytesMessageFacade.GetDataReader().Read(new byte[1], 0, 1)); AssertDataBodyAsExpected(amqpNmsBytesMessageFacade, 0); }
public void TestGetMethodsWithNonAmqpValueNonDataSectionThrowsISE() { global::Amqp.Message message = new global::Amqp.Message { BodySection = new AmqpSequence() { List = new List <object>() } }; AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateReceivedBytesMessageFacade(message); Assert.Throws <IllegalStateException>(() => amqpNmsBytesMessageFacade.GetDataReader()); Assert.Throws <IllegalStateException>(() => { long bodyLength = amqpNmsBytesMessageFacade.BodyLength; }); }
public void TestGetInputStreamUsingReceivedMessageWithDataSectionContainingNothingReturnsEmptyStream() { global::Amqp.Message message = new global::Amqp.Message { BodySection = new Data() { Binary = null } }; AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateReceivedBytesMessageFacade(message); BinaryReader binaryReader = amqpNmsBytesMessageFacade.GetDataReader(); Assert.NotNull(binaryReader); Assert.AreEqual(0, amqpNmsBytesMessageFacade.BodyLength, "Message reports unexpected length"); Assert.AreEqual(0, binaryReader.Read(new byte[1], 0, 1)); }
public void TestHasBodyWithActiveInputStream() { byte[] bodyBytes = Encoding.UTF8.GetBytes("myOrigBytes"); global::Amqp.Message message = new global::Amqp.Message { BodySection = new Data() { Binary = bodyBytes } }; AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateReceivedBytesMessageFacade(message); Assert.True(amqpNmsBytesMessageFacade.HasBody()); amqpNmsBytesMessageFacade.GetDataReader(); Assert.True(amqpNmsBytesMessageFacade.HasBody()); }
public void TestClearBodySetsBodyLength0AndCausesEmptyInputStream() { byte[] bytes = Encoding.UTF8.GetBytes("myBytes"); global::Amqp.Message message = new global::Amqp.Message { BodySection = new Data { Binary = bytes } }; AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateReceivedBytesMessageFacade(message); amqpNmsBytesMessageFacade.ClearBody(); Assert.True(amqpNmsBytesMessageFacade.BodyLength == 0, "Expected no message content from facade"); Assert.AreEqual(0, amqpNmsBytesMessageFacade.GetDataReader().Read(new byte[1], 0, 1)); AssertDataBodyAsExpected(amqpNmsBytesMessageFacade, 0); }
public void TestGetMethodsWithAmqpValueContainingNonNullNonBinaryValueThrowsISE() { byte[] orig = Encoding.UTF8.GetBytes("myOrigBytes"); byte[] replacement = Encoding.UTF8.GetBytes("myReplacementBytes"); global::Amqp.Message message = new global::Amqp.Message { BodySection = new Data() { Binary = orig } }; AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateReceivedBytesMessageFacade(message); BinaryWriter binaryWriter = amqpNmsBytesMessageFacade.GetDataWriter(); binaryWriter.Write(replacement); amqpNmsBytesMessageFacade.Reset(); // Retrieve the new Binary from the underlying message, check they match // (the backing arrays may be different length so not checking arrayEquals) Data body = (Data)amqpNmsBytesMessageFacade.Message.BodySection; Assert.AreEqual(replacement, body.Binary, "Underlying message data section did not contain the expected bytes"); Assert.AreEqual(replacement.Length, amqpNmsBytesMessageFacade.BodyLength, "expected body length to match replacement bytes"); // retrieve the new bytes via an InputStream, check they match expected byte[] receivedBytes = new byte[replacement.Length]; BinaryReader binaryReader = amqpNmsBytesMessageFacade.GetDataReader(); binaryReader.Read(receivedBytes, 0, replacement.Length); CollectionAssert.AreEqual(replacement, receivedBytes, "Retrieved bytes from input steam did not match expected bytes"); // verify no more bytes remain, i.e EOS Assert.AreEqual(0, binaryReader.Read(new byte[1], 0, 1)); }
public void TestInputStreamUsingReceivedMessageWithDataSection() { byte[] bytes = Encoding.UTF8.GetBytes("myBytes"); global::Amqp.Message message = new global::Amqp.Message { BodySection = new Data() { Binary = bytes } }; AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateReceivedBytesMessageFacade(message); BinaryReader binaryReader = amqpNmsBytesMessageFacade.GetDataReader(); // retrieve the expected bytes, check they match byte[] receivedBytes = new byte[bytes.Length]; binaryReader.Read(receivedBytes, 0, bytes.Length); CollectionAssert.AreEqual(bytes, receivedBytes); // verify no more bytes remain, i.e EOS Assert.AreEqual(0, binaryReader.Read(new byte[1], 0, 1)); }