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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        /// <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);
        }
Example #6
0
        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);
        }
        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);
        }
        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);
        }