コード例 #1
0
        public NmsObjectMessage CreateObjectMessage(object body)
        {
            NmsObjectMessage objectMessage = CreateObjectMessage();

            objectMessage.Body = body;
            return(objectMessage);
        }
コード例 #2
0
        public void TestMessageCopy()
        {
            NmsObjectMessage message = factory.CreateObjectMessage();

            NmsObjectMessage copy = message.Copy() as NmsObjectMessage;

            Assert.IsNotNull(copy);
        }
コード例 #3
0
        public void TestClearBody()
        {
            NmsObjectMessage objectMessage = factory.CreateObjectMessage();

            objectMessage.Body = "String";
            objectMessage.ClearBody();
            Assert.False(objectMessage.IsReadOnlyBody);
            Assert.Null(objectMessage.Body);
            objectMessage.Body = "String";
            object body = objectMessage.Body;
        }
コード例 #4
0
        public void TestReceivedObjectMessageThrowsMessageNotWriteableExceptionOnSetObject()
        {
            string content = "myStringContent";
            NmsTestObjectMessageFacade facade = new NmsTestObjectMessageFacade();

            facade.Body = content;
            NmsObjectMessage objectMessage = new NmsObjectMessage(facade);

            objectMessage.OnDispatch();

            Assert.Throws <MessageNotWriteableException>(() => objectMessage.Body = "newObject");
        }
コード例 #5
0
        public void TestCreateObjectMessage()
        {
            AmqpMessageFactory factory = new AmqpMessageFactory(CreateMockAmqpConnection());
            NmsObjectMessage   message = factory.CreateObjectMessage();
            INmsMessageFacade  facade  = message.Facade;

            Assert.IsInstanceOf <NmsObjectMessage>(message);
            Assert.IsInstanceOf <AmqpNmsObjectMessageFacade>(facade);
            Assert.IsNull(facade.JmsMsgType);

            Assert.IsNull(((AmqpNmsObjectMessageFacade)facade).Body);
        }
コード例 #6
0
        public void TestEmptyForeignObjectMessageTransformCreateNewMessage()
        {
            ForeignNmsObjectMessage foreignMessage = new ForeignNmsObjectMessage();

            NmsMessage transformed = NmsMessageTransformation.TransformMessage(factory, foreignMessage);

            Assert.AreNotSame(foreignMessage, transformed);

            Assert.IsInstanceOf <NmsObjectMessage>(transformed);
            NmsObjectMessage message = (NmsObjectMessage)transformed;

            Assert.IsNull(message.Body);
        }
コード例 #7
0
        public void TestClearBodyOnReceivedObjectMessageMakesMessageWritable()
        {
            string content = "myStringContent";
            NmsTestObjectMessageFacade facade = new NmsTestObjectMessageFacade();

            facade.Body = content;
            NmsObjectMessage objectMessage = new NmsObjectMessage(facade);

            objectMessage.OnDispatch();

            Assert.True(objectMessage.IsReadOnlyBody);
            objectMessage.ClearBody();
            Assert.False(objectMessage.IsReadOnlyBody);
        }
コード例 #8
0
        public void TestClearBodyOnReceivedObjectMessageClearsUnderlyingMessageBody()
        {
            string content = "myStringContent";
            NmsTestObjectMessageFacade facade = new NmsTestObjectMessageFacade();

            facade.Body = content;
            NmsObjectMessage objectMessage = new NmsObjectMessage(facade);

            objectMessage.OnDispatch();

            Assert.NotNull(objectMessage.Body);
            objectMessage.ClearBody();

            Assert.Null(facade.Body);
        }
コード例 #9
0
        public void TestCreateObjectMessageSerializable()
        {
            AmqpMessageFactory factory = new AmqpMessageFactory(CreateMockAmqpConnection());
            NmsObjectMessage   message = factory.CreateObjectMessage(new SerializableClass());
            INmsMessageFacade  facade  = message.Facade;

            Assert.IsInstanceOf <NmsObjectMessage>(message);
            Assert.IsInstanceOf <AmqpNmsObjectMessageFacade>(facade);
            Assert.IsNull(facade.JmsMsgType);

            AmqpNmsObjectMessageFacade objectMessageFacade = (AmqpNmsObjectMessageFacade)facade;

            Assert.IsNotNull(objectMessageFacade.Body);
            Assert.IsInstanceOf <SerializableClass>(objectMessageFacade.Body);
        }
コード例 #10
0
        public void TestForeignObjectMessageTransformCreateNewMessage()
        {
            string messageBody = "TEST-MESSAGE-BODY";
            ForeignNmsObjectMessage foreignMessage = new ForeignNmsObjectMessage();

            foreignMessage.Body = messageBody;

            NmsMessage transformed = NmsMessageTransformation.TransformMessage(factory, foreignMessage);

            Assert.AreNotSame(foreignMessage, transformed);

            Assert.IsInstanceOf <NmsObjectMessage>(transformed);
            NmsObjectMessage message = (NmsObjectMessage)transformed;

            Assert.AreEqual(messageBody, message.Body);
        }
コード例 #11
0
        public void TestReadOnlyBody()
        {
            NmsObjectMessage objectMessage = factory.CreateObjectMessage();

            objectMessage.Body           = "String";
            objectMessage.IsReadOnlyBody = true;
            object body = objectMessage.Body;

            try
            {
                objectMessage.Body = "test";
                Assert.Fail("should throw exception");
            }
            catch (MessageNotWriteableException)
            {
            }
        }
コード例 #12
0
        public void TestWriteOnlyBody()
        {
            NmsObjectMessage msg = factory.CreateObjectMessage();

            msg.IsReadOnlyBody = false;

            msg.Body = "test";
            object body = msg.Body;

            msg.IsReadOnlyBody = true;
            body = msg.Body;

            try
            {
                msg.Body = "test";
                Assert.Fail("should throw exception");
            }
            catch (MessageNotWriteableException)
            {
            }
        }
コード例 #13
0
        public void TestToString()
        {
            NmsObjectMessage objectMessage = factory.CreateObjectMessage();

            Assert.True(objectMessage.ToString().StartsWith("NmsObjectMessage"));
        }