[hibernate-commits] Hibernate SVN: r16987 - in beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests: constraints/builtinconstraints and 2 other directories.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Wed Jul 1 08:55:44 EDT 2009


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)
- at Classes({TestUtil.class, TestUtil.PathImpl.class, TestUtil.NodeImpl.class})
+ at 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")
- at Classes({TestUtil.class, TestUtil.PathImpl.class, TestUtil.NodeImpl.class})
+ at 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)
- at Classes({TestUtil.class, TestUtil.PathImpl.class, TestUtil.NodeImpl.class})
+ at 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;




More information about the hibernate-commits mailing list