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")); }
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")); }
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")); }
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")); }
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); }