public void ReturnCorrectWebPurifyCheckResponseForCheckRequest(int found) { // arrange var expectedResponse = new WebPurifyCheckResponse { Found = found == 1, Count = found, Expletives = new string[0] }; var xml = @"<?xml version=""1.0"" encoding=""utf-8"" ?> <rsp stat=""ok""> <method>webpurify.live.check</method> <format>rest</format> <found>{0}</found> <api_key>api_key</api_key> </rsp>"; xml = string.Format(xml, found); // act var resultResponse = WebPurifyCreateResponse.CreateWebPurifyCheckResponse(XDocument.Parse(xml)); // assert Assert.AreEqual(expectedResponse.Count, resultResponse.Count); Assert.AreEqual(expectedResponse.Found, resultResponse.Found); Assert.AreEqual(expectedResponse.Expletives, resultResponse.Expletives); }
public void ReturnCorrectWebPurifyCheckResponseForCheckCountRequest(int found) { // arrange var expectedResponse = new WebPurifyCheckResponse { Found = found > 0, Count = found, Expletives = new string[0] }; var xml = @"<?xml version=""1.0"" encoding=""utf-8"" ?> <rsp stat=""ok""> <method>webpurify.live.check</method> <format>rest</format> <found>{0}</found> <api_key>api_key</api_key> </rsp>"; xml = string.Format(xml, found); // act var resultResponse = WebPurifyCreateResponse.CreateWebPurifyCheckResponse(XDocument.Parse(xml)); // assert Assert.AreEqual(expectedResponse.Count, resultResponse.Count); Assert.AreEqual(expectedResponse.Found, resultResponse.Found); Assert.AreEqual(expectedResponse.Expletives, resultResponse.Expletives); }
public void ReturnCorrectWebPurifyCheckResponseForCheckRequest(bool found, string text) { // arrange var expectedResponse = new WebPurifyCheckResponse { Found = found, Count = found ? 1 : 0, Expletives = new string[0] }; // act var resultResponse = _request.Check(text, WebPurifyCheckMethod.Check); // assert Assert.AreEqual(expectedResponse.Count, resultResponse.Count); Assert.AreEqual(expectedResponse.Found, resultResponse.Found); Assert.AreEqual(expectedResponse.Expletives, resultResponse.Expletives); }
public void ReturnCorrectWebPurifyCheckResponseForErrorRequest(string code, string msg) { // arrange var expectedResponse1 = new WebPurifyCheckResponse { ErrorCode = code, ErrorMessage = msg }; var expectedResponse2 = new WebPurifyReplaceResponse { ErrorCode = code, ErrorMessage = msg }; var expectedResponse3 = new WebPurifyManageListResponse { ErrorCode = code, ErrorMessage = msg }; var expectedResponse4 = new WebPurifyGetListResponse { ErrorCode = code, ErrorMessage = msg }; var xml = @"<?xml version=""1.0"" encoding=""utf-8""?> <rsp stat=""fail""> <err code=""{0}"" msg=""{1}"" /> <text>string</text> </rsp>"; xml = string.Format(xml, code, msg); // act var resultResponse1 = WebPurifyCreateResponse.CreateWebPurifyCheckResponse(XDocument.Parse(xml)); var resultResponse2 = WebPurifyCreateResponse.CreateWebPurifyReplaceResponse(XDocument.Parse(xml)); var resultResponse3 = WebPurifyCreateResponse.CreateWebPurifyManageListResponse(XDocument.Parse(xml)); var resultResponse4 = WebPurifyCreateResponse.CreateWebPurifyGetListResponse(XDocument.Parse(xml)); // assert Assert.AreEqual(expectedResponse1.ErrorCode, resultResponse1.ErrorCode); Assert.AreEqual(expectedResponse2.ErrorCode, resultResponse2.ErrorCode); Assert.AreEqual(expectedResponse3.ErrorCode, resultResponse3.ErrorCode); Assert.AreEqual(expectedResponse4.ErrorCode, resultResponse4.ErrorCode); Assert.AreEqual(expectedResponse1.ErrorMessage, resultResponse1.ErrorMessage); Assert.AreEqual(expectedResponse2.ErrorMessage, resultResponse2.ErrorMessage); Assert.AreEqual(expectedResponse3.ErrorMessage, resultResponse3.ErrorMessage); Assert.AreEqual(expectedResponse4.ErrorMessage, resultResponse4.ErrorMessage); }
/// <summary> /// Create Web Purify Check Response /// </summary> /// <param name="xml"> /// The xml returned from the REST request to Web Purify. /// </param> /// <returns> /// WebPurifyCheckResponse object /// </returns> internal static WebPurifyCheckResponse CreateWebPurifyCheckResponse(XContainer xml) { var firstOrDefault = xml.Elements("rsp").FirstOrDefault(); if (firstOrDefault != null && firstOrDefault.Attribute(XName.Get("stat")).Value == "fail") { return(CreateWebPurifyResponseForError <WebPurifyCheckResponse>( xml.Elements("rsp").FirstOrDefault(), new WebPurifyCheckResponse())); } var count = xml.Elements("rsp").Select(x => x.Element("found").Value).FirstOrDefault(); var expletives = (from x in xml.Descendants("expletive") select x.Value).ToArray(); var response = new WebPurifyCheckResponse { Count = count != null?int.Parse(count, CultureInfo.CurrentCulture) : 0, Found = count != null && (int.Parse(count, CultureInfo.CurrentCulture) > 0), Expletives = expletives }; return(response); }
public void ReturnCorrectWebPurifyCheckResponseForReturnRequest(int found, string[] expletives) { // arrange if (expletives == null) { expletives = new string[0]; } var expectedResponse = new WebPurifyCheckResponse { Found = found > 0, Count = found, Expletives = expletives }; var xml = @"<?xml version=""1.0"" encoding=""utf-8"" ?> <rsp stat=""ok""> <method>webpurify.live.check</method> <format>rest</format> <found>{0}</found> {1} <api_key>api_key</api_key> </rsp>"; string expletiveString = string.Empty; foreach (var expletive in expletives) { expletiveString += "<expletive>" + expletive + "</expletive>\r\n"; } xml = string.Format(xml, found, expletiveString); // act var resultResponse = WebPurifyCreateResponse.CreateWebPurifyCheckResponse(XDocument.Parse(xml)); // assert Assert.AreEqual(expectedResponse.Count, resultResponse.Count); Assert.AreEqual(expectedResponse.Found, resultResponse.Found); Assert.AreEqual(expectedResponse.Expletives, resultResponse.Expletives); }