public static XmlElement TestCaseResonseToNode(TestCaseResponse tcResponse, XmlDocument doc) { XmlElement tcrElement = doc.CreateElement("testCaseResponse"); XmlElement code = doc.CreateElement("code"); code.InnerText = tcResponse.Code; tcrElement.AppendChild(code); XmlElement messageTypeElement = doc.CreateElement("messageType"); messageTypeElement.InnerText = tcResponse.MessageType; tcrElement.AppendChild(messageTypeElement); if (tcResponse.PayLoad != null) { XmlElement payLoadElement = doc.CreateElement("payLoad"); payLoadElement.InnerText = tcResponse.PayLoad; tcrElement.AppendChild(payLoadElement); } if (tcResponse.Token != null) { XmlElement tokenElement = doc.CreateElement("token"); tokenElement.InnerText = tcResponse.Token; tcrElement.AppendChild(tokenElement); } if (tcResponse.SameMID != null) { XmlElement sameIDElement = doc.CreateElement("sameMID"); sameIDElement.InnerText = tcResponse.SameMID; tcrElement.AppendChild(sameIDElement); } //OptionTypesToNode(tcResponse.OptionType, doc, tcrElement); XmlElement optionType = doc.CreateElement("optionType"); tcrElement.AppendChild(optionType); OptionTypesToNode(tcResponse.OptionType, doc, optionType); return(tcrElement); }
public static TestCaseResponse StepToTestCaseResponse(ResponseCheckStep step) { TestCaseResponse tcResponse = new TestCaseResponse(); tcResponse.IsRequest = false; ICheck check = step.ResponseCheck; if (check is GroupCheck) { foreach (ICheck ck in check as GroupCheck) { BuildTestCaseResponse(ck, tcResponse); } } else { BuildTestCaseResponse(check, tcResponse); } return(tcResponse); }
public static void BuildTestCaseResponse(ICheck check, TestCaseResponse tcResponse) { if (check is CodeCheck) { tcResponse.Code = (check as CodeCheck).Expected.ToString(); } else if (check is MessageTypeCheck) { tcResponse.MessageType = (check as MessageTypeCheck).Expected.ToString(); } else if (check is MessageIDCheck) { tcResponse.SameMID = "true".ToUpper(); } else if (check is PayLoadStringCheck) { tcResponse.PayLoad = (check as PayLoadStringCheck).Expected.ToString(); } else if (check is PayLoadByteCheck) { tcResponse.PayLoad = Utils.ToHexString((check as PayLoadByteCheck).Expected); } else if (check is TokenByteCheck) { tcResponse.Token = Utils.ToHexString((check as TokenByteCheck).Expected); } else if (check is TokenStringCheck) { tcResponse.Token = (check as TokenStringCheck).Expected.ToString(); } else if (check is TokenExistCheck) { tcResponse.Token = ""; } else if (check is PayLoadExistCheck) { tcResponse.PayLoad = ""; } else if (check is OptionCheck) { OptionCheck oc = check as OptionCheck; switch (oc.OptionType) { case OptionType.LocationPath: tcResponse.OptionType.Location_Path = oc.StringValue == null ? "" : oc.StringValue; break; case OptionType.LocationQuery: tcResponse.OptionType.Location_Query = oc.StringValue == null ? "" : oc.StringValue; break; case OptionType.Observe: tcResponse.OptionType.Observe = oc.IntValue == null ? (oc.StringValue == null ? "" : oc.StringValue) : oc.IntValue.ToString(); break; //case OptionType.Token: // tcResponse.Token = oc.RawValue == null ? (oc.StringValue == null ? "" : oc.StringValue) : Utils.ToHexString(oc.RawValue); // break; case OptionType.Accept: tcResponse.OptionType.Accept = oc.IntValue.ToString(); break; case OptionType.Block1: tcResponse.OptionType.Block1 = oc.IntValue == null ? (oc.StringValue == null ? "" : oc.StringValue) : oc.IntValue.ToString(); break; case OptionType.Block2: tcResponse.OptionType.Block2 = oc.IntValue == null ? (oc.StringValue == null ? "" : oc.StringValue) : oc.IntValue.ToString(); break; case OptionType.ContentType: tcResponse.OptionType.Content_Format = oc.IntValue == null ? (oc.StringValue == null ? "" : oc.StringValue) : oc.IntValue.ToString(); break; case OptionType.ETag: tcResponse.OptionType.ETag = oc.RawValue == null ? (oc.StringValue == null ? "" : oc.StringValue) : Utils.ToHexString(oc.RawValue); break; case OptionType.IfMatch: tcResponse.OptionType.If_Match = oc.StringValue == null ? "" : oc.StringValue; break; case OptionType.IfNoneMatch: tcResponse.OptionType.If_None_Match = "TRUE"; break; case OptionType.MaxAge: tcResponse.OptionType.Max_Age = oc.IntValue == null ? (oc.StringValue == null ? "" : oc.StringValue) : oc.IntValue.ToString(); break; case OptionType.ProxyScheme: tcResponse.OptionType.Proxy_Scheme = "TRUE"; break; case OptionType.ProxyUri: tcResponse.OptionType.Proxy_Uri = oc.StringValue == null ? "" : oc.StringValue; break; case OptionType.UriHost: tcResponse.OptionType.Uri_Host = oc.StringValue == null ? "" : oc.StringValue; break; case OptionType.UriPath: tcResponse.OptionType.UriPath = oc.StringValue == null ? "" : oc.StringValue; break; case OptionType.UriPort: tcResponse.OptionType.Uri_Port = oc.IntValue == null ? (oc.StringValue == null ? "" : oc.StringValue) : oc.IntValue.ToString(); break; case OptionType.UriQuery: tcResponse.OptionType.UriQuery = oc.StringValue == null ? "" : oc.StringValue; break; } } }
public static TestCaseBase NodeToTestCaseBase(XmlNode reNode) { TestCaseBase tcb; if (reNode.Name == "testCaseRequest") { TestCaseRequest tcrq = new TestCaseRequest(); tcb = tcrq; tcb.IsRequest = true; XmlNodeList xnMethod = ((XmlElement)reNode).GetElementsByTagName("method"); if (xnMethod != null) { tcrq.Method = xnMethod.Item(0).InnerText; } } else { TestCaseResponse tcrs = new TestCaseResponse(); tcb = tcrs; tcb.IsRequest = false; XmlNodeList xnCode = ((XmlElement)reNode).GetElementsByTagName("code"); if (xnCode != null) { tcrs.Code = xnCode.Item(0).InnerText; } XmlNodeList xnSameMID = ((XmlElement)reNode).GetElementsByTagName("sameMID"); if (xnSameMID != null && xnSameMID.Count > 0) { tcrs.SameMID = xnSameMID.Item(0).InnerText; } } XmlNodeList xnMessageType = ((XmlElement)reNode).GetElementsByTagName("messageType"); if (xnMessageType != null && xnMessageType.Count > 0) { tcb.MessageType = xnMessageType.Item(0).InnerText; } XmlNodeList xnPayLoad = ((XmlElement)reNode).GetElementsByTagName("payLoad"); if (xnPayLoad != null && xnPayLoad.Count > 0) { tcb.PayLoad = xnPayLoad.Item(0).InnerText; } XmlNodeList xnToken = ((XmlElement)reNode).GetElementsByTagName("token"); if (xnToken != null && xnToken.Count > 0) { tcb.Token = xnToken.Item(0).InnerText; } OptionTypes ots = new OptionTypes(); XmlNodeList xnlOptionTypeList = ((XmlElement)reNode).GetElementsByTagName("optionType"); if (xnlOptionTypeList != null && xnlOptionTypeList.Count > 0) { XmlNode xnlOptionType = xnlOptionTypeList.Item(0); ots = NodeToOptionTypes(xnlOptionType); } tcb.OptionType = ots; return(tcb); }