public void TestGetInputStreamReturnsSameStream() { AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateNewBytesMessageFacade(); BinaryWriter binaryWriter1 = amqpNmsBytesMessageFacade.GetDataWriter(); BinaryWriter binaryWriter2 = amqpNmsBytesMessageFacade.GetDataWriter(); Assert.AreSame(binaryWriter1, binaryWriter2); }
public void TestGetOutputStreamThrowsJMSISEWhenFacadeBeingReadFrom() { AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateNewBytesMessageFacade(); amqpNmsBytesMessageFacade.GetDataReader(); Assert.Throws <IllegalStateException>(() => amqpNmsBytesMessageFacade.GetDataWriter()); }
public void TestGetBodyLengthUsingPopulatedMessageToSend() { byte[] bytes = Encoding.UTF8.GetBytes("myBytes"); AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateNewBytesMessageFacade(); BinaryWriter binaryWriter = amqpNmsBytesMessageFacade.GetDataWriter(); binaryWriter.Write(bytes); amqpNmsBytesMessageFacade.Reset(); Assert.AreEqual(bytes.Length, amqpNmsBytesMessageFacade.BodyLength); }
public void TestCopyOnPopulatedNewMessageCreatesDataSection() { AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateNewBytesMessageFacade(); byte[] bytes = Encoding.UTF8.GetBytes("myBytes"); BinaryWriter binaryWriter = amqpNmsBytesMessageFacade.GetDataWriter(); binaryWriter.Write(bytes); AmqpNmsBytesMessageFacade copy = amqpNmsBytesMessageFacade.Copy() as AmqpNmsBytesMessageFacade; Assert.IsNotNull(copy); AssertDataBodyAsExpected(amqpNmsBytesMessageFacade, bytes.Length); AssertDataBodyAsExpected(copy, bytes.Length); Assert.AreEqual(amqpNmsBytesMessageFacade.ContentType, copy.ContentType); }
public void TestHasBodyWithActiveOutputStream() { AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateNewBytesMessageFacade(); Assert.False(amqpNmsBytesMessageFacade.HasBody()); BinaryWriter binaryWriter = amqpNmsBytesMessageFacade.GetDataWriter(); Assert.False(amqpNmsBytesMessageFacade.HasBody()); binaryWriter.Write(1); // Body exists after some data written. Assert.True(amqpNmsBytesMessageFacade.HasBody()); amqpNmsBytesMessageFacade.Reset(); Assert.True(amqpNmsBytesMessageFacade.HasBody()); }
public void TestGetOutputStreamOnCopiedMessageLeavesOriginalUntouched() { AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateNewBytesMessageFacade(); byte[] bytes = Encoding.UTF8.GetBytes("myBytes"); BinaryWriter binaryWriter = amqpNmsBytesMessageFacade.GetDataWriter(); binaryWriter.Write(bytes); AmqpNmsBytesMessageFacade copy = amqpNmsBytesMessageFacade.Copy() as AmqpNmsBytesMessageFacade; Assert.IsNotNull(copy); AssertDataBodyAsExpected(amqpNmsBytesMessageFacade, bytes.Length); AssertDataBodyAsExpected(copy, bytes.Length); copy.GetDataWriter(); AssertDataBodyAsExpected(amqpNmsBytesMessageFacade, bytes.Length); AssertDataBodyAsExpected(copy, 0); }
public void TestClearBodyWithExistingOutputStream() { byte[] bytes = Encoding.UTF8.GetBytes("myBytes"); global::Amqp.Message message = new global::Amqp.Message { BodySection = new Data { Binary = bytes } }; AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateReceivedBytesMessageFacade(message); amqpNmsBytesMessageFacade.GetDataWriter(); amqpNmsBytesMessageFacade.ClearBody(); 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)); }