Your message dated Fri, 21 May 2021 22:17:10 +0200 with message-id <YKgVRiEXnn5Sx0L/@ramacher.at> and subject line Re: Bug#988883: unblock: libbusiness-us-usps-webtools-perl/1.125-1 has caused the Debian Bug report #988883, regarding unblock: libbusiness-us-usps-webtools-perl/1.125-1 to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@bugs.debian.org immediately.) -- 988883: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=988883 Debian Bug Tracking System Contact owner@bugs.debian.org with problems
--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: unblock: libbusiness-us-usps-webtools-perl/1.125-1
- From: Yadd <yadd@debian.org>
- Date: Thu, 20 May 2021 20:38:03 +0200
- Message-id: <[🔎] 162153588369.3741178.12750575248797682076.reportbug@deb007.xnr.fr>
Package: release.debian.org Severity: normal User: release.debian.org@packages.debian.org Usertags: unblock X-Debbugs-Cc: debian-perl@lists.debian.org Please unblock package libbusiness-us-usps-webtools-perl [ Reason ] USPS is sending notices that HTTP access will be turned off shortly, in favor of HTTPS. libbusiness-us-usps-webtools-perl 1.125 includes only this fix and included our patch. [ Impact ] Given that is a web service that will break in the wild. [ Tests ] Upstream updated its test. [ Risks ] Patch isn't so big, just URL updates [ Checklist ] [X] all changes are documented in the d/changelog [X] I reviewed all changes and I approve them [X] attach debdiff against the package in testing Cheers, Yadd unblock libbusiness-us-usps-webtools-perl/1.125-1diff --git a/Changes b/Changes index ad21fdc..0134ec1 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,21 @@ Revision history for Perl module Business::US::USPS::WebTools +1.125 2021-05-19 + * Updated API endpoints. Always use HTTPS. + + * Removed two tests that started failing due to changes in the API + response. + + * Skip tracking tests (which are disabled anyway) rather than failing if + test credentials aren't set. + + * Access to the testing/staging environment is no longer granted by + default and testing against the production environment is allowed + (load/stress testing isn't), so tests are now run against the + production API by default. To run against the testing/staging + environment, set USPS_WEBTOOLS_ENVIRONMENT to TESTING while setting up + your credentials. + 1.124 2020-09-18 * New maintainer diff --git a/META.json b/META.json index 8bdd808..21d2a96 100644 --- a/META.json +++ b/META.json @@ -55,6 +55,6 @@ "web" : "https://github.com/ssimms/business-us-usps-webtools" } }, - "version" : "1.124", + "version" : "1.125", "x_serialization_backend" : "JSON::PP version 2.97001" } diff --git a/META.yml b/META.yml index 242e04a..c3b908a 100644 --- a/META.yml +++ b/META.yml @@ -27,5 +27,5 @@ resources: bugtracker: https://github.com/ssimms/business-us-usps-webtools/issues homepage: https://github.com/ssimms/business-us-usps-webtools repository: https://github.com/ssimms/business-us-usps-webtools.git -version: '1.124' +version: '1.125' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff --git a/debian/changelog b/debian/changelog index 7cfe053..5e96703 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +libbusiness-us-usps-webtools-perl (1.125-1) unstable; urgency=medium + + * Import upstream version 1.125 (Closes: #988330) + * Remove patch, now included in upstream + + -- Yadd <yadd@debian.org> Thu, 20 May 2021 19:23:56 +0200 + libbusiness-us-usps-webtools-perl (1.124-1) unstable; urgency=medium [ gregor herrmann ] diff --git a/debian/patches/series b/debian/patches/series deleted file mode 100644 index 3ee9145..0000000 --- a/debian/patches/series +++ /dev/null @@ -1 +0,0 @@ -skip-network-test.diff diff --git a/debian/patches/skip-network-test.diff b/debian/patches/skip-network-test.diff deleted file mode 100644 index 2b6407a..0000000 --- a/debian/patches/skip-network-test.diff +++ /dev/null @@ -1,21 +0,0 @@ -Description: skip test that require network + USPS account -Author: Xavier Guimard <yadd@debian.org> -Forwarded: https://github.com/ssimms/business-us-usps-webtools/pull/1 -Last-Update: 2020-09-22 - ---- a/t/track_confirm.t -+++ b/t/track_confirm.t -@@ -6,6 +6,13 @@ - my $class = "Business::US::USPS::WebTools::TrackConfirm"; - my $method = 'track'; - -+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -+unless( $ENV{USPS_WEBTOOLS_USERID} and $ENV{USPS_WEBTOOLS_PASSWORD} ) -+ { -+ plan skip_all => -+ "You must set the USPS_WEBTOOLS_USERID and USPS_WEBTOOLS_PASSWORD " . -+ "environment variables to run these tests\n"; -+ } - - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # - subtest setup => sub { diff --git a/lib/Business/US/USPS/WebTools.pm b/lib/Business/US/USPS/WebTools.pm index 819307d..7547253 100644 --- a/lib/Business/US/USPS/WebTools.pm +++ b/lib/Business/US/USPS/WebTools.pm @@ -10,7 +10,7 @@ use Carp qw(carp croak); use subs qw(); use vars qw($VERSION); -$VERSION = '1.124'; +$VERSION = '1.125'; =encoding utf8 @@ -125,7 +125,7 @@ sub _api_path { $_[0]->_live ? "/ShippingAPI.dll" : - "/ShippingAPITest.dll" + "/ShippingAPI.dll" } sub _make_url { @@ -133,7 +133,7 @@ sub _make_url { my( $self, $hash ) = @_; $self->{url} = Mojo::URL->new - ->scheme('http') + ->scheme('https') ->host( $self->_api_host ) ->path( $self->_api_path ) ->query( @@ -216,7 +216,7 @@ when you have set C<Testing> to a true value. =cut sub live_server_host { "production.shippingapis.com" }; -sub test_server_host { "testing.shippingapis.com" }; +sub test_server_host { "stg-production.shippingapis.com" }; =back diff --git a/lib/Business/US/USPS/WebTools/AddressStandardization.pm b/lib/Business/US/USPS/WebTools/AddressStandardization.pm index cde46cf..9b89ef4 100644 --- a/lib/Business/US/USPS/WebTools/AddressStandardization.pm +++ b/lib/Business/US/USPS/WebTools/AddressStandardization.pm @@ -10,7 +10,7 @@ use parent qw(Business::US::USPS::WebTools); use subs qw(); use vars qw($VERSION); -$VERSION = '1.124'; +$VERSION = '1.125'; =encoding utf8 diff --git a/lib/Business/US/USPS/WebTools/CityStateLookup.pm b/lib/Business/US/USPS/WebTools/CityStateLookup.pm index 54a05d3..91522c3 100644 --- a/lib/Business/US/USPS/WebTools/CityStateLookup.pm +++ b/lib/Business/US/USPS/WebTools/CityStateLookup.pm @@ -10,7 +10,7 @@ use parent qw(Business::US::USPS::WebTools); use subs qw(); use vars qw($VERSION); -$VERSION = '1.124'; +$VERSION = '1.125'; =encoding utf8 diff --git a/lib/Business/US/USPS/WebTools/TrackConfirm.pm b/lib/Business/US/USPS/WebTools/TrackConfirm.pm index a73568e..70376c5 100644 --- a/lib/Business/US/USPS/WebTools/TrackConfirm.pm +++ b/lib/Business/US/USPS/WebTools/TrackConfirm.pm @@ -12,7 +12,7 @@ use vars qw($VERSION); use Carp qw(croak carp); -$VERSION = '1.124'; +$VERSION = '1.125'; =encoding utf8 diff --git a/lib/Business/US/USPS/WebTools/ZipCodeLookup.pm b/lib/Business/US/USPS/WebTools/ZipCodeLookup.pm index ea17305..fda5a9a 100644 --- a/lib/Business/US/USPS/WebTools/ZipCodeLookup.pm +++ b/lib/Business/US/USPS/WebTools/ZipCodeLookup.pm @@ -10,7 +10,7 @@ use parent qw(Business::US::USPS::WebTools); use subs qw(); use vars qw($VERSION); -$VERSION = '1.124'; +$VERSION = '1.125'; =encoding utf8 diff --git a/t/address_verification.t b/t/address_verification.t index 811f14d..ba20fdf 100644 --- a/t/address_verification.t +++ b/t/address_verification.t @@ -21,23 +21,35 @@ unless( $ENV{USPS_WEBTOOLS_USERID} and $ENV{USPS_WEBTOOLS_PASSWORD} ) "environment variables to run these tests\n"; } +my $is_testing = uc($ENV{USPS_WEBTOOLS_ENVIRONMENT}) eq 'TESTING'; + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # use_ok( $class ); my $verifier; -my $base = qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=Verify&XML=%3CAddressValidateRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CIncludeOptionalElements%3Etrue%3C%2FIncludeOptionalElements%3E%3CReturnCarrierRoute%3Etrue%3C%2FReturnCarrierRoute%3E|; + +my $base = 'https://' . ($is_testing ? 'stg-' : '') . qq|production.shippingapis.com/ShippingAPI.dll?API=Verify&XML=%3CAddressValidateRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CIncludeOptionalElements%3Etrue%3C%2FIncludeOptionalElements%3E%3CReturnCarrierRoute%3Etrue%3C%2FReturnCarrierRoute%3E|; subtest setup => sub { $verifier = $class->new( { UserID => $ENV{USPS_WEBTOOLS_USERID}, Password => $ENV{USPS_WEBTOOLS_PASSWORD}, - Testing => 1, + Testing => $is_testing, } ); isa_ok( $verifier, $class ); can_ok( $verifier, $method ); }; +=pod + +2021-05-19: This test is failing because the API is no longer returning the +expected output; it now includes the following warning: + +Default address: The address you entered was found but more information is +needed (such as an apartment, suite, or box number) to match to a specific +address. + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Good response #1 subtest good_response_1 => sub { @@ -81,6 +93,8 @@ XML is( $hash->{Zip4}, '1441', 'Zip4 matches for Ivy Lane' ); }; +=cut + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Good response #2 subtest good_response_1 => sub { diff --git a/t/city_state_lookup.t b/t/city_state_lookup.t index 3054438..5a98b77 100644 --- a/t/city_state_lookup.t +++ b/t/city_state_lookup.t @@ -21,6 +21,10 @@ unless( $ENV{USPS_WEBTOOLS_USERID} and $ENV{USPS_WEBTOOLS_PASSWORD} ) "environment variables to run these tests\n"; } +my $is_testing = uc($ENV{USPS_WEBTOOLS_ENVIRONMENT}) eq 'TESTING'; + +my $base = 'https://' . ($is_testing ? 'stg-' : '') . 'production.shippingapis.com/ShippingAPI.dll'; + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # use_ok( $class ); @@ -29,7 +33,7 @@ subtest setup => sub { $verifier = $class->new( { UserID => $ENV{USPS_WEBTOOLS_USERID}, Password => $ENV{USPS_WEBTOOLS_PASSWORD}, - Testing => 1, + Testing => $is_testing, } ); isa_ok( $verifier, $class ); @@ -44,7 +48,7 @@ subtest good_response_1 => sub { } ); is( $url, - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E90210%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, + qq|$base?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E90210%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, "URL for 90210 is correct", ); @@ -77,7 +81,7 @@ subtest good_response_2 => sub { } ); is( $url, - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E20770%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, + qq|$base?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E20770%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, "URL for 20770 is correct", ); @@ -110,7 +114,7 @@ subtest good_response_3 => sub { } ); is( $url, - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E21113%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, + qq|$base?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E21113%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, "URL for 21113 is correct", ); @@ -143,7 +147,7 @@ subtest good_response_4 => sub { } ); is( $url, - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E21032%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, + qq|$base?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E21032%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, "URL for 21032 is correct", ); @@ -182,7 +186,7 @@ subtest good_response_5 => sub { } ); is( $url, - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E21117%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, + qq|$base?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E21117%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, "URL for Sharonwood Road is correct", ); @@ -221,7 +225,7 @@ subtest error_response_1 => sub { } ); is( $url, - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E99999%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, + qq|$base?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E99999%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, "URL for Sharonwood Road Error is correct", ); diff --git a/t/test_or_live.t b/t/test_or_live.t index c8ea0d8..bcfa1c8 100644 --- a/t/test_or_live.t +++ b/t/test_or_live.t @@ -15,8 +15,8 @@ subtest testing => sub { ok( $webtools->_testing, "I think I'm testing" ); is( ! $webtools->_live, 1, "I don't think I'm live!" ); - is( $webtools->_api_host, "testing.shippingapis.com", "Testing host is right" ); - is( $webtools->_api_path, "/ShippingAPITest.dll", "Testing path is right" ); + is( $webtools->_api_host, "stg-production.shippingapis.com", "Testing host is right" ); + is( $webtools->_api_path, "/ShippingAPI.dll", "Testing path is right" ); }; # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # diff --git a/t/track_confirm.t b/t/track_confirm.t index 7466ba9..fa44592 100644 --- a/t/track_confirm.t +++ b/t/track_confirm.t @@ -6,6 +6,15 @@ use Test::More; my $class = "Business::US::USPS::WebTools::TrackConfirm"; my $method = 'track'; +# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # +unless( $ENV{USPS_WEBTOOLS_USERID} and $ENV{USPS_WEBTOOLS_PASSWORD} ) + { + plan skip_all => + "You must set the USPS_WEBTOOLS_USERID and USPS_WEBTOOLS_PASSWORD " . + "environment variables to run these tests\n"; + } + +my $is_testing = uc($ENV{USPS_WEBTOOLS_ENVIRONMENT}) eq 'TESTING'; # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # subtest setup => sub { @@ -13,17 +22,12 @@ subtest setup => sub { can_ok( $class, $method ); }; -subtest credentials => sub { - ok defined $ENV{USPS_WEBTOOLS_USERID}, 'USPS_WEBTOOLS_USERID is not set'; - ok defined $ENV{USPS_WEBTOOLS_PASSWORD}, 'USPS_WEBTOOLS_PASSWORD is not set'; - }; - my $tracker; subtest create_tracker => sub { $tracker = $class->new( { UserID => $ENV{USPS_WEBTOOLS_USERID}, Password => $ENV{USPS_WEBTOOLS_PASSWORD}, - Testing => 0, + Testing => $is_testing, } ); isa_ok( $tracker, $class ); }; diff --git a/t/zip_code_lookup.t b/t/zip_code_lookup.t index d2bd4eb..b5e6c9f 100644 --- a/t/zip_code_lookup.t +++ b/t/zip_code_lookup.t @@ -21,6 +21,10 @@ unless( $ENV{USPS_WEBTOOLS_USERID} and $ENV{USPS_WEBTOOLS_PASSWORD} ) "environment variables to run these tests\n"; } +my $is_testing = uc($ENV{USPS_WEBTOOLS_ENVIRONMENT}) eq 'TESTING'; + +my $base = 'https://' . ($is_testing ? 'stg-' : '') . 'production.shippingapis.com/ShippingAPI.dll'; + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # my $verifier; subtest setup => sub { @@ -29,13 +33,22 @@ subtest setup => sub { $verifier = $class->new( { UserID => $ENV{USPS_WEBTOOLS_USERID}, Password => $ENV{USPS_WEBTOOLS_PASSWORD}, - Testing => 1, + Testing => $is_testing, } ); isa_ok( $verifier, $class ); can_ok( $verifier, $method ); }; +=pod + +2021-05-19: This test is failing because the API is no longer returning the +expected output; it now includes the following warning: + +Default address: The address you entered was found but more information is +needed (such as an apartment, suite, or box number) to match to a specific +address. + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Good Request #1 subtest good_request_1 => sub { @@ -50,7 +63,7 @@ subtest good_request_1 => sub { } ); is( $url, - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E6406+Ivy+Lane%3C%2FAddress2%3E%3CCity%3EGreenbelt%3C%2FCity%3E%3CState%3EMD%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, + qq|$base?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E6406+Ivy+Lane%3C%2FAddress2%3E%3CCity%3EGreenbelt%3C%2FCity%3E%3CState%3EMD%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, "URL for Ivy Lane is correct", ); @@ -76,6 +89,8 @@ XML is( $hash->{Zip4}, '1441', 'Zip4 matches for Ivy Lane' ); }; +=cut + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Good request 2 subtest good_request_2 => sub { @@ -90,7 +105,7 @@ subtest good_request_2 => sub { } ); is( $url, - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E8+Wildwood+Drive%3C%2FAddress2%3E%3CCity%3EOld+Lyme%3C%2FCity%3E%3CState%3ECT%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, + qq|$base?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E8+Wildwood+Drive%3C%2FAddress2%3E%3CCity%3EOld+Lyme%3C%2FCity%3E%3CState%3ECT%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, "URL for Wildwood Drive is correct", ); @@ -133,7 +148,7 @@ subtest good_request_3 => sub { } ); is( $url, - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E4411+Romlon+Street%3C%2FAddress2%3E%3CCity%3EBeltsville%3C%2FCity%3E%3CState%3EMD%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, + qq|$base?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E4411+Romlon+Street%3C%2FAddress2%3E%3CCity%3EBeltsville%3C%2FCity%3E%3CState%3EMD%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, "URL for Romlan Street is correct", ); @@ -176,7 +191,7 @@ subtest good_request_4 => sub { } ); is( $url, - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E3527+Sharonwood+Road+Apt.+3C%3C%2FAddress2%3E%3CCity%3ELaurel%3C%2FCity%3E%3CState%3EMD%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, + qq|$base?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E3527+Sharonwood+Road+Apt.+3C%3C%2FAddress2%3E%3CCity%3ELaurel%3C%2FCity%3E%3CState%3EMD%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, "URL for Sharonwood Road is correct", ); @@ -224,7 +239,7 @@ subtest error_response_1 => sub { } ); is( $url, - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E3527+Sharonwood+Road+Apt.+3C%3C%2FAddress2%3E%3CCity%3EWilmington%3C%2FCity%3E%3CState%3EDE%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, + qq|$base?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E3527+Sharonwood+Road+Apt.+3C%3C%2FAddress2%3E%3CCity%3EWilmington%3C%2FCity%3E%3CState%3EDE%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, "URL for Sharonwood Road Error is correct", ); @@ -279,7 +294,7 @@ subtest error_response_2 => sub { } ); is( $url, - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E1600+Pennsylvania+Avenue%3C%2FAddress2%3E%3CCity%3EWashington%3C%2FCity%3E%3CState%3EDC%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, + qq|$base?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E1600+Pennsylvania+Avenue%3C%2FAddress2%3E%3CCity%3EWashington%3C%2FCity%3E%3CState%3EDC%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, "URL for Pennsylvania Avenue Error is correct", ); @@ -330,7 +345,7 @@ subtest error_response_3 => sub { } ); is( $url, - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E123+Main+Street%3C%2FAddress2%3E%3CCity%3EWashington%3C%2FCity%3E%3CState%3EZZ%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, + qq|$base?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E123+Main+Street%3C%2FAddress2%3E%3CCity%3EWashington%3C%2FCity%3E%3CState%3EZZ%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, "URL for Main Street Error is correct", ); @@ -382,7 +397,7 @@ subtest error_response_3 => sub { } ); is( $url, - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E123+Main+Street%3C%2FAddress2%3E%3CCity%3ETrenton%3C%2FCity%3E%3CState%3ENJ%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, + qq|$base?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E123+Main+Street%3C%2FAddress2%3E%3CCity%3ETrenton%3C%2FCity%3E%3CState%3ENJ%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, "URL for Trenton, NJ Error is correct", );
--- End Message ---
--- Begin Message ---
- To: Yadd <yadd@debian.org>, 988883-done@bugs.debian.org
- Subject: Re: Bug#988883: unblock: libbusiness-us-usps-webtools-perl/1.125-1
- From: Sebastian Ramacher <sramacher@debian.org>
- Date: Fri, 21 May 2021 22:17:10 +0200
- Message-id: <YKgVRiEXnn5Sx0L/@ramacher.at>
- In-reply-to: <[🔎] 162153588369.3741178.12750575248797682076.reportbug@deb007.xnr.fr>
- References: <[🔎] 162153588369.3741178.12750575248797682076.reportbug@deb007.xnr.fr>
On 2021-05-20 20:38:03 +0200, Yadd wrote: > Package: release.debian.org > Severity: normal > User: release.debian.org@packages.debian.org > Usertags: unblock > X-Debbugs-Cc: debian-perl@lists.debian.org > > Please unblock package libbusiness-us-usps-webtools-perl > > [ Reason ] > USPS is sending notices that HTTP access will be turned off shortly, in favor > of HTTPS. libbusiness-us-usps-webtools-perl 1.125 includes only this fix > and included our patch. > > [ Impact ] > Given that is a web service that will break in the wild. > > [ Tests ] > Upstream updated its test. > > [ Risks ] > Patch isn't so big, just URL updates > > [ Checklist ] > [X] all changes are documented in the d/changelog > [X] I reviewed all changes and I approve them > [X] attach debdiff against the package in testing > > Cheers, > Yadd > > unblock libbusiness-us-usps-webtools-perl/1.125-1 The package has autopkgtests, so doesn't need an unblock. Still added a age-days 7 so that it migrates before the autoremoval kicks in. Cheers > diff --git a/Changes b/Changes > index ad21fdc..0134ec1 100644 > --- a/Changes > +++ b/Changes > @@ -1,5 +1,21 @@ > Revision history for Perl module Business::US::USPS::WebTools > > +1.125 2021-05-19 > + * Updated API endpoints. Always use HTTPS. > + > + * Removed two tests that started failing due to changes in the API > + response. > + > + * Skip tracking tests (which are disabled anyway) rather than failing if > + test credentials aren't set. > + > + * Access to the testing/staging environment is no longer granted by > + default and testing against the production environment is allowed > + (load/stress testing isn't), so tests are now run against the > + production API by default. To run against the testing/staging > + environment, set USPS_WEBTOOLS_ENVIRONMENT to TESTING while setting up > + your credentials. > + > 1.124 2020-09-18 > * New maintainer > > diff --git a/META.json b/META.json > index 8bdd808..21d2a96 100644 > --- a/META.json > +++ b/META.json > @@ -55,6 +55,6 @@ > "web" : "https://github.com/ssimms/business-us-usps-webtools" > } > }, > - "version" : "1.124", > + "version" : "1.125", > "x_serialization_backend" : "JSON::PP version 2.97001" > } > diff --git a/META.yml b/META.yml > index 242e04a..c3b908a 100644 > --- a/META.yml > +++ b/META.yml > @@ -27,5 +27,5 @@ resources: > bugtracker: https://github.com/ssimms/business-us-usps-webtools/issues > homepage: https://github.com/ssimms/business-us-usps-webtools > repository: https://github.com/ssimms/business-us-usps-webtools.git > -version: '1.124' > +version: '1.125' > x_serialization_backend: 'CPAN::Meta::YAML version 0.018' > diff --git a/debian/changelog b/debian/changelog > index 7cfe053..5e96703 100644 > --- a/debian/changelog > +++ b/debian/changelog > @@ -1,3 +1,10 @@ > +libbusiness-us-usps-webtools-perl (1.125-1) unstable; urgency=medium > + > + * Import upstream version 1.125 (Closes: #988330) > + * Remove patch, now included in upstream > + > + -- Yadd <yadd@debian.org> Thu, 20 May 2021 19:23:56 +0200 > + > libbusiness-us-usps-webtools-perl (1.124-1) unstable; urgency=medium > > [ gregor herrmann ] > diff --git a/debian/patches/series b/debian/patches/series > deleted file mode 100644 > index 3ee9145..0000000 > --- a/debian/patches/series > +++ /dev/null > @@ -1 +0,0 @@ > -skip-network-test.diff > diff --git a/debian/patches/skip-network-test.diff b/debian/patches/skip-network-test.diff > deleted file mode 100644 > index 2b6407a..0000000 > --- a/debian/patches/skip-network-test.diff > +++ /dev/null > @@ -1,21 +0,0 @@ > -Description: skip test that require network + USPS account > -Author: Xavier Guimard <yadd@debian.org> > -Forwarded: https://github.com/ssimms/business-us-usps-webtools/pull/1 > -Last-Update: 2020-09-22 > - > ---- a/t/track_confirm.t > -+++ b/t/track_confirm.t > -@@ -6,6 +6,13 @@ > - my $class = "Business::US::USPS::WebTools::TrackConfirm"; > - my $method = 'track'; > - > -+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # > -+unless( $ENV{USPS_WEBTOOLS_USERID} and $ENV{USPS_WEBTOOLS_PASSWORD} ) > -+ { > -+ plan skip_all => > -+ "You must set the USPS_WEBTOOLS_USERID and USPS_WEBTOOLS_PASSWORD " . > -+ "environment variables to run these tests\n"; > -+ } > - > - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # > - subtest setup => sub { > diff --git a/lib/Business/US/USPS/WebTools.pm b/lib/Business/US/USPS/WebTools.pm > index 819307d..7547253 100644 > --- a/lib/Business/US/USPS/WebTools.pm > +++ b/lib/Business/US/USPS/WebTools.pm > @@ -10,7 +10,7 @@ use Carp qw(carp croak); > use subs qw(); > use vars qw($VERSION); > > -$VERSION = '1.124'; > +$VERSION = '1.125'; > > =encoding utf8 > > @@ -125,7 +125,7 @@ sub _api_path { > $_[0]->_live ? > "/ShippingAPI.dll" > : > - "/ShippingAPITest.dll" > + "/ShippingAPI.dll" > } > > sub _make_url { > @@ -133,7 +133,7 @@ sub _make_url { > my( $self, $hash ) = @_; > > $self->{url} = Mojo::URL->new > - ->scheme('http') > + ->scheme('https') > ->host( $self->_api_host ) > ->path( $self->_api_path ) > ->query( > @@ -216,7 +216,7 @@ when you have set C<Testing> to a true value. > =cut > > sub live_server_host { "production.shippingapis.com" }; > -sub test_server_host { "testing.shippingapis.com" }; > +sub test_server_host { "stg-production.shippingapis.com" }; > > > =back > diff --git a/lib/Business/US/USPS/WebTools/AddressStandardization.pm b/lib/Business/US/USPS/WebTools/AddressStandardization.pm > index cde46cf..9b89ef4 100644 > --- a/lib/Business/US/USPS/WebTools/AddressStandardization.pm > +++ b/lib/Business/US/USPS/WebTools/AddressStandardization.pm > @@ -10,7 +10,7 @@ use parent qw(Business::US::USPS::WebTools); > use subs qw(); > use vars qw($VERSION); > > -$VERSION = '1.124'; > +$VERSION = '1.125'; > > =encoding utf8 > > diff --git a/lib/Business/US/USPS/WebTools/CityStateLookup.pm b/lib/Business/US/USPS/WebTools/CityStateLookup.pm > index 54a05d3..91522c3 100644 > --- a/lib/Business/US/USPS/WebTools/CityStateLookup.pm > +++ b/lib/Business/US/USPS/WebTools/CityStateLookup.pm > @@ -10,7 +10,7 @@ use parent qw(Business::US::USPS::WebTools); > use subs qw(); > use vars qw($VERSION); > > -$VERSION = '1.124'; > +$VERSION = '1.125'; > > =encoding utf8 > > diff --git a/lib/Business/US/USPS/WebTools/TrackConfirm.pm b/lib/Business/US/USPS/WebTools/TrackConfirm.pm > index a73568e..70376c5 100644 > --- a/lib/Business/US/USPS/WebTools/TrackConfirm.pm > +++ b/lib/Business/US/USPS/WebTools/TrackConfirm.pm > @@ -12,7 +12,7 @@ use vars qw($VERSION); > > use Carp qw(croak carp); > > -$VERSION = '1.124'; > +$VERSION = '1.125'; > > =encoding utf8 > > diff --git a/lib/Business/US/USPS/WebTools/ZipCodeLookup.pm b/lib/Business/US/USPS/WebTools/ZipCodeLookup.pm > index ea17305..fda5a9a 100644 > --- a/lib/Business/US/USPS/WebTools/ZipCodeLookup.pm > +++ b/lib/Business/US/USPS/WebTools/ZipCodeLookup.pm > @@ -10,7 +10,7 @@ use parent qw(Business::US::USPS::WebTools); > use subs qw(); > use vars qw($VERSION); > > -$VERSION = '1.124'; > +$VERSION = '1.125'; > > =encoding utf8 > > diff --git a/t/address_verification.t b/t/address_verification.t > index 811f14d..ba20fdf 100644 > --- a/t/address_verification.t > +++ b/t/address_verification.t > @@ -21,23 +21,35 @@ unless( $ENV{USPS_WEBTOOLS_USERID} and $ENV{USPS_WEBTOOLS_PASSWORD} ) > "environment variables to run these tests\n"; > } > > +my $is_testing = uc($ENV{USPS_WEBTOOLS_ENVIRONMENT}) eq 'TESTING'; > + > # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # > use_ok( $class ); > > my $verifier; > -my $base = qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=Verify&XML=%3CAddressValidateRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CIncludeOptionalElements%3Etrue%3C%2FIncludeOptionalElements%3E%3CReturnCarrierRoute%3Etrue%3C%2FReturnCarrierRoute%3E|; > + > +my $base = 'https://' . ($is_testing ? 'stg-' : '') . qq|production.shippingapis.com/ShippingAPI.dll?API=Verify&XML=%3CAddressValidateRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CIncludeOptionalElements%3Etrue%3C%2FIncludeOptionalElements%3E%3CReturnCarrierRoute%3Etrue%3C%2FReturnCarrierRoute%3E|; > > subtest setup => sub { > $verifier = $class->new( { > UserID => $ENV{USPS_WEBTOOLS_USERID}, > Password => $ENV{USPS_WEBTOOLS_PASSWORD}, > - Testing => 1, > + Testing => $is_testing, > } ); > isa_ok( $verifier, $class ); > > can_ok( $verifier, $method ); > }; > > +=pod > + > +2021-05-19: This test is failing because the API is no longer returning the > +expected output; it now includes the following warning: > + > +Default address: The address you entered was found but more information is > +needed (such as an apartment, suite, or box number) to match to a specific > +address. > + > # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # > # Good response #1 > subtest good_response_1 => sub { > @@ -81,6 +93,8 @@ XML > is( $hash->{Zip4}, '1441', 'Zip4 matches for Ivy Lane' ); > }; > > +=cut > + > # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # > # Good response #2 > subtest good_response_1 => sub { > diff --git a/t/city_state_lookup.t b/t/city_state_lookup.t > index 3054438..5a98b77 100644 > --- a/t/city_state_lookup.t > +++ b/t/city_state_lookup.t > @@ -21,6 +21,10 @@ unless( $ENV{USPS_WEBTOOLS_USERID} and $ENV{USPS_WEBTOOLS_PASSWORD} ) > "environment variables to run these tests\n"; > } > > +my $is_testing = uc($ENV{USPS_WEBTOOLS_ENVIRONMENT}) eq 'TESTING'; > + > +my $base = 'https://' . ($is_testing ? 'stg-' : '') . 'production.shippingapis.com/ShippingAPI.dll'; > + > # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # > use_ok( $class ); > > @@ -29,7 +33,7 @@ subtest setup => sub { > $verifier = $class->new( { > UserID => $ENV{USPS_WEBTOOLS_USERID}, > Password => $ENV{USPS_WEBTOOLS_PASSWORD}, > - Testing => 1, > + Testing => $is_testing, > } ); > isa_ok( $verifier, $class ); > > @@ -44,7 +48,7 @@ subtest good_response_1 => sub { > } ); > is( > $url, > - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E90210%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, > + qq|$base?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E90210%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, > "URL for 90210 is correct", > ); > > @@ -77,7 +81,7 @@ subtest good_response_2 => sub { > } ); > is( > $url, > - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E20770%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, > + qq|$base?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E20770%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, > "URL for 20770 is correct", > ); > > @@ -110,7 +114,7 @@ subtest good_response_3 => sub { > } ); > is( > $url, > - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E21113%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, > + qq|$base?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E21113%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, > "URL for 21113 is correct", > ); > > @@ -143,7 +147,7 @@ subtest good_response_4 => sub { > } ); > is( > $url, > - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E21032%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, > + qq|$base?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E21032%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, > "URL for 21032 is correct", > ); > > @@ -182,7 +186,7 @@ subtest good_response_5 => sub { > } ); > is( > $url, > - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E21117%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, > + qq|$base?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E21117%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, > "URL for Sharonwood Road is correct", > ); > > @@ -221,7 +225,7 @@ subtest error_response_1 => sub { > } ); > is( > $url, > - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E99999%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, > + qq|$base?API=CityStateLookup&XML=%3CCityStateLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CZipCode+ID%3D%220%22%3E%3CZip5%3E99999%3C%2FZip5%3E%3C%2FZipCode%3E%3C%2FCityStateLookupRequest%3E|, > "URL for Sharonwood Road Error is correct", > ); > > diff --git a/t/test_or_live.t b/t/test_or_live.t > index c8ea0d8..bcfa1c8 100644 > --- a/t/test_or_live.t > +++ b/t/test_or_live.t > @@ -15,8 +15,8 @@ subtest testing => sub { > ok( $webtools->_testing, "I think I'm testing" ); > > is( ! $webtools->_live, 1, "I don't think I'm live!" ); > - is( $webtools->_api_host, "testing.shippingapis.com", "Testing host is right" ); > - is( $webtools->_api_path, "/ShippingAPITest.dll", "Testing path is right" ); > + is( $webtools->_api_host, "stg-production.shippingapis.com", "Testing host is right" ); > + is( $webtools->_api_path, "/ShippingAPI.dll", "Testing path is right" ); > }; > > # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # > diff --git a/t/track_confirm.t b/t/track_confirm.t > index 7466ba9..fa44592 100644 > --- a/t/track_confirm.t > +++ b/t/track_confirm.t > @@ -6,6 +6,15 @@ use Test::More; > my $class = "Business::US::USPS::WebTools::TrackConfirm"; > my $method = 'track'; > > +# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # > +unless( $ENV{USPS_WEBTOOLS_USERID} and $ENV{USPS_WEBTOOLS_PASSWORD} ) > + { > + plan skip_all => > + "You must set the USPS_WEBTOOLS_USERID and USPS_WEBTOOLS_PASSWORD " . > + "environment variables to run these tests\n"; > + } > + > +my $is_testing = uc($ENV{USPS_WEBTOOLS_ENVIRONMENT}) eq 'TESTING'; > > # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # > subtest setup => sub { > @@ -13,17 +22,12 @@ subtest setup => sub { > can_ok( $class, $method ); > }; > > -subtest credentials => sub { > - ok defined $ENV{USPS_WEBTOOLS_USERID}, 'USPS_WEBTOOLS_USERID is not set'; > - ok defined $ENV{USPS_WEBTOOLS_PASSWORD}, 'USPS_WEBTOOLS_PASSWORD is not set'; > - }; > - > my $tracker; > subtest create_tracker => sub { > $tracker = $class->new( { > UserID => $ENV{USPS_WEBTOOLS_USERID}, > Password => $ENV{USPS_WEBTOOLS_PASSWORD}, > - Testing => 0, > + Testing => $is_testing, > } ); > isa_ok( $tracker, $class ); > }; > diff --git a/t/zip_code_lookup.t b/t/zip_code_lookup.t > index d2bd4eb..b5e6c9f 100644 > --- a/t/zip_code_lookup.t > +++ b/t/zip_code_lookup.t > @@ -21,6 +21,10 @@ unless( $ENV{USPS_WEBTOOLS_USERID} and $ENV{USPS_WEBTOOLS_PASSWORD} ) > "environment variables to run these tests\n"; > } > > +my $is_testing = uc($ENV{USPS_WEBTOOLS_ENVIRONMENT}) eq 'TESTING'; > + > +my $base = 'https://' . ($is_testing ? 'stg-' : '') . 'production.shippingapis.com/ShippingAPI.dll'; > + > # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # > my $verifier; > subtest setup => sub { > @@ -29,13 +33,22 @@ subtest setup => sub { > $verifier = $class->new( { > UserID => $ENV{USPS_WEBTOOLS_USERID}, > Password => $ENV{USPS_WEBTOOLS_PASSWORD}, > - Testing => 1, > + Testing => $is_testing, > } ); > isa_ok( $verifier, $class ); > > can_ok( $verifier, $method ); > }; > > +=pod > + > +2021-05-19: This test is failing because the API is no longer returning the > +expected output; it now includes the following warning: > + > +Default address: The address you entered was found but more information is > +needed (such as an apartment, suite, or box number) to match to a specific > +address. > + > # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # > # Good Request #1 > subtest good_request_1 => sub { > @@ -50,7 +63,7 @@ subtest good_request_1 => sub { > } ); > is( > $url, > - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E6406+Ivy+Lane%3C%2FAddress2%3E%3CCity%3EGreenbelt%3C%2FCity%3E%3CState%3EMD%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, > + qq|$base?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E6406+Ivy+Lane%3C%2FAddress2%3E%3CCity%3EGreenbelt%3C%2FCity%3E%3CState%3EMD%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, > "URL for Ivy Lane is correct", > ); > > @@ -76,6 +89,8 @@ XML > is( $hash->{Zip4}, '1441', 'Zip4 matches for Ivy Lane' ); > }; > > +=cut > + > # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # > # Good request 2 > subtest good_request_2 => sub { > @@ -90,7 +105,7 @@ subtest good_request_2 => sub { > } ); > is( > $url, > - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E8+Wildwood+Drive%3C%2FAddress2%3E%3CCity%3EOld+Lyme%3C%2FCity%3E%3CState%3ECT%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, > + qq|$base?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E8+Wildwood+Drive%3C%2FAddress2%3E%3CCity%3EOld+Lyme%3C%2FCity%3E%3CState%3ECT%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, > "URL for Wildwood Drive is correct", > ); > > @@ -133,7 +148,7 @@ subtest good_request_3 => sub { > } ); > is( > $url, > - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E4411+Romlon+Street%3C%2FAddress2%3E%3CCity%3EBeltsville%3C%2FCity%3E%3CState%3EMD%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, > + qq|$base?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E4411+Romlon+Street%3C%2FAddress2%3E%3CCity%3EBeltsville%3C%2FCity%3E%3CState%3EMD%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, > "URL for Romlan Street is correct", > ); > > @@ -176,7 +191,7 @@ subtest good_request_4 => sub { > } ); > is( > $url, > - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E3527+Sharonwood+Road+Apt.+3C%3C%2FAddress2%3E%3CCity%3ELaurel%3C%2FCity%3E%3CState%3EMD%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, > + qq|$base?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E3527+Sharonwood+Road+Apt.+3C%3C%2FAddress2%3E%3CCity%3ELaurel%3C%2FCity%3E%3CState%3EMD%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, > "URL for Sharonwood Road is correct", > ); > > @@ -224,7 +239,7 @@ subtest error_response_1 => sub { > } ); > is( > $url, > - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E3527+Sharonwood+Road+Apt.+3C%3C%2FAddress2%3E%3CCity%3EWilmington%3C%2FCity%3E%3CState%3EDE%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, > + qq|$base?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E3527+Sharonwood+Road+Apt.+3C%3C%2FAddress2%3E%3CCity%3EWilmington%3C%2FCity%3E%3CState%3EDE%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, > "URL for Sharonwood Road Error is correct", > ); > > @@ -279,7 +294,7 @@ subtest error_response_2 => sub { > } ); > is( > $url, > - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E1600+Pennsylvania+Avenue%3C%2FAddress2%3E%3CCity%3EWashington%3C%2FCity%3E%3CState%3EDC%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, > + qq|$base?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E1600+Pennsylvania+Avenue%3C%2FAddress2%3E%3CCity%3EWashington%3C%2FCity%3E%3CState%3EDC%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, > "URL for Pennsylvania Avenue Error is correct", > ); > > @@ -330,7 +345,7 @@ subtest error_response_3 => sub { > } ); > is( > $url, > - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E123+Main+Street%3C%2FAddress2%3E%3CCity%3EWashington%3C%2FCity%3E%3CState%3EZZ%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, > + qq|$base?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E123+Main+Street%3C%2FAddress2%3E%3CCity%3EWashington%3C%2FCity%3E%3CState%3EZZ%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, > "URL for Main Street Error is correct", > ); > > @@ -382,7 +397,7 @@ subtest error_response_3 => sub { > } ); > is( > $url, > - qq|http://testing.shippingapis.com/ShippingAPITest.dll?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E123+Main+Street%3C%2FAddress2%3E%3CCity%3ETrenton%3C%2FCity%3E%3CState%3ENJ%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, > + qq|$base?API=ZipCodeLookup&XML=%3CZipCodeLookupRequest+USERID%3D%22$ENV{USPS_WEBTOOLS_USERID}%22+PASSWORD%3D%22$ENV{USPS_WEBTOOLS_PASSWORD}%22%3E%3CAddress+ID%3D%220%22%3E%3CFirmName%3E%3C%2FFirmName%3E%3CAddress1%3E%3C%2FAddress1%3E%3CAddress2%3E123+Main+Street%3C%2FAddress2%3E%3CCity%3ETrenton%3C%2FCity%3E%3CState%3ENJ%3C%2FState%3E%3C%2FAddress%3E%3C%2FZipCodeLookupRequest%3E|, > "URL for Trenton, NJ Error is correct", > ); > -- Sebastian RamacherAttachment: signature.asc
Description: PGP signature
--- End Message ---