Assert.assertEquals(SerializableProvider.APPLICATION_SERIALIZABLE_TYPE, mediaType);
Object entity = response.getEntity(Serializable.class);
System.out.println("entity: " + entity);
Assert.assertTrue(entity instanceof ResteasyViolationException);
ResteasyViolationException exception = ResteasyViolationException.class.cast(entity);
ResteasyConstraintViolation violation = exception.getReturnValueViolations().iterator().next();
System.out.println("violation: " + violation);
Assert.assertTrue(violation.getMessage().equals("s must have length: 1 <= length <= 3"));
Assert.assertEquals("Foo[abcdef]", violation.getValue());
}
{
// Invalid imposed constraint
request = new ClientRequest("http://localhost:8080/Validation-test/rest/return/imposed");
request.body("application/foo", new Foo("abcdef"));
response = request.post(Foo.class);
Assert.assertEquals(500, response.getStatus());
String header = response.getResponseHeaders().getFirst(Validation.VALIDATION_HEADER);
Assert.assertNotNull(header);
Assert.assertTrue(Boolean.valueOf(header));
MediaType mediaType = response.getMediaType();
Assert.assertEquals(SerializableProvider.APPLICATION_SERIALIZABLE_TYPE, mediaType);
Object entity = response.getEntity(Serializable.class);
System.out.println("entity: " + entity);
Assert.assertTrue(entity instanceof ResteasyViolationException);
ResteasyViolationException exception = ResteasyViolationException.class.cast(entity);
countViolations(exception, 1, 0, 0, 0, 0, 1);
ResteasyConstraintViolation violation = exception.getReturnValueViolations().iterator().next();
System.out.println("violation: " + violation);
Assert.assertTrue(violation.getMessage().equals("s must have length: 3 <= length <= 5"));
Assert.assertEquals("Foo[abcdef]", violation.getValue());
}
{
// Invalid native and imposed constraints
request = new ClientRequest("http://localhost:8080/Validation-test/rest/return/nativeAndImposed");
request.body("application/foo", new Foo("abcdef"));
response = request.post(Foo.class);
Assert.assertEquals(500, response.getStatus());
String header = response.getResponseHeaders().getFirst(Validation.VALIDATION_HEADER);
Assert.assertNotNull(header);
Assert.assertTrue(Boolean.valueOf(header));
MediaType mediaType = response.getMediaType();
Assert.assertEquals(SerializableProvider.APPLICATION_SERIALIZABLE_TYPE, mediaType);
Object entity = response.getEntity(Serializable.class);
System.out.println("entity: " + entity);
Assert.assertTrue(entity instanceof ResteasyViolationException);
ResteasyViolationException exception = ResteasyViolationException.class.cast(entity);
countViolations(exception, 2, 0, 0, 0, 0, 2);
Iterator<ResteasyConstraintViolation > it = exception.getReturnValueViolations().iterator();
ResteasyConstraintViolation cv1 = it.next();
ResteasyConstraintViolation cv2 = it.next();
if (cv1.getMessage().indexOf('1') < 0)
{
ResteasyConstraintViolation temp = cv1;
cv1 = cv2;
cv2 = temp;
}
Assert.assertTrue(cv1.getMessage().equals("s must have length: 1 <= length <= 3"));
Assert.assertEquals("Foo[abcdef]", cv1.getValue());