public void JsonToXmlExecuteTest()
        {
            var jsonToXmlConverter = new JsonToXmlConverter
            {
                Namespace = "http://test",
                Prefix    = "ns0",
                RootNode  = "somenode"
            };

            IMessageInspectorContext context = new StubIMessageInspectorContext
            {
                TracerGet = () => new StubITracer(),
            };


            var testMessage = new TestMessage
            {
                ContentType = new ContentType("application/json"),
                Data        = GetJsonStream()
            };

            Task task = jsonToXmlConverter.Execute(testMessage, context);

            task.Wait();
            Assert.IsTrue(task.IsCompleted);

            var doc = new XmlDocument();

            doc.Load(testMessage.Data);

            Assert.IsTrue(doc.DocumentElement != null && doc.DocumentElement.Name == "ns0:somenode");
        }
Example #2
0
        JsonToXmlConvertCreatesAValidXmlDocWhenRootNodePropertyIsNotSetForJsonMessagesWhichAlreadyHaveAParentTag()
        {
            //Arrange
            IBaseMessage inputMessage =
                PTL.MessageHelper.CreateFromStream(MessageHelper.LoadMessage("JsonPurchaseOrder.txt"));
            var jsonToXmlConverter = new JsonToXmlConverter();

            PTL.ReceivePipelineWrapper testPipelineWrapper = PTL.PipelineFactory.CreateEmptyReceivePipeline();
            testPipelineWrapper.AddComponent(jsonToXmlConverter, PTL.PipelineStage.Decode);

            //Act
            PTL.MessageCollection outputMessages = testPipelineWrapper.Execute(inputMessage);

            //Assert
            Assert.IsTrue(outputMessages.Count == 1);
            IBaseMessage outputMessage = outputMessages[0];

            Assert.IsTrue(outputMessage.BodyPart.Data.Position == 0, "The stream position should be zero");
            //The stream is at position zero


            //the following code is an Assert in itself, will throw an exception if an invalid xml is generated.
            var output = new XmlDocument();

            output.Load(outputMessage.BodyPart.Data);
            Assert.IsTrue(System.String.CompareOrdinal(output.FirstChild.Name, "PO") == 0);
        }
        public void testDataTypes()
        {
            TestUtils.WriteFile("jsontoxml.json", @"{""root"":{ ""field1"":""b"", ""field2"" : 33, ""field3"" : -22.5, ""field4"" : false }}");

            JsonToXmlConverter converter = new JsonToXmlConverter();

            converter.convert("jsontoxml.json", "jsontoxml.xml");

            Assert.Equal(@"<root><field1>b</field1><field2>33</field2><field3>-22.5</field3><field4>false</field4></root>", TestUtils.ReadFile("jsontoxml.xml").Replace("\r\n", "").Replace("  ", ""));
        }
        public void testEmpty()
        {
            TestUtils.WriteFile("jsontoxml.json", @"{""root"": {}}");

            JsonToXmlConverter converter = new JsonToXmlConverter();

            converter.convert("jsontoxml.json", "jsontoxml.xml");

            Assert.Equal(@"<root />", TestUtils.ReadFile("jsontoxml.xml").Replace("\r\n", "").Replace("  ", ""));
        }
        public void testCycleConvertation()
        {
            TestUtils.WriteFile("jsontoxml.json", @"{""root"":{ ""field1"":""b"", ""field2"" : 33, ""field3"" : -22.5, ""field4"" : false }}");

            JsonToXmlConverter converter  = new JsonToXmlConverter();
            XmlToJsonConverter converter1 = new XmlToJsonConverter();

            converter.convert("jsontoxml.json", "jsontoxml.xml");
            converter1.convert("jsontoxml.xml", "jsontoxml.json");

            Assert.Equal(@"{""root"":{""field1"":""b"",""field2"":""33"",""field3"":""-22.5"",""field4"":""false""}}", TestUtils.ReadFile("jsontoxml.json").Replace("\r\n", "").Replace("  ", ""));
        }
        public void testCycleConvertation()
        {
            TestUtils.WriteFile("xmltojson.xml", @"<root><field1>b</field1><field2>33</field2><field3>-22.5</field3><field4>false</field4></root>");

            JsonToXmlConverter converter  = new JsonToXmlConverter();
            XmlToJsonConverter converter1 = new XmlToJsonConverter();

            converter1.convert("xmltojson.xml", "xmltojson.json");
            converter.convert("xmltojson.json", "xmltojson.xml");

            Assert.Equal(@"<root><field1>b</field1><field2>33</field2><field3>-22.5</field3><field4>false</field4></root>", TestUtils.ReadFile("xmltojson.xml").Replace("\r\n", "").Replace("  ", ""));
        }
Example #7
0
        public bool TryConvert(byte[] incomingBody, string contentType, string messageType, out byte[] convertedBody)
        {
            convertedBody = new byte[0];
            if (!TryParseMessageType(messageType, out var bodyType))
            {
                return(false);
            }
            switch (contentType)
            {
            case XmlToJsonConverter.ContentTypeConverter:
                return(TryConvert(() => XmlToJsonConverter.Convert(incomingBody, bodyType), out convertedBody));

            case JsonToXmlConverter.ContentTypeConverter:
                return(TryConvert(() => JsonToXmlConverter.Convert(incomingBody, bodyType), out convertedBody));

            default:
                return(false);
            }
        }