### Question:
AmbariErrorHandler extends ErrorHandler { @Override public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException { HttpChannel connection = HttpConnection.getCurrentConnection().getHttpChannel(); connection.getRequest().setHandled(true); response.setContentType(MimeTypes.Type.TEXT_PLAIN.asString()); Map<String, Object> errorMap = new LinkedHashMap<>(); int code = connection.getResponse().getStatus(); errorMap.put("status", code); String message = connection.getResponse().getReason(); if (message == null) { message = HttpStatus.getMessage(code); } errorMap.put("message", message); if ((code == HttpServletResponse.SC_FORBIDDEN) || (code == HttpServletResponse.SC_UNAUTHORIZED)) { JwtAuthenticationProperties jwtProperties = jwtAuthenticationPropertiesProvider.get(); if ((jwtProperties != null) && jwtProperties.isEnabledForAmbari()) { String providerUrl = jwtProperties.getAuthenticationProviderUrl(); String originalUrl = jwtProperties.getOriginalUrlQueryParam(); if (StringUtils.isEmpty(providerUrl)) { LOG.warn("The SSO provider URL is not available, forwarding to the SSO provider is not possible"); } else if (StringUtils.isEmpty(originalUrl)) { LOG.warn("The original URL parameter name is not available, forwarding to the SSO provider is not possible"); } else { errorMap.put("jwtProviderUrl", String.format("%s?%s=", providerUrl, originalUrl)); } } } gson.toJson(errorMap, response.getWriter()); } @Inject  AmbariErrorHandler(@Named("prettyGson") Gson prettyGson, JwtAuthenticationPropertiesProvider jwtAuthenticationPropertiesProvider); @Override void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response);  }### Answer:
@Test public void testHandle() throws Exception { }