Ejemplo n.º 1
0
        public void Integration_Matching_Address()
        {
            // This is an integratino test - actually hits the website

            UspsAddress address = new UspsAddress {
                Street = "7200 Royalgreen Drive",
                City   = "Cincinnati",
                State  = "OH",
            };

            UspsAddressPage page = new ScreenScraper(20000).GetPage <UspsAddressPage>(
                UspsAddressPage.BuildRequest(address)
                );

            Assert.That(page.IsMatch, Is.True);
            Assert.That(page.ReturnedAddresses.Count, Is.EqualTo(1));
            UspsAddress result = page.ReturnedAddresses[0];

            Assert.That(result.Validity, Is.EqualTo(UspsAddressValidity.Valid));

            Assert.That(result.Street, Is.EqualTo("7200 ROYALGREEN DR"));
            Assert.That(result.Street2, Is.Null);
            Assert.That(result.City, Is.EqualTo("CINCINNATI"));
            Assert.That(result.State, Is.EqualTo("OH"));
            Assert.That(result.Zip, Is.EqualTo("45244-3625"));
            Assert.That(result.County, Is.EqualTo("HAMILTON"));
        }
Ejemplo n.º 2
0
        public void Parse_Valid_Non_Deliverable()
        {
            string          content = File.ReadAllText("valid_non_deliverable.html");
            UspsAddressPage page    = new UspsAddressPage(content);

            Assert.That(page.IsMatch, Is.True);
            Assert.That(page.ReturnedAddresses.Count, Is.EqualTo(1));
            UspsAddress result = page.ReturnedAddresses[0];

            Assert.That(result.Validity, Is.EqualTo(UspsAddressValidity.Nondeliverable));

            Assert.That(result.Street, Is.EqualTo("515 S 7TH ST"));
            Assert.That(result.Street2, Is.Null);
            Assert.That(result.City, Is.EqualTo("TERRE HAUTE"));
            Assert.That(result.State, Is.EqualTo("IN"));
            Assert.That(result.County, Is.EqualTo("VIGO"));
            Assert.That(result.Zip, Is.EqualTo("47807"));
        }
Ejemplo n.º 3
0
        public void Parse_Matching_Address()
        {
            string          content = File.ReadAllText("valid_deliverable.html");
            UspsAddressPage page    = new UspsAddressPage(content);

            Assert.That(page.IsMatch, Is.True);
            Assert.That(page.ReturnedAddresses.Count, Is.EqualTo(1));
            UspsAddress result = page.ReturnedAddresses[0];

            Assert.That(result.Validity, Is.EqualTo(UspsAddressValidity.Valid));

            Assert.That(result.Street, Is.EqualTo("7200 ROYALGREEN DR"));
            Assert.That(result.Street2, Is.Null);
            Assert.That(result.City, Is.EqualTo("CINCINNATI"));
            Assert.That(result.State, Is.EqualTo("OH"));
            Assert.That(result.Zip, Is.EqualTo("45244-3625"));
            Assert.That(result.County, Is.EqualTo("HAMILTON"));
        }
