From 3f5735ed4b79a427bb017613a84f0353021623bf Mon Sep 17 00:00:00 2001 From: jianglai Date: Wed, 17 May 2017 15:05:58 -0700 Subject: [PATCH] Add Carriage Return in WHOIS disclaimer text WHOIS disclaimer is read from the config yaml file directly and the line breaks within the text does not contain carriage return, which ICANN requires. This CL fixes the non-compliance. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=156359526 --- java/google/registry/whois/WhoisResponseImpl.java | 2 +- .../registry/whois/DomainWhoisResponseTest.java | 13 +++++++++++-- .../registry/whois/NameserverWhoisResponseTest.java | 10 ++++++++-- .../registry/whois/RegistrarWhoisResponseTest.java | 8 ++++++-- .../google/registry/whois/WhoisHttpServerTest.java | 3 ++- .../google/registry/whois/WhoisServerTest.java | 3 ++- .../google/registry/whois/testdata/whois_domain.txt | 2 ++ .../whois/testdata/whois_multiple_nameservers.txt | 2 ++ .../registry/whois/testdata/whois_nameserver.txt | 2 ++ .../registry/whois/testdata/whois_registrar.txt | 2 ++ .../registry/whois/testdata/whois_server_domain.txt | 2 ++ .../testdata/whois_server_domain_not_found.txt | 2 ++ .../whois/testdata/whois_server_idn_punycode.txt | 2 ++ .../whois/testdata/whois_server_idn_utf8.txt | 2 ++ .../whois/testdata/whois_server_ip_not_found.txt | 2 ++ .../whois/testdata/whois_server_malformed_path.txt | 2 ++ .../whois/testdata/whois_server_nameserver.txt | 2 ++ .../testdata/whois_server_nameserver_not_found.txt | 2 ++ .../whois/testdata/whois_server_no_command.txt | 2 ++ .../whois/testdata/whois_server_registrar.txt | 2 ++ .../testdata/whois_server_registrar_not_found.txt | 2 ++ 21 files changed, 60 insertions(+), 9 deletions(-) diff --git a/java/google/registry/whois/WhoisResponseImpl.java b/java/google/registry/whois/WhoisResponseImpl.java index a389aec23..917fbc6e2 100644 --- a/java/google/registry/whois/WhoisResponseImpl.java +++ b/java/google/registry/whois/WhoisResponseImpl.java @@ -157,7 +157,7 @@ abstract class WhoisResponseImpl implements WhoisResponse { /** Returns raw text that should be appended to the end of ALL WHOIS responses. */ E emitFooter(String disclaimer) { - stringBuilder.append(disclaimer).append("\r\n"); + stringBuilder.append(disclaimer.replaceAll("\r?\n", "\r\n").trim()).append("\r\n"); return thisCastToDerived(); } diff --git a/javatests/google/registry/whois/DomainWhoisResponseTest.java b/javatests/google/registry/whois/DomainWhoisResponseTest.java index 9326eef26..0eec84bf9 100644 --- a/javatests/google/registry/whois/DomainWhoisResponseTest.java +++ b/javatests/google/registry/whois/DomainWhoisResponseTest.java @@ -254,7 +254,10 @@ public class DomainWhoisResponseTest { public void getPlainTextOutputTest() { DomainWhoisResponse domainWhoisResponse = new DomainWhoisResponse(domainResource, clock.nowUtc()); - assertThat(domainWhoisResponse.getResponse(false, "Doodle Disclaimer")) + assertThat( + domainWhoisResponse.getResponse( + false, + "Doodle Disclaimer\nI exist so that carriage return\nin disclaimer can be tested.")) .isEqualTo(WhoisResponseResults.create(loadWhoisTestFile("whois_domain.txt"), 1)); } @@ -263,7 +266,13 @@ public class DomainWhoisResponseTest { DomainWhoisResponse domainWhoisResponse = new DomainWhoisResponse( domainResource.asBuilder().setStatusValues(null).build(), clock.nowUtc()); - assertThat(domainWhoisResponse.getResponse(false, "Doodle Disclaimer").plainTextOutput()) + assertThat( + domainWhoisResponse + .getResponse( + false, + "Doodle Disclaimer\nI exist so that carriage return\n" + + "in disclaimer can be tested.") + .plainTextOutput()) .contains("Domain Status: ok"); } } diff --git a/javatests/google/registry/whois/NameserverWhoisResponseTest.java b/javatests/google/registry/whois/NameserverWhoisResponseTest.java index 317627b47..f899fe8b5 100644 --- a/javatests/google/registry/whois/NameserverWhoisResponseTest.java +++ b/javatests/google/registry/whois/NameserverWhoisResponseTest.java @@ -76,7 +76,10 @@ public class NameserverWhoisResponseTest { public void testGetTextOutput() { NameserverWhoisResponse nameserverWhoisResponse = new NameserverWhoisResponse(hostResource1, clock.nowUtc()); - assertThat(nameserverWhoisResponse.getResponse(false, "Doodle Disclaimer")) + assertThat( + nameserverWhoisResponse.getResponse( + false, + "Doodle Disclaimer\nI exist so that carriage return\nin disclaimer can be tested.")) .isEqualTo(WhoisResponseResults.create(loadWhoisTestFile("whois_nameserver.txt"), 1)); } @@ -84,7 +87,10 @@ public class NameserverWhoisResponseTest { public void testGetMultipleNameserversResponse() { NameserverWhoisResponse nameserverWhoisResponse = new NameserverWhoisResponse(ImmutableList.of(hostResource1, hostResource2), clock.nowUtc()); - assertThat(nameserverWhoisResponse.getResponse(false, "Doodle Disclaimer")) + assertThat( + nameserverWhoisResponse.getResponse( + false, + "Doodle Disclaimer\nI exist so that carriage return\nin disclaimer can be tested.")) .isEqualTo( WhoisResponseResults.create(loadWhoisTestFile("whois_multiple_nameservers.txt"), 2)); } diff --git a/javatests/google/registry/whois/RegistrarWhoisResponseTest.java b/javatests/google/registry/whois/RegistrarWhoisResponseTest.java index 006c67122..d5300f06a 100644 --- a/javatests/google/registry/whois/RegistrarWhoisResponseTest.java +++ b/javatests/google/registry/whois/RegistrarWhoisResponseTest.java @@ -115,7 +115,10 @@ public class RegistrarWhoisResponseTest { RegistrarWhoisResponse registrarWhoisResponse = new RegistrarWhoisResponse(registrar, clock.nowUtc()); - assertThat(registrarWhoisResponse.getResponse(false, "Doodle Disclaimer")) + assertThat( + registrarWhoisResponse.getResponse( + false, + "Doodle Disclaimer\nI exist so that carriage return\nin disclaimer can be tested.")) .isEqualTo(WhoisResponseResults.create(loadWhoisTestFile("whois_registrar.txt"), 1)); } @@ -127,6 +130,7 @@ public class RegistrarWhoisResponseTest { RegistrarWhoisResponse registrarWhoisResponse = new RegistrarWhoisResponse(registrar, clock.nowUtc()); // Just make sure this doesn't NPE. - registrarWhoisResponse.getResponse(false, "Doodle Disclaimer"); + registrarWhoisResponse.getResponse( + false, "Doodle Disclaimer\nI exist so that carriage return\nin disclaimer can be tested."); } } diff --git a/javatests/google/registry/whois/WhoisHttpServerTest.java b/javatests/google/registry/whois/WhoisHttpServerTest.java index ac17aa35f..4010ccded 100644 --- a/javatests/google/registry/whois/WhoisHttpServerTest.java +++ b/javatests/google/registry/whois/WhoisHttpServerTest.java @@ -80,7 +80,8 @@ public class WhoisHttpServerTest { whoisServer.whoisReader = new WhoisReader(new WhoisCommandFactory()); whoisServer.whoisMetrics = new WhoisMetrics(); whoisServer.metricBuilder = WhoisMetric.builderForRequest(clock); - whoisServer.disclaimer = "Doodle Disclaimer"; + whoisServer.disclaimer = + "Doodle Disclaimer\nI exist so that carriage return\nin disclaimer can be tested."; return whoisServer; } diff --git a/javatests/google/registry/whois/WhoisServerTest.java b/javatests/google/registry/whois/WhoisServerTest.java index 7330635b2..535fc39e9 100644 --- a/javatests/google/registry/whois/WhoisServerTest.java +++ b/javatests/google/registry/whois/WhoisServerTest.java @@ -78,7 +78,8 @@ public class WhoisServerTest { whoisServer.whoisReader = new WhoisReader(new WhoisCommandFactory()); whoisServer.whoisMetrics = new WhoisMetrics(); whoisServer.metricBuilder = WhoisMetric.builderForRequest(clock); - whoisServer.disclaimer = "Doodle Disclaimer"; + whoisServer.disclaimer = + "Doodle Disclaimer\nI exist so that carriage return\nin disclaimer can be tested."; whoisServer.retrier = new Retrier(new FakeSleeper(clock), 3); return whoisServer; } diff --git a/javatests/google/registry/whois/testdata/whois_domain.txt b/javatests/google/registry/whois/testdata/whois_domain.txt index bad864d36..e1e4109d2 100644 --- a/javatests/google/registry/whois/testdata/whois_domain.txt +++ b/javatests/google/registry/whois/testdata/whois_domain.txt @@ -63,3 +63,5 @@ URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/ For more information on Whois status codes, please visit https://icann.org/epp Doodle Disclaimer +I exist so that carriage return +in disclaimer can be tested. diff --git a/javatests/google/registry/whois/testdata/whois_multiple_nameservers.txt b/javatests/google/registry/whois/testdata/whois_multiple_nameservers.txt index ff311df31..4357228d8 100644 --- a/javatests/google/registry/whois/testdata/whois_multiple_nameservers.txt +++ b/javatests/google/registry/whois/testdata/whois_multiple_nameservers.txt @@ -14,3 +14,5 @@ Registrar URL: http://www.referral.example/path >>> Last update of WHOIS database: 2009-05-29T20:15:00Z <<< Doodle Disclaimer +I exist so that carriage return +in disclaimer can be tested. diff --git a/javatests/google/registry/whois/testdata/whois_nameserver.txt b/javatests/google/registry/whois/testdata/whois_nameserver.txt index 26fed0eeb..2fc974325 100644 --- a/javatests/google/registry/whois/testdata/whois_nameserver.txt +++ b/javatests/google/registry/whois/testdata/whois_nameserver.txt @@ -7,3 +7,5 @@ Registrar URL: http://www.referral.example/path >>> Last update of WHOIS database: 2009-05-29T20:15:00Z <<< Doodle Disclaimer +I exist so that carriage return +in disclaimer can be tested. diff --git a/javatests/google/registry/whois/testdata/whois_registrar.txt b/javatests/google/registry/whois/testdata/whois_registrar.txt index 29dd6b275..6536e8b18 100644 --- a/javatests/google/registry/whois/testdata/whois_registrar.txt +++ b/javatests/google/registry/whois/testdata/whois_registrar.txt @@ -24,3 +24,5 @@ Email: johngeek@example-registrar.tld >>> Last update of WHOIS database: 2009-05-29T20:15:00Z <<< Doodle Disclaimer +I exist so that carriage return +in disclaimer can be tested. diff --git a/javatests/google/registry/whois/testdata/whois_server_domain.txt b/javatests/google/registry/whois/testdata/whois_server_domain.txt index afa37476a..658251b47 100644 --- a/javatests/google/registry/whois/testdata/whois_server_domain.txt +++ b/javatests/google/registry/whois/testdata/whois_server_domain.txt @@ -61,3 +61,5 @@ URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/ For more information on Whois status codes, please visit https://icann.org/epp Doodle Disclaimer +I exist so that carriage return +in disclaimer can be tested. diff --git a/javatests/google/registry/whois/testdata/whois_server_domain_not_found.txt b/javatests/google/registry/whois/testdata/whois_server_domain_not_found.txt index f132c9269..836eb40d5 100644 --- a/javatests/google/registry/whois/testdata/whois_server_domain_not_found.txt +++ b/javatests/google/registry/whois/testdata/whois_server_domain_not_found.txt @@ -2,3 +2,5 @@ Domain not found. >>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<< Doodle Disclaimer +I exist so that carriage return +in disclaimer can be tested. diff --git a/javatests/google/registry/whois/testdata/whois_server_idn_punycode.txt b/javatests/google/registry/whois/testdata/whois_server_idn_punycode.txt index 3c6100b84..040024cc7 100644 --- a/javatests/google/registry/whois/testdata/whois_server_idn_punycode.txt +++ b/javatests/google/registry/whois/testdata/whois_server_idn_punycode.txt @@ -61,3 +61,5 @@ URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/ For more information on Whois status codes, please visit https://icann.org/epp Doodle Disclaimer +I exist so that carriage return +in disclaimer can be tested. diff --git a/javatests/google/registry/whois/testdata/whois_server_idn_utf8.txt b/javatests/google/registry/whois/testdata/whois_server_idn_utf8.txt index 6c01819aa..79e0841ab 100644 --- a/javatests/google/registry/whois/testdata/whois_server_idn_utf8.txt +++ b/javatests/google/registry/whois/testdata/whois_server_idn_utf8.txt @@ -61,3 +61,5 @@ URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/ For more information on Whois status codes, please visit https://icann.org/epp Doodle Disclaimer +I exist so that carriage return +in disclaimer can be tested. diff --git a/javatests/google/registry/whois/testdata/whois_server_ip_not_found.txt b/javatests/google/registry/whois/testdata/whois_server_ip_not_found.txt index 45d055dd0..636bcf2a0 100644 --- a/javatests/google/registry/whois/testdata/whois_server_ip_not_found.txt +++ b/javatests/google/registry/whois/testdata/whois_server_ip_not_found.txt @@ -2,3 +2,5 @@ No nameservers found. >>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<< Doodle Disclaimer +I exist so that carriage return +in disclaimer can be tested. diff --git a/javatests/google/registry/whois/testdata/whois_server_malformed_path.txt b/javatests/google/registry/whois/testdata/whois_server_malformed_path.txt index 5cd70319e..6bbd66f93 100644 --- a/javatests/google/registry/whois/testdata/whois_server_malformed_path.txt +++ b/javatests/google/registry/whois/testdata/whois_server_malformed_path.txt @@ -2,3 +2,5 @@ Malformed path query. >>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<< Doodle Disclaimer +I exist so that carriage return +in disclaimer can be tested. diff --git a/javatests/google/registry/whois/testdata/whois_server_nameserver.txt b/javatests/google/registry/whois/testdata/whois_server_nameserver.txt index 9119354cc..dad7e7284 100644 --- a/javatests/google/registry/whois/testdata/whois_server_nameserver.txt +++ b/javatests/google/registry/whois/testdata/whois_server_nameserver.txt @@ -6,3 +6,5 @@ Registrar URL: http://www.referral.example/path >>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<< Doodle Disclaimer +I exist so that carriage return +in disclaimer can be tested. diff --git a/javatests/google/registry/whois/testdata/whois_server_nameserver_not_found.txt b/javatests/google/registry/whois/testdata/whois_server_nameserver_not_found.txt index e0ef9ac8e..a7f9fe29f 100644 --- a/javatests/google/registry/whois/testdata/whois_server_nameserver_not_found.txt +++ b/javatests/google/registry/whois/testdata/whois_server_nameserver_not_found.txt @@ -2,3 +2,5 @@ Nameserver not found. >>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<< Doodle Disclaimer +I exist so that carriage return +in disclaimer can be tested. diff --git a/javatests/google/registry/whois/testdata/whois_server_no_command.txt b/javatests/google/registry/whois/testdata/whois_server_no_command.txt index f808b5355..eb18903e1 100644 --- a/javatests/google/registry/whois/testdata/whois_server_no_command.txt +++ b/javatests/google/registry/whois/testdata/whois_server_no_command.txt @@ -2,3 +2,5 @@ No WHOIS command specified. >>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<< Doodle Disclaimer +I exist so that carriage return +in disclaimer can be tested. diff --git a/javatests/google/registry/whois/testdata/whois_server_registrar.txt b/javatests/google/registry/whois/testdata/whois_server_registrar.txt index fe0b6dd88..e3a847cef 100644 --- a/javatests/google/registry/whois/testdata/whois_server_registrar.txt +++ b/javatests/google/registry/whois/testdata/whois_server_registrar.txt @@ -20,3 +20,5 @@ Email: johndoe@example.com >>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<< Doodle Disclaimer +I exist so that carriage return +in disclaimer can be tested. diff --git a/javatests/google/registry/whois/testdata/whois_server_registrar_not_found.txt b/javatests/google/registry/whois/testdata/whois_server_registrar_not_found.txt index a21a15f9d..d2568dc33 100644 --- a/javatests/google/registry/whois/testdata/whois_server_registrar_not_found.txt +++ b/javatests/google/registry/whois/testdata/whois_server_registrar_not_found.txt @@ -2,3 +2,5 @@ No registrar found. >>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<< Doodle Disclaimer +I exist so that carriage return +in disclaimer can be tested.