blob: 72b4717193ecd29279a781ac94816543c55ba40c [file] [log] [blame]
/*
* Copyright 2011 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package org.hibernate.jsr303.tck.tests.constraints.invalidconstraintdefinitions;
import org.hibernate.jsr303.tck.util.TckCompileTestCase;
import java.util.regex.Pattern;
import javax.validation.ConstraintDefinitionException;
import javax.validation.Validator;
/**
* Test wrapper for
* {@link org.hibernate.jsr303.tck.tests.constraints.invalidconstraintdefinitions.InvalidConstraintDefinitionsTest}
* .
*/
public class InvalidConstraintDefinitionsCompileTest extends TckCompileTestCase {
public void testConstraintDefinitionWithoutGroupParameter() {
assertConstraintDefinitionException(
ConstraintDefinitionWithoutGroupParameterFactory.TestValidator.class,
"Unable to create a validator for org.hibernate.jsr303.tck."
+ "tests.constraints.invalidconstraintdefinitions."
+ "InvalidConstraintDefinitionsTest.DummyEntityNoGroups because "
+ "org.hibernate.jsr303.tck.tests.constraints."
+ "invalidconstraintdefinitions.NoGroups contains Constraint "
+ "annotation, but does not contain a groups parameter.");
}
public void testConstraintDefinitionWithoutMessageParameter() {
assertConstraintDefinitionException(
ConstraintDefinitionWithoutMessageParameterFactory.TestValidator.class,
"Unable to create a validator for "
+ "org.hibernate.jsr303.tck.tests.constraints"
+ ".invalidconstraintdefinitions."
+ "InvalidConstraintDefinitionsTest"
+ ".DummyEntityNoMessage because "
+ "org.hibernate.jsr303.tck.tests.constraints"
+ ".invalidconstraintdefinitions"
+ ".NoMessage contains Constraint annotation, "
+ "but does not contain a message parameter.");
}
public void testConstraintDefinitionWithoutPayloadParameter() {
assertConstraintDefinitionException(
ConstraintDefinitionWithoutPayloadParameterFactory.TestValidator.class,
"Unable to create a validator for org.hibernate.jsr303.tck.tests"
+ ".constraints.invalidconstraintdefinitions"
+ ".InvalidConstraintDefinitionsTest"
+ ".DummyEntityNoPayload because org.hibernate.jsr303.tck.tests"
+ ".constraints.invalidconstraintdefinitions.NoPayload contains "
+ "Constraint annotation, but does not contain a payload "
+ "parameter.");
}
public void testConstraintDefinitionWithParameterStartingWithValid() {
assertConstraintDefinitionException(
ConstraintDefinitionWithParameterStartingWithValidFactory.TestValidator.class,
"Unable to create a validator for org.hibernate.jsr303.tck.tests"
+ ".constraints.invalidconstraintdefinitions"
+ ".InvalidConstraintDefinitionsTest.DummyEntityValidProperty "
+ "because Parameters starting with 'valid' are not allowed in a constraint.");
}
public void testConstraintDefinitionWithWrongDefaultGroupValue() {
assertConstraintDefinitionException(
ConstraintDefinitionWithWrongDefaultGroupValueFactory.TestValidator.class,
"Unable to create a validator for "
+ "org.hibernate.jsr303.tck.tests.constraints"
+ ".invalidconstraintdefinitions.InvalidConstraintDefinitionsTest"
+ ".DummyEntityInvalidDefaultGroup "
+ "because org.hibernate.jsr303.tck.tests.constraints"
+ ".invalidconstraintdefinitions"
+ ".InvalidDefaultGroup contains Constraint annotation, "
+ "but the groups parameter default value is not the empty array.");
}
public void testConstraintDefinitionWithWrongDefaultPayloadValue() {
assertConstraintDefinitionException(
ConstraintDefinitionWithWrongDefaultPayloadValueFactory.TestValidator.class,
"Unable to create a validator for org.hibernate.jsr303.tck.tests"
+ ".constraints.invalidconstraintdefinitions"
+ ".InvalidConstraintDefinitionsTest"
+ ".DummyEntityInvalidDefaultPayload "
+ "because org.hibernate.jsr303.tck.tests.constraints"
+ ".invalidconstraintdefinitions.InvalidDefaultPayload contains "
+ "Constraint annotation, but the payload parameter default "
+ "value is not the empty array.");
}
public void testConstraintDefinitionWithWrongGroupType() {
assertConstraintDefinitionException(
ConstraintDefinitionWithWrongGroupTypeFactory.TestValidator.class,
"Unable to create a validator for org.hibernate.jsr303.tck.tests"
+ ".constraints.invalidconstraintdefinitions"
+ ".InvalidConstraintDefinitionsTest"
+ ".DummyEntityInvalidGroupsType because "
+ "org.hibernate.jsr303.tck.tests.constraints"
+ ".invalidconstraintdefinitions.InvalidGroupsType "
+ "contains Constraint annotation, but the groups "
+ "parameter is of wrong type.");
}
public void testConstraintDefinitionWithWrongMessageType() {
assertConstraintDefinitionException(
ConstraintDefinitionWithWrongMessageTypeFactory.TestValidator.class,
"Unable to create a validator for org.hibernate.jsr303.tck.tests"
+ ".constraints"
+ ".invalidconstraintdefinitions.InvalidConstraintDefinitionsTest"
+ ".DummyEntityInvalidMessageType because "
+ "org.hibernate.jsr303.tck.tests.constraints"
+ ".invalidconstraintdefinitions.InvalidMessageType "
+ "contains Constraint annotation, "
+ "but the message parameter is not of type java.lang.String.");
}
public void testConstraintDefinitionWithWrongPayloadClass() {
assertConstraintDefinitionException(
ConstraintDefinitionWithWrongPayloadClassFactory.TestValidator.class,
"Unable to create a validator for "
+ "org.hibernate.jsr303.tck.tests"
+ ".constraints.invalidconstraintdefinitions"
+ ".InvalidConstraintDefinitionsTest.DummyEntityInvalidPayloadClass "
+ "because org.hibernate.jsr303.tck.tests.constraints"
+ ".invalidconstraintdefinitions.InvalidPayloadClass "
+ "contains Constraint annotation, "
+ "but the payload parameter is of wrong type.");
}
private void assertConstraintDefinitionException(
final Class<? extends Validator> validatorClass,
final String expectedMessage) {
assertValidatorFailsToCompile(validatorClass,
ConstraintDefinitionException.class, Pattern.compile(expectedMessage, Pattern.LITERAL));
}
}