Ejemplo n.º 4
0
        public void Parse_Invalid_Alternate()
        {
            string          content = File.ReadAllText("invalid_alternate.html");
            UspsAddressPage page    = new UspsAddressPage(content);

            Assert.That(page.IsMatch, Is.False);
            Assert.That(page.ReturnedAddresses.Count, Is.EqualTo(3));
            // 0
            UspsAddress result = page.ReturnedAddresses[0];

            Assert.That(result.Validity, Is.EqualTo(UspsAddressValidity.Alternate));
            Assert.That(result.Street, Is.EqualTo("517 S 7TH ST"));
            Assert.That(result.Street2, Is.Null);
            Assert.That(result.City, Is.EqualTo("TERRE HAUTE"));
            Assert.That(result.State, Is.EqualTo("IN"));
            Assert.That(result.County, Is.EqualTo("VIGO"));
            Assert.That(result.Zip, Is.EqualTo("47807-4447"));
            // 1
            result = page.ReturnedAddresses[1];
            Assert.That(result.Validity, Is.EqualTo(UspsAddressValidity.Alternate));
            Assert.That(result.Street, Is.EqualTo("517 S 7TH ST APT (Range 1 - 8)"));
            Assert.That(result.Street2, Is.Null);
            Assert.That(result.City, Is.EqualTo("TERRE HAUTE"));
            Assert.That(result.State, Is.EqualTo("IN"));
            Assert.That(result.County, Is.EqualTo("VIGO"));
            Assert.That(result.Zip, Is.EqualTo("47807-4447"));
            // 2
            result = page.ReturnedAddresses[2];
            Assert.That(result.Validity, Is.EqualTo(UspsAddressValidity.Alternate));
            Assert.That(result.Street, Is.EqualTo("(ODD Range 501 - 599) S 7TH ST"));
            Assert.That(result.Street2, Is.Null);
            Assert.That(result.City, Is.EqualTo("TERRE HAUTE"));
            Assert.That(result.State, Is.EqualTo("IN"));
            Assert.That(result.County, Is.EqualTo("VIGO"));
            Assert.That(result.Zip, Is.EqualTo("47807-4407"));
        }
Ejemplo n.º 5
0
        public static async Task <UspsAddress> ZipCodeLookupAsync(ZipCodeLookupRequest request)
        {
            const string API = "ZipCodeLookup";
            string       Url = String.Format("{0}{1}&XML={2}", BaseUrl, API, request.XML);

            string Address1         = "";
            string Address2         = "";
            string City             = "";
            string State            = "";
            string Zip4             = "";
            string Zip5             = "";
            string errorDescription = "";

            try
            {
                WebRequest wr = WebRequest.Create(Url);
                wr.Timeout = 5000;
                WebResponse response = await wr.GetResponseAsync();

                Stream       dataStream         = response.GetResponseStream();
                StreamReader reader             = new StreamReader(dataStream);
                string       responseFromServer = reader.ReadToEnd();
                reader.Close();
                dataStream.Close();
                response.Close();

                XDocument ZipCodeLookupResponse = XDocument.Parse(responseFromServer);

                //check for error response from api
                if (ZipCodeLookupResponse.Element("ZipCodeLookupResponse").Element("Address").HasElements)
                {
                    IEnumerable <XElement> collection = ZipCodeLookupResponse.Element("ZipCodeLookupResponse").Element("Address").Elements();
                    foreach (XElement x in collection)
                    {
                        if (x.Name.LocalName == "Address1")
                        {
                            Address1 = x.Value;
                        }
                        else if (x.Name.LocalName == "Address2")
                        {
                            Address2 = x.Value;
                        }
                        else if (x.Name.LocalName == "City")
                        {
                            City = x.Value;
                        }
                        else if (x.Name.LocalName == "State")
                        {
                            State = x.Value;
                        }
                        else if (x.Name.LocalName == "Zip4")
                        {
                            Zip4 = x.Value;
                        }
                        else if (x.Name.LocalName == "Zip5")
                        {
                            Zip5 = x.Value;
                        }
                        else if (x.Name == "Error" && x.HasElements)
                        {
                            foreach (XElement error in x.Elements())
                            {
                                if (error.Name == "Description")
                                {
                                    errorDescription = error.Value;
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                errorDescription = ex.Message;
            }
            //string[] Zip = new string[] { Zip5, Zip4, request.Name, errorDescription };
            UspsAddress result = new UspsAddress
            {
                Name             = request.Name,
                Address1         = Address1,
                Address2         = Address2,
                City             = City,
                State            = State,
                Zip4             = Zip4,
                Zip5             = Zip5,
                ErrorDescription = errorDescription
            };

            return(result);
        }