public void validateResponseErrorXml(String xml) {

    ErrorResponse errorResponse = (ErrorResponse) xstream.fromXML(xml, new ErrorResponse());

    Assert.assertTrue("Error response is empty.", errorResponse.getErrors().size() > 0);

    for (Iterator<ErrorMessage> iter = errorResponse.getErrors().iterator(); iter.hasNext(); ) {
      ErrorMessage error = iter.next();
      Assert.assertFalse("Response Error message is empty.", StringUtils.isEmpty(error.getMsg()));
    }
  }
Example #2
0
  private static <E> PlexusResourceException validationError(String name, Class<E> enumClass) {
    ErrorMessage err = new ErrorMessage();
    err.setId("*");
    err.setMsg("No enum const " + enumClass + "." + name);

    ErrorResponse ner = new ErrorResponse();
    ner.addError(err);

    return new PlexusResourceException(
        Status.CLIENT_ERROR_BAD_REQUEST, "Configuration error.", ner);
  }
  private void test(String query, String expected) throws IOException {

    String serviceURIpart = "service/local/lucene/search?q=" + URLEncoder.encode(query, "UTF-8");
    log.info("Testing query {}: {}", query, serviceURIpart);
    String errorPayload = RequestFacade.doGetForText(serviceURIpart, respondsWithStatusCode(400));
    log.info("Received 'Bad Request' error: " + errorPayload);
    MediaType type = MediaType.APPLICATION_XML;
    XStreamRepresentation representation =
        new XStreamRepresentation(getXMLXStream(), errorPayload, type);

    ErrorResponse payload = (ErrorResponse) representation.getPayload(new ErrorResponse());

    List errors = payload.getErrors();
    assertThat((Collection<?>) errors, hasSize(1));
    ErrorMessage error = (ErrorMessage) errors.get(0);
    String msg = error.getMsg();

    msg = msg.replaceAll("Cannot parse '([^']*)':.*", "$1");

    log.info("msg: " + msg);

    assertThat(msg, equalTo(expected));
  }