diff --git a/java/google/registry/rdap/RdapActionBase.java b/java/google/registry/rdap/RdapActionBase.java index b69a48969..e1cb24ae9 100644 --- a/java/google/registry/rdap/RdapActionBase.java +++ b/java/google/registry/rdap/RdapActionBase.java @@ -179,7 +179,8 @@ public abstract class RdapActionBase implements Runnable { response.setPayload(new JacksonFactory().toPrettyString(rdapJson)); return; } catch (IOException e) { - // On exception, fall back to unformatted output + logger.warning( + e, "Unable to pretty-print RDAP JSON response; falling back to unformatted output."); } } response.setPayload(JSONValue.toJSONString(rdapJson)); diff --git a/javatests/google/registry/rdap/RdapActionBaseTest.java b/javatests/google/registry/rdap/RdapActionBaseTest.java index 30b472537..8c6925ff5 100644 --- a/javatests/google/registry/rdap/RdapActionBaseTest.java +++ b/javatests/google/registry/rdap/RdapActionBaseTest.java @@ -233,14 +233,19 @@ public class RdapActionBaseTest { .build()); } + private String loadFileWithoutTrailingNewline(String fileName) { + String contents = loadFileWithSubstitutions(this.getClass(), fileName, null); + return contents.endsWith("\n") ? contents.substring(0, contents.length() - 1) : contents; + } + @Test public void testUnformatted() throws Exception { action.requestPath = RdapTestAction.PATH + "no.thing"; action.fullServletPath = "http://myserver.example.com" + RdapTestAction.PATH; action.requestMethod = GET; action.run(); - assertThat(response.getPayload() + '\n').isEqualTo( - loadFileWithSubstitutions(this.getClass(), "rdap_unformatted_output.json", null)); + assertThat(response.getPayload()) + .isEqualTo(loadFileWithoutTrailingNewline("rdap_unformatted_output.json")); } @Test @@ -250,7 +255,7 @@ public class RdapActionBaseTest { action.requestMethod = GET; action.formatOutputParam = Optional.of(true); action.run(); - assertThat(response.getPayload() + '\n').isEqualTo( - loadFileWithSubstitutions(this.getClass(), "rdap_formatted_output.json", null)); + assertThat(response.getPayload()) + .isEqualTo(loadFileWithoutTrailingNewline("rdap_formatted_output.json")); } }