Exemplo n.º 1
0
        public void TestGetInputStreamReturnsSameStream()
        {
            AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateNewBytesMessageFacade();

            BinaryWriter binaryWriter1 = amqpNmsBytesMessageFacade.GetDataWriter();
            BinaryWriter binaryWriter2 = amqpNmsBytesMessageFacade.GetDataWriter();

            Assert.AreSame(binaryWriter1, binaryWriter2);
        }
Exemplo n.º 2
0
        public void TestGetOutputStreamThrowsJMSISEWhenFacadeBeingReadFrom()
        {
            AmqpNmsBytesMessageFacade amqpNmsBytesMessageFacade = CreateNewBytesMessageFacade();

            amqpNmsBytesMessageFacade.GetDataReader();

            Assert.Throws <IllegalStateException>(() => amqpNmsBytesMessageFacade.GetDataWriter());
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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());
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
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);
        }
Exemplo n.º 8
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));
        }