use of net.servicestack.client.ResponseStatus in project ServiceStack.Java by ServiceStack.
the class UtilsTests method test_Can_parse_response_with_server_enabled_nulls.
public void test_Can_parse_response_with_server_enabled_nulls() {
JsonObject jsonObject = new JsonParser().parse("{\n" + " \"ResponseStatus\": {\n" + " \"ErrorCode\": \"ModelNotFoundException\",\n" + " \"Message\": \"The specified model was not found\",\n" + " \"StackTrace\": null,\n" + " \"Errors\": [],\n" + " \"Meta\": null\n" + " }\n" + "}").getAsJsonObject();
ResponseStatus responseStatus = Utils.createResponseStatus(jsonObject.get("ResponseStatus"));
assertEquals(responseStatus.getErrorCode(), "ModelNotFoundException");
assertEquals(responseStatus.getMessage(), "The specified model was not found");
assertEquals(responseStatus.getErrors().size(), 0);
}
use of net.servicestack.client.ResponseStatus in project ServiceStack.Java by ServiceStack.
the class TestServiceTests method test_Does_handle_401_Error_with_empty_ResponseBody.
public void test_Does_handle_401_Error_with_empty_ResponseBody() {
JsonServiceClient testClient = new JsonServiceClient("http://test.servicestack.net");
// Wow Java, you suck.
final Exception[] globalError = new Exception[1];
final Exception[] localError = new Exception[1];
WebServiceException thrownError = null;
JsonServiceClient.GlobalExceptionFilter = new ExceptionFilter() {
@Override
public void exec(HttpURLConnection res, Exception ex) {
globalError[0] = ex;
}
};
testClient.ExceptionFilter = new ExceptionFilter() {
@Override
public void exec(HttpURLConnection res, Exception ex) {
localError[0] = ex;
}
};
TestAuth request = new TestAuth();
try {
TestAuthResponse response = testClient.send(request);
} catch (WebServiceException webEx) {
thrownError = webEx;
}
assertNotNull(globalError[0]);
assertNotNull(localError[0]);
assertNotNull(thrownError);
ResponseStatus status = thrownError.getResponseStatus();
assertNull(status);
}
use of net.servicestack.client.ResponseStatus in project ServiceStack.Java by ServiceStack.
the class TestServiceTests method test_Does_handle_404_Error.
public void test_Does_handle_404_Error() {
JsonServiceClient testClient = new JsonServiceClient("http://test.servicestack.net");
// Wow Java, you suck.
final Exception[] globalError = new Exception[1];
final Exception[] localError = new Exception[1];
WebServiceException thrownError = null;
JsonServiceClient.GlobalExceptionFilter = new ExceptionFilter() {
@Override
public void exec(HttpURLConnection res, Exception ex) {
globalError[0] = ex;
}
};
testClient.ExceptionFilter = new ExceptionFilter() {
@Override
public void exec(HttpURLConnection res, Exception ex) {
localError[0] = ex;
}
};
ThrowType request = new ThrowType().setType("NotFound").setMessage("not here");
try {
ThrowTypeResponse response = testClient.put(request);
} catch (WebServiceException webEx) {
thrownError = webEx;
}
assertNotNull(globalError[0]);
assertNotNull(localError[0]);
assertNotNull(thrownError);
ResponseStatus status = thrownError.getResponseStatus();
assertEquals("NotFound", status.getErrorCode());
assertEquals("not here", status.getMessage());
assertNotNull(status.getStackTrace());
}
use of net.servicestack.client.ResponseStatus in project ServiceStack.Java by ServiceStack.
the class TestServiceTestsAsync method test_Does_handle_ValidationException_Async.
public void test_Does_handle_ValidationException_Async() {
ThrowValidation request = new ThrowValidation().setEmail("invalidemail");
final CountDownLatch signal = new CountDownLatch(1);
client.postAsync(request, new AsyncResult<ThrowValidationResponse>() {
@Override
public void success(ThrowValidationResponse response) {
fail("should not succeed");
}
@Override
public void error(Exception ex) {
WebServiceException webEx = (WebServiceException) ex;
ResponseStatus status = webEx.getResponseStatus();
assertNotNull(status);
assertEquals(3, status.getErrors().size());
assertEquals(status.getErrors().get(0).getErrorCode(), status.getErrorCode());
assertEquals(status.getErrors().get(0).getMessage(), status.getMessage());
assertEquals("InclusiveBetween", status.getErrors().get(0).errorCode);
assertEquals("'Age' must be between 1 and 120. You entered 0.", status.getErrors().get(0).getMessage());
assertEquals("Age", status.getErrors().get(0).getFieldName());
assertEquals("NotEmpty", status.getErrors().get(1).errorCode);
assertEquals("'Required' should not be empty.", status.getErrors().get(1).getMessage());
assertEquals("Required", status.getErrors().get(1).getFieldName());
assertEquals("Email", status.getErrors().get(2).errorCode);
assertEquals("'Email' is not a valid email address.", status.getErrors().get(2).getMessage());
assertEquals("Email", status.getErrors().get(2).getFieldName());
}
@Override
public void complete() {
signal.countDown();
}
});
}
use of net.servicestack.client.ResponseStatus in project ServiceStack.Java by ServiceStack.
the class TestServiceTestsAsync method test_Does_handle_404_Error_Async.
public void test_Does_handle_404_Error_Async() throws InterruptedException {
AndroidServiceClient testClient = new AndroidServiceClient("http://test.servicestack.net");
// Wow Java, you suck.
final Exception[] globalError = new Exception[1];
final Exception[] localError = new Exception[1];
final WebServiceException[] thrownError = { null };
AndroidServiceClient.GlobalExceptionFilter = new ExceptionFilter() {
@Override
public void exec(HttpURLConnection res, Exception ex) {
globalError[0] = ex;
}
};
testClient.ExceptionFilter = new ExceptionFilter() {
@Override
public void exec(HttpURLConnection res, Exception ex) {
localError[0] = ex;
}
};
ThrowType request = new ThrowType().setType("NotFound").setMessage("not here");
final CountDownLatch signal = new CountDownLatch(1);
testClient.putAsync(request, new AsyncResult<ThrowTypeResponse>() {
@Override
public void success(ThrowTypeResponse response) {
fail("should not succeed");
}
@Override
public void error(Exception ex) {
thrownError[0] = (WebServiceException) ex;
}
@Override
public void complete() {
signal.countDown();
}
});
assertTrue(signal.await(5, TimeUnit.SECONDS));
assertNotNull(globalError[0]);
assertNotNull(localError[0]);
assertNotNull(thrownError[0]);
ResponseStatus status = thrownError[0].getResponseStatus();
assertEquals("NotFound", status.getErrorCode());
assertEquals("not here", status.getMessage());
assertNotNull(status.getStackTrace());
}
Aggregations