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"); }
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(" ", "")); }
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); } }