public override XElement ToXml()
{
var result = CreateXml(enActionType.InvokeWebService, Source, Recordsets,
new XAttribute("RequestUrl", RequestUrl ?? string.Empty),
new XAttribute("RequestMethod", RequestMethod.ToString()),
new XAttribute("JsonPath", JsonPath ?? string.Empty),
new XElement("RequestHeaders", new XCData(RequestHeaders ?? string.Empty)),
new XElement("RequestBody", new XCData(RequestBody ?? string.Empty))
);
return result;
}
public void WebService_ToXml_WhenRequestValuesHaveEnter_ShouldBeRespectedWhenReHydrated() { //------------Setup for test-------------------------- var expected = new WebService { Source = new WebSource { ResourceID = Guid.NewGuid(), ResourceName = "TestWebSource", }, RequestUrl = "pqr", RequestMethod = WebRequestMethod.Get, RequestHeaders = "Content-Type: text/xml\nBearer: Trusted", RequestBody = "abc\nhas an enter\nin it", RequestResponse = "xyz", JsonPath = "$.somepath" }; //------------Execute Test--------------------------- var xml = expected.ToXml(); var actual = new WebService(xml); //------------Assert Results------------------------- StringAssert.Contains(actual.RequestHeaders, "\n"); StringAssert.Contains(actual.RequestBody, "\n"); }