Author: hardy.ferentschik
Date: 2009-07-01 08:55:44 -0400 (Wed, 01 Jul 2009)
New Revision: 16987
Added:
beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/validation/customconstraint/Author.java
Modified:
beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/bootstrap/defaultprovider/BootstrapTest.java
beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/constraints/builtinconstraints/BuiltinValidatorOverrideTest.java
beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/constraints/groups/DefaultGroupRedefinitionTest.java
beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/validation/customconstraint/CustomConstraintValidatorTest.java
Log:
mapped more tests
Modified:
beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/bootstrap/defaultprovider/BootstrapTest.java
===================================================================
---
beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/bootstrap/defaultprovider/BootstrapTest.java 2009-07-01
12:17:39 UTC (rev 16986)
+++
beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/bootstrap/defaultprovider/BootstrapTest.java 2009-07-01
12:55:44 UTC (rev 16987)
@@ -44,7 +44,6 @@
import org.jboss.testharness.impl.packaging.Artifact;
import org.jboss.testharness.impl.packaging.ArtifactType;
import org.jboss.testharness.impl.packaging.Classes;
-import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
@@ -52,15 +51,15 @@
import org.hibernate.jsr303.tck.util.TestUtil;
import static org.hibernate.jsr303.tck.util.TestUtil.assertConstraintViolation;
-import static org.hibernate.jsr303.tck.util.TestUtil.assertCorrectPropertyPaths;
import static
org.hibernate.jsr303.tck.util.TestUtil.assertCorrectConstraintViolationMessages;
import static org.hibernate.jsr303.tck.util.TestUtil.assertCorrectNumberOfViolations;
+import static org.hibernate.jsr303.tck.util.TestUtil.assertCorrectPropertyPaths;
/**
* @author Hardy Ferentschik
*/
@Artifact(artifactType = ArtifactType.JSR303)
-(a)Classes({TestUtil.class, TestUtil.PathImpl.class, TestUtil.NodeImpl.class})
+@Classes({ TestUtil.class, TestUtil.PathImpl.class, TestUtil.NodeImpl.class })
public class BootstrapTest extends AbstractTest {
private static final String SERVICES_FILE = "META-INF/services/" +
ValidationProvider.class.getName();
@@ -74,7 +73,7 @@
person.setPersonalNumber( 12345678900l );
Set<ConstraintViolation<Person>> constraintViolations = validator.validate(
person );
- assertEquals( constraintViolations.size(), 3, "Wrong number of constraints"
);
+ assertCorrectNumberOfViolations( constraintViolations, 3 );
assertCorrectPropertyPaths(
constraintViolations, "firstName", "lastName",
"personalNumber"
);
@@ -83,14 +82,14 @@
person.setLastName( "Doe" );
constraintViolations = validator.validate( person );
- assertEquals( constraintViolations.size(), 1, "Wrong number of constraints"
);
+ assertCorrectNumberOfViolations( constraintViolations, 1 );
assertConstraintViolation(
constraintViolations.iterator().next(), Person.class, 12345678900l,
"personalNumber"
);
person.setPersonalNumber( 1234567890l );
constraintViolations = validator.validate( person );
- assertEquals( constraintViolations.size(), 0, "Wrong number of constraints"
);
+ assertCorrectNumberOfViolations( constraintViolations, 0 );
}
@Test
@@ -154,11 +153,7 @@
private void assertCustomTrversableResolverUsed(Validator validator) {
Person person = new Person();
Set<ConstraintViolation<Person>> constraintViolations = validator.validate(
person );
- assertEquals(
- constraintViolations.size(),
- 0,
- "There should be no failures since the custom traversable resolver makes all
properties non traversable."
- );
+ assertCorrectNumberOfViolations( constraintViolations, 0 );
}
private List<ValidationProvider> readBeanValidationServiceFile() {
Modified:
beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/constraints/builtinconstraints/BuiltinValidatorOverrideTest.java
===================================================================
---
beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/constraints/builtinconstraints/BuiltinValidatorOverrideTest.java 2009-07-01
12:17:39 UTC (rev 16986)
+++
beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/constraints/builtinconstraints/BuiltinValidatorOverrideTest.java 2009-07-01
12:55:44 UTC (rev 16987)
@@ -29,13 +29,13 @@
import org.jboss.testharness.AbstractTest;
import org.jboss.testharness.impl.packaging.Artifact;
import org.jboss.testharness.impl.packaging.ArtifactType;
-import org.jboss.testharness.impl.packaging.Resource;
import org.jboss.testharness.impl.packaging.Classes;
-import static org.testng.Assert.assertTrue;
+import org.jboss.testharness.impl.packaging.Resource;
import org.testng.annotations.Test;
-import static org.hibernate.jsr303.tck.util.TestUtil.getInputStreamForPath;
import org.hibernate.jsr303.tck.util.TestUtil;
+import static org.hibernate.jsr303.tck.util.TestUtil.assertCorrectNumberOfViolations;
+import static org.hibernate.jsr303.tck.util.TestUtil.getInputStreamForPath;
/**
* @author Hardy Ferentschik
@@ -43,7 +43,7 @@
@Artifact(artifactType = ArtifactType.JSR303)
@Resource(source = "builtin-constraints-override.xml",
destination =
"WEB-INF/classes/org/hibernate/jsr303/tck/tests/constraints/builtinconstraints/builtin-constraints-override.xml")
-(a)Classes({TestUtil.class, TestUtil.PathImpl.class, TestUtil.NodeImpl.class})
+@Classes({ TestUtil.class, TestUtil.PathImpl.class, TestUtil.NodeImpl.class })
public class BuiltinValidatorOverrideTest extends AbstractTest {
@Test
@@ -56,18 +56,12 @@
config.addMapping( in );
Validator validator = config.buildValidatorFactory().getValidator();
DummyEntity dummy = new DummyEntity();
- Set<ConstraintViolation<DummyEntity>> violation = validator.validate( dummy
);
- assertTrue(
- violation.isEmpty(),
- "There should be no violation even though dummyProperty is null, because the
default validator got overriden in xml."
- );
+ Set<ConstraintViolation<DummyEntity>> violations = validator.validate(
dummy );
+ assertCorrectNumberOfViolations( violations, 0 );
dummy.dummyProperty = "foobar";
- violation = validator.validate( dummy );
- assertTrue(
- violation.size() == 1,
- "There should be one violation due to the InvertedNotNullValidator."
- );
+ violations = validator.validate( dummy );
+ assertCorrectNumberOfViolations( violations, 1 );
}
class DummyEntity {
Modified:
beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/constraints/groups/DefaultGroupRedefinitionTest.java
===================================================================
---
beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/constraints/groups/DefaultGroupRedefinitionTest.java 2009-07-01
12:17:39 UTC (rev 16986)
+++
beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/constraints/groups/DefaultGroupRedefinitionTest.java 2009-07-01
12:55:44 UTC (rev 16987)
@@ -62,11 +62,7 @@
Validator validator = TestUtil.getDefaultValidator();
Set<ConstraintViolation<Address>> constraintViolations =
validator.validate( address );
- assertEquals(
- constraintViolations.size(),
- 1,
- "There should only be one violation for zipcode"
- );
+ assertCorrectNumberOfViolations( constraintViolations, 1 );
ConstraintViolation<Address> violation = constraintViolations.iterator().next();
assertConstraintViolation( violation, Address.class, null, "zipcode" );
@@ -76,11 +72,7 @@
// now the second group in the re-defined default group causes an error
constraintViolations = validator.validate( address );
- assertEquals(
- constraintViolations.size(),
- 1,
- "There should only be one violation for zipcode"
- );
+ assertCorrectNumberOfViolations( constraintViolations, 1 );
violation = constraintViolations.iterator().next();
assertConstraintViolation( violation, Address.class, address, "" );
Copied:
beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/validation/customconstraint/Author.java
(from rev 16948,
beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/constraints/groups/Author.java)
===================================================================
---
beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/validation/customconstraint/Author.java
(rev 0)
+++
beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/validation/customconstraint/Author.java 2009-07-01
12:55:44 UTC (rev 16987)
@@ -0,0 +1,59 @@
+// $Id$
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2008, Red Hat Middleware LLC, and individual contributors
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* 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.validation.customconstraint;
+
+import javax.validation.constraints.Size;
+
+/**
+ * @author Hardy Ferentschik
+ */
+public class Author {
+
+ @Size(min = 2)
+ private String firstName;
+
+ @Size(min = 3)
+ private String lastName;
+
+ @Size(min = 3, message = "The company name must be a minimum {min}
characters")
+ private String company;
+
+ public String getFirstName() {
+ return firstName;
+ }
+
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
+
+ public String getLastName() {
+ return lastName;
+ }
+
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
+
+ public String getCompany() {
+ return company;
+ }
+
+ public void setCompany(String company) {
+ this.company = company;
+ }
+}
\ No newline at end of file
Modified:
beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/validation/customconstraint/CustomConstraintValidatorTest.java
===================================================================
---
beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/validation/customconstraint/CustomConstraintValidatorTest.java 2009-07-01
12:17:39 UTC (rev 16986)
+++
beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/validation/customconstraint/CustomConstraintValidatorTest.java 2009-07-01
12:55:44 UTC (rev 16987)
@@ -36,13 +36,14 @@
import org.testng.annotations.Test;
import org.hibernate.jsr303.tck.util.TestUtil;
+import static org.hibernate.jsr303.tck.util.TestUtil.assertCorrectNumberOfViolations;
/**
* @author Emmanuel Bernard
* @author Hardy Ferentschik
*/
@Artifact(artifactType = ArtifactType.JSR303)
-(a)Classes({TestUtil.class, TestUtil.PathImpl.class, TestUtil.NodeImpl.class})
+@Classes({ TestUtil.class, TestUtil.PathImpl.class, TestUtil.NodeImpl.class })
public class CustomConstraintValidatorTest extends AbstractTest {
@Test
@@ -134,6 +135,52 @@
validator.validate( new Freezer() );
}
+ @Test
+ @SpecAssertion(section = "2.4", id = "l")
+ public void testOneConstraintViolationPerFailingConstraint() {
+ Validator validator = TestUtil.getDefaultValidator();
+
+ Author author = new Author();
+ author.setLastName( "" );
+ author.setFirstName( "" );
+ author.setCompany( "" );
+
+
+ Set<ConstraintViolation<Author>> constraintViolations = validator.validate(
author );
+ assertCorrectNumberOfViolations( constraintViolations, 3 );
+
+ author.setFirstName( "John" );
+ constraintViolations = validator.validate( author );
+ assertCorrectNumberOfViolations( constraintViolations, 2 );
+
+ author.setLastName( "Doe" );
+ constraintViolations = validator.validate( author );
+ assertCorrectNumberOfViolations( constraintViolations, 1 );
+
+ author.setCompany( "JBoss" );
+ constraintViolations = validator.validate( author );
+ assertCorrectNumberOfViolations( constraintViolations, 0 );
+ }
+
+ @Test
+ @SpecAssertion(section = "2.4", id = "n")
+ public void testNonInterpolatedMessageParamterIsUsed() {
+ Validator validator = TestUtil.getDefaultValidator();
+
+ Author author = new Author();
+ author.setLastName( "John" );
+ author.setFirstName( "Doe" );
+ author.setCompany( "" );
+
+ Set<ConstraintViolation<Author>> constraintViolations = validator.validate(
author );
+ assertCorrectNumberOfViolations( constraintViolations, 1 );
+
+ ConstraintViolation<Author> constraintViolation =
constraintViolations.iterator().next();
+ assertEquals( constraintViolation.getMessage(), "The company name must be a
minimum 3 characters" );
+ assertEquals( constraintViolation.getMessageTemplate(), "The company name must be
a minimum {min} characters" );
+ }
+
+
public static class Shoe {
@Positive
public int size;