void RunSerializerTests(XmlObjectSerializer serializer)
        {
            var book    = new TestBook("contoso", 1, 5);
            var message = GetBrokeredMessage(serializer, book);

            var returned = message.GetBody <TestBook>(serializer);

            Assert.Equal(book, returned);
        }
        public void RunSerializerTests(string testCaseName)
        {
            var serializer = SerializerTestCases[testCaseName];
            var book       = new TestBook("contoso", 1, 5);
            var message    = GetBrokeredMessage(serializer, book);
            var returned   = (TestBook)serializer.ReadObject(message.Body.ToStream());

            Assert.AreEqual(book, returned);
        }
        public void RunSerializerTests(string testCaseName)
        {
            var serializer = SerializerTestCases[testCaseName];
            var book       = new TestBook("contoso", 1, 5);
            var message    = GetBrokeredMessage(serializer, book);

            var returned = message.GetBody <TestBook>(serializer);

            Assert.Equal(book, returned);
        }
        Message GetBrokeredMessage(XmlObjectSerializer serializer, TestBook book)
        {
            byte[] payload = null;
            using (var memoryStream = new MemoryStream(10))
            {
                serializer.WriteObject(memoryStream, book);
                memoryStream.Flush();
                memoryStream.Position = 0;
                payload = memoryStream.ToArray();
            };

            return(new Message(payload));
        }
        public override bool Equals(Object obj)
        {
            if (obj == null || GetType() != obj.GetType())
            {
                return(false);
            }

            TestBook book = (TestBook)obj;

            return
                (this.Name.Equals(book.Name, StringComparison.OrdinalIgnoreCase) &&
                 this.Count == book.Count &&
                 this.Id == book.Id);
        }
Exemple #6
0
        async Task RunEnd2EndSerializerTests(TransportType transportType, string sbConnectionString)
        {
            string queueName = TestConstants.NonPartitionedQueueName;

            // Create a full framework MessageSender
            MessagingFactory messagingFactory          = MessagingFactory.CreateFromConnectionString(sbConnectionString);
            MessageSender    fullFrameWorkClientSender = messagingFactory.CreateMessageSender(queueName);

            // Create a .NetStandard MessageReceiver
            Core.MessageReceiver dotNetStandardMessageReceiver = new Core.MessageReceiver(TestUtility.NamespaceConnectionString, queueName, ServiceBus.ReceiveMode.ReceiveAndDelete);

            try
            {
                // Send Plain string
                string message1Body = "contosoString";
                var    message1     = new BrokeredMessage(message1Body);
                await fullFrameWorkClientSender.SendAsync(message1);

                // Receive Plain string
                var returnedMessage = await dotNetStandardMessageReceiver.ReceiveAsync();

                TestUtility.Log($"Message1 SequenceNumber: {returnedMessage.SystemProperties.SequenceNumber}");
                var returnedBody1 = returnedMessage.GetBody <string>();
                TestUtility.Log($"Message1: {returnedBody1}");
                Assert.True(string.Equals(message1Body, returnedBody1));

                // Send Custom object
                var book     = new TestBook("contosoBook", 1, 5);
                var message2 = new BrokeredMessage(book);
                await fullFrameWorkClientSender.SendAsync(message2);

                // Receive Custom object
                returnedMessage = await dotNetStandardMessageReceiver.ReceiveAsync();

                TestUtility.Log($"Message2 SequenceNumber: {returnedMessage.SystemProperties.SequenceNumber}");
                var returnedBody2 = returnedMessage.GetBody <TestBook>();
                TestUtility.Log($"Message2: {returnedBody2}");
                Assert.Equal(book, returnedBody2);

                // Send UTF8 encoded byte array object
                string message3Body = "contosoBytes";
                var    message3     = new BrokeredMessage(Encoding.UTF8.GetBytes(message3Body));
                await fullFrameWorkClientSender.SendAsync(message3);

                // Receive UTF8 encoded byte array object
                returnedMessage = await dotNetStandardMessageReceiver.ReceiveAsync();

                TestUtility.Log($"Message3 SequenceNumber: {returnedMessage.SystemProperties.SequenceNumber}");
                var returnedBody3 = Encoding.UTF8.GetString(returnedMessage.GetBody <byte[]>());
                TestUtility.Log($"Message1: {returnedBody3}");
                Assert.True(string.Equals(message3Body, returnedBody3));

                // Send Stream Object
                string message4Body = "contosoStreamObject";
                var    message4     = new BrokeredMessage(new MemoryStream(Encoding.UTF8.GetBytes(message4Body)));
                await fullFrameWorkClientSender.SendAsync(message4);

                // Receive Stream Object
                returnedMessage = await dotNetStandardMessageReceiver.ReceiveAsync();

                TestUtility.Log($"Message3 SequenceNumber: {returnedMessage.SystemProperties.SequenceNumber}");
                var returnedBody4 = Encoding.UTF8.GetString(returnedMessage.Body);
                TestUtility.Log($"Message4: {returnedBody4}");
                Assert.True(string.Equals(message4Body, returnedBody4));
            }
            finally
            {
                await dotNetStandardMessageReceiver.CloseAsync();

                await fullFrameWorkClientSender.CloseAsync();
            }
        }