// Copyright 2016 Yahoo Inc. // Licensed under the terms of the Apache license. Please see LICENSE.md file distributed with this work for terms. package com.yahoo.parsec.validation; import org.testng.Assert; import org.testng.annotations.Test; import javax.validation.ConstraintViolation; import javax.validation.ConstraintViolationException; import javax.validation.Validation; import javax.validation.Validator; import javax.validation.constraints.NotNull; import javax.ws.rs.core.Response; import java.util.Set; /** * Created by hankting on 6/23/15. */ public class ParsecValidationExceptionMapperTest { @Test public void testConstraintViolationException() { ParsecValidationExceptionMapper mapper = new ParsecValidationExceptionMapper(); Set<ConstraintViolation<Entity>> violations = getViolations(); @SuppressWarnings({ "rawtypes", "unchecked" }) ConstraintViolationException cve = new ConstraintViolationException(violations); Response response = mapper.toResponse(cve); ParsecErrorResponse e = (ParsecErrorResponse) response.getEntity(); Assert.assertEquals(e.getError().getCode(), 0); Assert.assertEquals(e.getError().getMessage(), "constraint violation validate error"); Assert.assertEquals(e.getError().getDetail().size(), 1); } private Set<ConstraintViolation<Entity>> getViolations() { Entity entity = new Entity(); Validator validator = Validation.buildDefaultValidatorFactory() .getValidator(); return validator.validate(entity); } private class Entity { @NotNull public String value1; } }