private static String toHtml() { final StringBuilder b = new StringBuilder(); b.append("<table class=\"data-table\"><tbody>\n"); b.append("<tr>"); b.append("<th>Error</th>\n"); b.append("<th>Code</th>\n"); b.append("<th>Retriable</th>\n"); b.append("<th>Description</th>\n"); b.append("</tr>\n"); for (Errors error : Errors.values()) { b.append("<tr>"); b.append("<td>"); b.append(error.name()); b.append("</td>"); b.append("<td>"); b.append(error.code()); b.append("</td>"); b.append("<td>"); b.append(error.exception() != null && error.exception() instanceof RetriableException ? "True" : "False"); b.append("</td>"); b.append("<td>"); b.append(error.exception() != null ? error.exception().getMessage() : ""); b.append("</td>"); b.append("</tr>\n"); } b.append("</table>\n"); return b.toString(); }
@Test public void testUniqueExceptions() { Set<Class> exceptionSet = new HashSet<>(); for (Errors error : Errors.values()) { if (error != Errors.NONE) exceptionSet.add(error.exception().getClass()); } assertEquals("Exceptions must be unique", exceptionSet.size(), Errors.values().length - 1); // Ignore NONE }
@Test public void testExceptionsAreNotGeneric() { for (Errors error : Errors.values()) { if (error != Errors.NONE) assertNotEquals("Generic ApiException should not be used", error.exception().getClass(), ApiException.class); } }