[hibernate-commits] Hibernate SVN: r17356 - in beanvalidation/trunk/validation-tck/src/main: resources and 1 other directories.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Wed Aug 19 06:20:18 EDT 2009


Author: hardy.ferentschik
Date: 2009-08-19 06:20:17 -0400 (Wed, 19 Aug 2009)
New Revision: 17356

Added:
   beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/ConfigurationDefinedMessageInterpolator.java
   beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/DefaultProviderSpecifiedInValidationXmlTest.java
   beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/MessageInterpolatorSpecifiedInValidationXmlTest.java
   beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/OptionalValidationXmlTest.java
   beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/XmlDefinedMessageInterpolator.java
   beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/user-constraints-MultipleBeanDefinitionTest.xml
   beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/validation-DefaultProviderSpecifiedInValidationXmlTest.xml
   beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/validation-MessageInterpolatorSpecifiedInValidationXmlTest.xml
Removed:
   beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/user-constraints-copy.xml
Modified:
   beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/MultipleBeanDefinitionTest.java
   beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/MultipleFieldDefinitionTest.java
   beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/MultipleGetterDefinitionTest.java
   beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/XmlConfigurationTest.java
   beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/validation-MultipleBeanDefinitionTest.xml
   beanvalidation/trunk/validation-tck/src/main/resources/tck-audit.xml
Log:
xml configuration tests

Added: beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/ConfigurationDefinedMessageInterpolator.java
===================================================================
--- beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/ConfigurationDefinedMessageInterpolator.java	                        (rev 0)
+++ beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/ConfigurationDefinedMessageInterpolator.java	2009-08-19 10:20:17 UTC (rev 17356)
@@ -0,0 +1,36 @@
+// $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.xmlconfiguration;
+
+import java.util.Locale;
+import javax.validation.MessageInterpolator;
+
+/**
+ * @author Hardy Ferentschik
+ */
+public class ConfigurationDefinedMessageInterpolator implements MessageInterpolator {
+	public static final String STATIC_INTERPOLATION_STRING = "Interpolator defined in Configuration was used.";
+
+	public String interpolate(String messageTemplate, Context context) {
+		return STATIC_INTERPOLATION_STRING;
+	}
+
+	public String interpolate(String messageTemplate, Context context, Locale locale) {
+		return STATIC_INTERPOLATION_STRING;
+	}
+}
\ No newline at end of file

Copied: beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/DefaultProviderSpecifiedInValidationXmlTest.java (from rev 17352, beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/InvalidXmlConfigurationTest.java)
===================================================================
--- beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/DefaultProviderSpecifiedInValidationXmlTest.java	                        (rev 0)
+++ beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/DefaultProviderSpecifiedInValidationXmlTest.java	2009-08-19 10:20:17 UTC (rev 17356)
@@ -0,0 +1,81 @@
+// $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.xmlconfiguration;
+
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.validation.Configuration;
+import javax.validation.Validation;
+import javax.validation.ValidationProviderResolver;
+import javax.validation.ValidatorFactory;
+import javax.validation.spi.ValidationProvider;
+
+import org.jboss.test.audit.annotations.SpecAssertion;
+import org.jboss.test.audit.annotations.SpecAssertions;
+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.Classes;
+import org.jboss.testharness.impl.packaging.jsr303.ValidationXml;
+import static org.testng.Assert.assertTrue;
+import org.testng.annotations.Test;
+
+import org.hibernate.jsr303.tck.common.TCKValidationProvider;
+import org.hibernate.jsr303.tck.common.TCKValidatorConfiguration;
+import org.hibernate.jsr303.tck.util.TestUtil;
+
+/**
+ * @author Hardy Ferentschik
+ */
+ at Artifact(artifactType = ArtifactType.JSR303)
+ at Classes({
+		TestUtil.class,
+		TestUtil.PathImpl.class,
+		TestUtil.NodeImpl.class,
+		TCKValidationProvider.class,
+		TCKValidatorConfiguration.class,
+		TCKValidationProvider.DummyValidatorFactory.class
+})
+ at ValidationXml(value = "validation-DefaultProviderSpecifiedInValidationXmlTest.xml")
+public class DefaultProviderSpecifiedInValidationXmlTest extends AbstractTest {
+
+	@Test
+	@SpecAssertions({
+			@SpecAssertion(section = "4.4.6", id = "f"),
+			@SpecAssertion(section = "4.4.6", id = "j")
+	})
+	public void testProviderSpecifiedInValidationXml() {
+		ValidationProviderResolver resolver = new ValidationProviderResolver() {
+
+			public List<ValidationProvider<?>> getValidationProviders() {
+				List<ValidationProvider<?>> list = new ArrayList<ValidationProvider<?>>();
+				list.add( TestUtil.getValidationProviderUnderTest() );
+				list.add( new TCKValidationProvider() );
+				return list;
+			}
+		};
+
+		Configuration<?> configuration = Validation
+				.byDefaultProvider()
+				.providerResolver( resolver )
+				.configure();
+		ValidatorFactory factory = configuration.buildValidatorFactory();
+		assertTrue( factory instanceof TCKValidationProvider.DummyValidatorFactory );
+	}
+}
\ No newline at end of file


Property changes on: beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/DefaultProviderSpecifiedInValidationXmlTest.java
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/MessageInterpolatorSpecifiedInValidationXmlTest.java
===================================================================
--- beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/MessageInterpolatorSpecifiedInValidationXmlTest.java	                        (rev 0)
+++ beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/MessageInterpolatorSpecifiedInValidationXmlTest.java	2009-08-19 10:20:17 UTC (rev 17356)
@@ -0,0 +1,88 @@
+// $Id: InvalidXmlConfigurationTest.java 17352 2009-08-18 17:08:59Z hardy.ferentschik $
+/*
+* 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.xmlconfiguration;
+
+
+import java.util.Set;
+import javax.validation.Configuration;
+import javax.validation.ConstraintViolation;
+import javax.validation.Validation;
+import javax.validation.Validator;
+
+import org.jboss.test.audit.annotations.SpecAssertion;
+import org.jboss.test.audit.annotations.SpecAssertions;
+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.Classes;
+import org.jboss.testharness.impl.packaging.jsr303.ValidationXml;
+import org.testng.annotations.Test;
+
+import org.hibernate.jsr303.tck.common.TCKValidationProvider;
+import org.hibernate.jsr303.tck.common.TCKValidatorConfiguration;
+import org.hibernate.jsr303.tck.util.TestUtil;
+import static org.hibernate.jsr303.tck.util.TestUtil.assertCorrectConstraintViolationMessages;
+import static org.hibernate.jsr303.tck.util.TestUtil.assertCorrectNumberOfViolations;
+
+/**
+ * @author Hardy Ferentschik
+ */
+ at Artifact(artifactType = ArtifactType.JSR303)
+ at Classes({
+		TestUtil.class,
+		TestUtil.PathImpl.class,
+		TestUtil.NodeImpl.class,
+		TCKValidationProvider.class,
+		TCKValidatorConfiguration.class,
+		TCKValidationProvider.DummyValidatorFactory.class
+})
+ at ValidationXml(value = "validation-MessageInterpolatorSpecifiedInValidationXmlTest.xml")
+public class MessageInterpolatorSpecifiedInValidationXmlTest extends AbstractTest {
+
+	@Test
+	@SpecAssertion(section = "4.4.6", id = "g")
+	public void testMessageInterpolatorSpecifiedInValidationXml() {
+		Validator validator = TestUtil.getValidatorUnderTest();
+
+		User user = new User();
+		Set<ConstraintViolation<User>> constraintViolations = validator.validate( user );
+		assertCorrectNumberOfViolations( constraintViolations, 1 );
+		assertCorrectConstraintViolationMessages(
+				constraintViolations, XmlDefinedMessageInterpolator.STATIC_INTERPOLATION_STRING
+		);
+	}
+
+	@Test
+	@SpecAssertions({
+			@SpecAssertion(section = "4.4.6", id = "e"),
+			@SpecAssertion(section = "4.4.6", id = "g")
+	})
+	public void testMessageInterpolatorSpecifiedInValidationXmlCanBeOverridden() {
+		Configuration<?> configuration = Validation
+				.byDefaultProvider()
+				.configure().messageInterpolator( new ConfigurationDefinedMessageInterpolator() );
+		Validator validator = configuration.buildValidatorFactory().getValidator();
+
+		User user = new User();
+		Set<ConstraintViolation<User>> constraintViolations = validator.validate( user );
+		assertCorrectNumberOfViolations( constraintViolations, 1 );
+		assertCorrectConstraintViolationMessages(
+				constraintViolations, ConfigurationDefinedMessageInterpolator.STATIC_INTERPOLATION_STRING
+		);
+	}
+}
\ No newline at end of file

Modified: beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/MultipleBeanDefinitionTest.java
===================================================================
--- beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/MultipleBeanDefinitionTest.java	2009-08-18 19:48:57 UTC (rev 17355)
+++ beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/MultipleBeanDefinitionTest.java	2009-08-19 10:20:17 UTC (rev 17356)
@@ -26,6 +26,8 @@
 import org.jboss.testharness.impl.packaging.Artifact;
 import org.jboss.testharness.impl.packaging.ArtifactType;
 import org.jboss.testharness.impl.packaging.Classes;
+import org.jboss.testharness.impl.packaging.Resource;
+import org.jboss.testharness.impl.packaging.Resources;
 import org.jboss.testharness.impl.packaging.jsr303.ValidationXml;
 import static org.testng.Assert.fail;
 import org.testng.annotations.Test;
@@ -38,6 +40,14 @@
 @Artifact(artifactType = ArtifactType.JSR303)
 @Classes({ TestUtil.class, TestUtil.PathImpl.class, TestUtil.NodeImpl.class })
 @ValidationXml(value = "validation-MultipleBeanDefinitionTest.xml")
+ at Resources(
+		{
+				@Resource(source = "user-constraints.xml",
+						destination = "WEB-INF/classes/org/hibernate/jsr303/tck/tests/xmlconfiguration/user-constraints.xml"),
+				@Resource(source = "user-constraints-MultipleBeanDefinitionTest.xml",
+						destination = "WEB-INF/classes/org/hibernate/jsr303/tck/tests/xmlconfiguration/user-constraints-MultipleBeanDefinitionTest.xml")
+		}
+)
 public class MultipleBeanDefinitionTest extends AbstractTest {
 
 	@Test
@@ -48,7 +58,7 @@
 	public void testBeanCannotBeDescribedMoreThanOnce() {
 		try {
 			TestUtil.getValidatorUnderTest();
-			fail();
+			fail( "You should not be able to define the same bean multiple times." );
 		}
 		catch ( ValidationException e ) {
 			// success

Modified: beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/MultipleFieldDefinitionTest.java
===================================================================
--- beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/MultipleFieldDefinitionTest.java	2009-08-18 19:48:57 UTC (rev 17355)
+++ beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/MultipleFieldDefinitionTest.java	2009-08-19 10:20:17 UTC (rev 17356)
@@ -26,6 +26,7 @@
 import org.jboss.testharness.impl.packaging.Artifact;
 import org.jboss.testharness.impl.packaging.ArtifactType;
 import org.jboss.testharness.impl.packaging.Classes;
+import org.jboss.testharness.impl.packaging.Resource;
 import org.jboss.testharness.impl.packaging.jsr303.ValidationXml;
 import static org.testng.Assert.fail;
 import org.testng.annotations.Test;
@@ -38,6 +39,8 @@
 @Artifact(artifactType = ArtifactType.JSR303)
 @Classes({ TestUtil.class, TestUtil.PathImpl.class, TestUtil.NodeImpl.class })
 @ValidationXml(value = "validation-MultipleFieldDefinitionTest.xml")
+ at Resource(source = "user-constraints-MultipleFieldDefinitionTest.xml",
+		destination = "WEB-INF/classes/org/hibernate/jsr303/tck/tests/xmlconfiguration/user-constraints-MultipleFieldDefinitionTest.xml")
 public class MultipleFieldDefinitionTest extends AbstractTest {
 
 	@Test
@@ -48,7 +51,7 @@
 	public void testFieldMappingCannotOccurMoreThanOnce() {
 		try {
 			TestUtil.getValidatorUnderTest();
-			fail("You should not be able to define multiple field mappings per entity");
+			fail( "You should not be able to define multiple field mappings per entity" );
 		}
 		catch ( ValidationException e ) {
 			// success

Modified: beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/MultipleGetterDefinitionTest.java
===================================================================
--- beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/MultipleGetterDefinitionTest.java	2009-08-18 19:48:57 UTC (rev 17355)
+++ beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/MultipleGetterDefinitionTest.java	2009-08-19 10:20:17 UTC (rev 17356)
@@ -26,6 +26,7 @@
 import org.jboss.testharness.impl.packaging.Artifact;
 import org.jboss.testharness.impl.packaging.ArtifactType;
 import org.jboss.testharness.impl.packaging.Classes;
+import org.jboss.testharness.impl.packaging.Resource;
 import org.jboss.testharness.impl.packaging.jsr303.ValidationXml;
 import static org.testng.Assert.fail;
 import org.testng.annotations.Test;
@@ -38,6 +39,8 @@
 @Artifact(artifactType = ArtifactType.JSR303)
 @Classes({ TestUtil.class, TestUtil.PathImpl.class, TestUtil.NodeImpl.class })
 @ValidationXml(value = "validation-MultipleGetterDefinitionTest.xml")
+ at Resource(source = "user-constraints-MultipleGetterDefinitionTest.xml",
+		destination = "WEB-INF/classes/org/hibernate/jsr303/tck/tests/xmlconfiguration/user-constraints-MultipleGetterDefinitionTest.xml")
 public class MultipleGetterDefinitionTest extends AbstractTest {
 
 	@Test
@@ -48,7 +51,7 @@
 	public void testGetterMappingCannotOccurMoreThanOnce() {
 		try {
 			TestUtil.getValidatorUnderTest();
-			fail("You should not be able to define multiple getter mappings per entity");
+			fail( "You should not be able to define multiple getter mappings per entity" );
 		}
 		catch ( ValidationException e ) {
 			// success

Copied: beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/OptionalValidationXmlTest.java (from rev 17352, beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/XmlConfigurationTest.java)
===================================================================
--- beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/OptionalValidationXmlTest.java	                        (rev 0)
+++ beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/OptionalValidationXmlTest.java	2009-08-19 10:20:17 UTC (rev 17356)
@@ -0,0 +1,53 @@
+// $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.xmlconfiguration;
+
+import java.util.Set;
+import javax.validation.ConstraintViolation;
+import javax.validation.Validator;
+
+import org.jboss.test.audit.annotations.SpecAssertion;
+import org.jboss.test.audit.annotations.SpecAssertions;
+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.Classes;
+import org.testng.annotations.Test;
+
+import org.hibernate.jsr303.tck.util.TestUtil;
+import static org.hibernate.jsr303.tck.util.TestUtil.assertCorrectNumberOfViolations;
+
+/**
+ * @author Hardy Ferentschik
+ */
+ at Artifact(artifactType = ArtifactType.JSR303)
+ at Classes({ TestUtil.class, TestUtil.PathImpl.class, TestUtil.NodeImpl.class })
+public class OptionalValidationXmlTest extends AbstractTest {
+
+	@Test
+	@SpecAssertions({
+			@SpecAssertion(section = "4.4.6", id = "c")
+	})
+	public void testIgnoreValidationXml() {
+		Validator validator = TestUtil.getValidatorUnderTest();
+
+		Order order = new Order();
+		Set<ConstraintViolation<Order>> constraintViolations = validator.validate( order );
+		assertCorrectNumberOfViolations( constraintViolations, 0 );
+	}
+}
\ No newline at end of file

Modified: beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/XmlConfigurationTest.java
===================================================================
--- beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/XmlConfigurationTest.java	2009-08-18 19:48:57 UTC (rev 17355)
+++ beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/XmlConfigurationTest.java	2009-08-19 10:20:17 UTC (rev 17356)
@@ -18,9 +18,12 @@
 package org.hibernate.jsr303.tck.tests.xmlconfiguration;
 
 import java.util.Set;
+import javax.validation.Configuration;
 import javax.validation.ConstraintViolation;
 import javax.validation.Validator;
 
+import org.jboss.test.audit.annotations.SpecAssertion;
+import org.jboss.test.audit.annotations.SpecAssertions;
 import org.jboss.testharness.AbstractTest;
 import org.jboss.testharness.impl.packaging.Artifact;
 import org.jboss.testharness.impl.packaging.ArtifactType;
@@ -51,6 +54,9 @@
 public class XmlConfigurationTest extends AbstractTest {
 
 	@Test
+	@SpecAssertions({
+			@SpecAssertion(section = "4.4.6", id = "a")
+	})
 	public void testClassConstraintDefinedInXml() {
 		Validator validator = TestUtil.getValidatorUnderTest();
 
@@ -67,6 +73,22 @@
 	}
 
 	@Test
+	@SpecAssertions({
+			@SpecAssertion(section = "4.4.6", id = "b")
+	})
+	public void testIgnoreValidationXml() {
+		Configuration<?> config = TestUtil.getConfigurationUnderTest();
+		Validator validator = config.ignoreXmlConfiguration().buildValidatorFactory().getValidator();
+
+		Order order = new Order();
+		Set<ConstraintViolation<Order>> constraintViolations = validator.validate( order );
+		assertCorrectNumberOfViolations( constraintViolations, 0 );
+	}
+
+	@Test
+	@SpecAssertions({
+			@SpecAssertion(section = "4.4.6", id = "a")
+	})
 	public void testPropertyConstraintDefinedInXml() {
 		Validator validator = TestUtil.getValidatorUnderTest();
 
@@ -84,6 +106,9 @@
 	}
 
 	@Test
+	@SpecAssertions({
+			@SpecAssertion(section = "4.4.6", id = "a")
+	})
 	public void testFieldConstraintDefinedInXml() {
 		Validator validator = TestUtil.getValidatorUnderTest();
 
@@ -104,6 +129,9 @@
 	}
 
 	@Test
+	@SpecAssertions({
+			@SpecAssertion(section = "4.4.6", id = "a")
+	})
 	public void testAnnotationDefinedConstraintApplies() {
 		Validator validator = TestUtil.getValidatorUnderTest();
 
@@ -123,6 +151,9 @@
 	}
 
 	@Test
+	@SpecAssertions({
+			@SpecAssertion(section = "4.4.6", id = "a")
+	})
 	public void testCascadingConfiguredInXml() {
 		Validator validator = TestUtil.getValidatorUnderTest();
 
@@ -140,17 +171,4 @@
 		constraintViolations = validator.validate( user );
 		assertCorrectNumberOfViolations( constraintViolations, 0 );
 	}
-
-//	@Test(expectedExceptions = ValidationException.class)
-//	public void testInvalidValidationXml() {
-//		getValidatorWithCustomConfiguration( "META-INF/validation-invalid-xmlconfiguration.xmlconfiguration" );
-//	}
-//
-//	@Test
-//	public void testNoDefinedConstraints() {
-//		Validator validator = getValidatorWithCustomConfiguration( "org/hibernate/validation/engine/xmlconfiguration/validation.xmlconfiguration" );
-//		assertFalse(
-//				validator.getConstraintsForClass( Order.class ).isBeanConstrained(), "Bean should be unsonstrained"
-//		);
-//	}
 }

Added: beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/XmlDefinedMessageInterpolator.java
===================================================================
--- beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/XmlDefinedMessageInterpolator.java	                        (rev 0)
+++ beanvalidation/trunk/validation-tck/src/main/java/org/hibernate/jsr303/tck/tests/xmlconfiguration/XmlDefinedMessageInterpolator.java	2009-08-19 10:20:17 UTC (rev 17356)
@@ -0,0 +1,36 @@
+// $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.xmlconfiguration;
+
+import java.util.Locale;
+import javax.validation.MessageInterpolator;
+
+/**
+ * @author Hardy Ferentschik
+ */
+public class XmlDefinedMessageInterpolator implements MessageInterpolator {
+	public static final String STATIC_INTERPOLATION_STRING = "Interpolator defined in xml was used.";
+
+	public String interpolate(String messageTemplate, Context context) {
+		return STATIC_INTERPOLATION_STRING;
+	}
+
+	public String interpolate(String messageTemplate, Context context, Locale locale) {
+		return STATIC_INTERPOLATION_STRING;
+	}
+}

Copied: beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/user-constraints-MultipleBeanDefinitionTest.xml (from rev 17345, beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/user-constraints-copy.xml)
===================================================================
--- beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/user-constraints-MultipleBeanDefinitionTest.xml	                        (rev 0)
+++ beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/user-constraints-MultipleBeanDefinitionTest.xml	2009-08-19 10:20:17 UTC (rev 17356)
@@ -0,0 +1,60 @@
+<constraint-mappings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                     xsi:schemaLocation="http://jboss.org/xml/ns/javax/validation/mapping validation-mapping-1.0.xsd"
+                     xmlns="http://jboss.org/xml/ns/javax/validation/mapping">
+    <default-package>org.hibernate.jsr303.tck.tests.xmlconfiguration</default-package>
+    <bean class="User" ignore-annotations="false">
+        <class ignore-annotations="true">
+            <group-sequence>
+                <value>User</value>
+                <value>Optional</value>
+            </group-sequence>
+            <constraint annotation="org.hibernate.jsr303.tck.tests.xmlconfiguration.ConsistentUserInformation">
+                <message>Message from xml</message>
+                <groups>
+                    <value>javax.validation.groups.Default</value>
+                </groups>
+                <element name="stringParam">foobar</element>
+                <element name="stringArrayParam">
+                    <value>foo</value>
+                    <value>bar</value>
+                </element>
+                <element name="intParam">
+                    <value>42</value>
+                </element>
+                <element name="patterns">
+                    <annotation>
+                        <element name="regexp">myRegExp1</element>
+                    </annotation>
+                    <annotation>
+                        <element name="regexp">myRegExp2</element>
+                    </annotation>
+                </element>
+                <element name="userType">SELLER</element>
+            </constraint>
+        </class>
+        <field name="lastname">
+            <constraint annotation="javax.validation.constraints.Pattern">
+                <message>Last name has to start with with a capital letter.</message>
+                <element name="regexp">^[A-Z][a-z]+</element>
+            </constraint>
+        </field>
+        <field name="creditcard">
+            <valid/>
+        </field>
+        <getter name="firstname" ignore-annotations="true">
+            <constraint annotation="javax.validation.constraints.Size">
+                <message>Size is limited!</message>
+                <groups>
+                    <value>org.hibernate.jsr303.tck.tests.xmlconfiguration.TestGroup</value>
+                    <value>javax.validation.groups.Default</value>
+                </groups>
+                <element name="max">10</element>
+            </constraint>
+        </getter>
+    </bean>
+    <constraint-definition annotation="org.hibernate.jsr303.tck.tests.xmlconfiguration.ConsistentUserInformation">
+        <validated-by include-existing-validators="false">
+            <value>org.hibernate.jsr303.tck.tests.xmlconfiguration.CustomConsistentUserValidator</value>
+        </validated-by>
+    </constraint-definition>
+</constraint-mappings>


Property changes on: beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/user-constraints-MultipleBeanDefinitionTest.xml
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Deleted: beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/user-constraints-copy.xml
===================================================================
--- beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/user-constraints-copy.xml	2009-08-18 19:48:57 UTC (rev 17355)
+++ beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/user-constraints-copy.xml	2009-08-19 10:20:17 UTC (rev 17356)
@@ -1,60 +0,0 @@
-<constraint-mappings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                     xsi:schemaLocation="http://jboss.org/xml/ns/javax/validation/mapping validation-mapping-1.0.xsd"
-                     xmlns="http://jboss.org/xml/ns/javax/validation/mapping">
-    <default-package>org.hibernate.jsr303.tck.tests.xmlconfiguration</default-package>
-    <bean class="User" ignore-annotations="false">
-        <class ignore-annotations="true">
-            <group-sequence>
-                <value>User</value>
-                <value>Optional</value>
-            </group-sequence>
-            <constraint annotation="org.hibernate.jsr303.tck.tests.xmlconfiguration.ConsistentUserInformation">
-                <message>Message from xml</message>
-                <groups>
-                    <value>javax.validation.groups.Default</value>
-                </groups>
-                <element name="stringParam">foobar</element>
-                <element name="stringArrayParam">
-                    <value>foo</value>
-                    <value>bar</value>
-                </element>
-                <element name="intParam">
-                    <value>42</value>
-                </element>
-                <element name="patterns">
-                    <annotation>
-                        <element name="regexp">myRegExp1</element>
-                    </annotation>
-                    <annotation>
-                        <element name="regexp">myRegExp2</element>
-                    </annotation>
-                </element>
-                <element name="userType">SELLER</element>
-            </constraint>
-        </class>
-        <field name="lastname">
-            <constraint annotation="javax.validation.constraints.Pattern">
-                <message>Last name has to start with with a capital letter.</message>
-                <element name="regexp">^[A-Z][a-z]+</element>
-            </constraint>
-        </field>
-        <field name="creditcard">
-            <valid/>
-        </field>
-        <getter name="firstname" ignore-annotations="true">
-            <constraint annotation="javax.validation.constraints.Size">
-                <message>Size is limited!</message>
-                <groups>
-                    <value>org.hibernate.jsr303.tck.tests.xmlconfiguration.TestGroup</value>
-                    <value>javax.validation.groups.Default</value>
-                </groups>
-                <element name="max">10</element>
-            </constraint>
-        </getter>
-    </bean>
-    <constraint-definition annotation="org.hibernate.jsr303.tck.tests.xmlconfiguration.ConsistentUserInformation">
-        <validated-by include-existing-validators="false">
-            <value>org.hibernate.jsr303.tck.tests.xmlconfiguration.CustomConsistentUserValidator</value>
-        </validated-by>
-    </constraint-definition>
-</constraint-mappings>

Copied: beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/validation-DefaultProviderSpecifiedInValidationXmlTest.xml (from rev 17352, beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/validation-EmptyXmlConfigurationTest.xml)
===================================================================
--- beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/validation-DefaultProviderSpecifiedInValidationXmlTest.xml	                        (rev 0)
+++ beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/validation-DefaultProviderSpecifiedInValidationXmlTest.xml	2009-08-19 10:20:17 UTC (rev 17356)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<validation-config
+        xmlns="http://jboss.org/xml/ns/javax/validation/configuration"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://jboss.org/xml/ns/javax/validation/configuration validation-configuration-1.0.xsd">
+
+    <default-provider>org.hibernate.jsr303.tck.common.TCKValidationProvider</default-provider>
+</validation-config>
\ No newline at end of file

Added: beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/validation-MessageInterpolatorSpecifiedInValidationXmlTest.xml
===================================================================
--- beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/validation-MessageInterpolatorSpecifiedInValidationXmlTest.xml	                        (rev 0)
+++ beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/validation-MessageInterpolatorSpecifiedInValidationXmlTest.xml	2009-08-19 10:20:17 UTC (rev 17356)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<validation-config
+        xmlns="http://jboss.org/xml/ns/javax/validation/configuration"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://jboss.org/xml/ns/javax/validation/configuration validation-configuration-1.0.xsd">
+    <message-interpolator>org.hibernate.jsr303.tck.tests.xmlconfiguration.XmlDefinedMessageInterpolator</message-interpolator>
+</validation-config>
\ No newline at end of file

Modified: beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/validation-MultipleBeanDefinitionTest.xml
===================================================================
--- beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/validation-MultipleBeanDefinitionTest.xml	2009-08-18 19:48:57 UTC (rev 17355)
+++ beanvalidation/trunk/validation-tck/src/main/resources/org/hibernate/jsr303/tck/tests/xmlconfiguration/validation-MultipleBeanDefinitionTest.xml	2009-08-19 10:20:17 UTC (rev 17356)
@@ -3,5 +3,5 @@
                    xsi:schemaLocation="http://jboss.org/xml/ns/javax/validation/configuration validation-configuration-1.0.xsd"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <constraint-mapping>org/hibernate/jsr303/tck/tests/xmlconfiguration/user-constraints.xml</constraint-mapping>
-    <constraint-mapping>org/hibernate/jsr303/tck/tests/xmlconfiguration/user-constraints-copy.xml</constraint-mapping>
+    <constraint-mapping>org/hibernate/jsr303/tck/tests/xmlconfiguration/user-constraints-MultipleBeanDefinitionTest.xml</constraint-mapping>
 </validation-config>
\ No newline at end of file

Modified: beanvalidation/trunk/validation-tck/src/main/resources/tck-audit.xml
===================================================================
--- beanvalidation/trunk/validation-tck/src/main/resources/tck-audit.xml	2009-08-18 19:48:57 UTC (rev 17355)
+++ beanvalidation/trunk/validation-tck/src/main/resources/tck-audit.xml	2009-08-19 10:20:17 UTC (rev 17356)
@@ -826,62 +826,69 @@
     </section>
     <section id="4.4.6" title="XML Configuration">
         <assertion id="a">
-            <text>Unless explicitly ignored by calling Configuration.ignoreXMLConfiguration(), a
-                Configuration takes into account the configuration available in
-                META-INF/validation.xml</text>
+            <text>Unless explicitly ignored Configuration takes into account the configuration
+                available in META-INF/validation.xml</text>
         </assertion>
-        <assertion id="b">
+        <assertion id="b" implied="true">
+            <text>META-INF/validation.xml will be ignored if Configuration.ignoreXMLConfiguration()
+                is called.</text>
+        </assertion>
+        <assertion id="c">
             <text>This configuration file is optional.</text>
         </assertion>
-        <assertion id="c">
+        <assertion id="d" testable="false">
             <text>If more than one META-INF/validation.xml file is found in the classpath, a
                 ValidationException is raised. </text>
         </assertion>
-        <assertion id="d">
+        <assertion id="e">
             <text>Unless stated otherwise, XML based configuration settings are overridden by values
-                explicitly set via the Config- uration API</text>
+                explicitly set via the Configuration API</text>
         </assertion>
-        <assertion id="e">
-            <text>default-provider: represents the class name of the provider specific Configuration
+        <assertion id="f">
+            <text>default-provider represents the class name of the provider specific Configuration
                 sub-interface. If defined, the provider suitable for this interface is used</text>
         </assertion>
-        <assertion id="f">
-            <text>message-interpolator: represents the fully qualified class name of the
+        <assertion id="g">
+            <text>message-interpolator represents the fully qualified class name of the
                 MessageInterpolator implementation. When defined in XML, the implementation must
-                have a public no-arg constructor. This element is optional</text>
+                have a public no-arg constructor.</text>
         </assertion>
-        <assertion id="g">
-            <text>traversable-resolver: represents the fully qualified class name of the
+        <assertion id="h">
+            <text>traversable-resolver represents the fully qualified class name of the
                 TraversableResolver implementation. When defined in XML, the implementation must
-                have a public no-arg constructor. This element is optional</text>
+                have a public no-arg constructor.</text>
         </assertion>
-        <assertion id="h">
-            <text>constraint-validator-factory: represents the fully qualified class name of the
+        <assertion id="i">
+            <text>constraint-validator-factory represents the fully qualified class name of the
                 ConstraintValidatorFactory implementation. When defined in XML, the implementation
-                must have a public no-arg constructor. This element is optional.</text>
+                must have a public no-arg constructor.</text>
         </assertion>
-        <assertion id="i">
-            <text>constraint-mapping: represents the resource path of an XML mapping file</text>
+        <assertion id="j">
+            <text>message-interpolator, traversable-resolver and constraint-validator-factory are
+                optional.</text>
         </assertion>
-        <assertion id="j">
+        <assertion id="k">
+            <text>constraint-mapping represents the resource path of an XML mapping file</text>
+        </assertion>
+        <assertion id="l">
             <text>More than one constraint-mapping element can be present</text>
         </assertion>
-        <assertion id="k">
+        <assertion id="m">
             <text>Mappings provided via Configuration.addMapping(InputString) are added to the list
                 of mappings described via constraint-mapping</text>
         </assertion>
-        <assertion id="l">
+        <assertion id="n">
             <text>The namespace javax.validation is reserved for use by this specification</text>
         </assertion>
-        <assertion id="m">
-            <text>Properties defined via Configura- tion.addProperty(String, String) are added to
-                the properties defined via property</text>
+        <assertion id="o">
+            <text>Properties defined via Configuration.addProperty(String, String) are added to the
+                properties defined via property</text>
         </assertion>
-        <assertion id="n">
+        <assertion id="p">
             <text>If a property with the same name are defined in both XML and via the programmatic
-                API, the value provided via programmatic API has prior- ity</text>
+                API, the value provided via programmatic API has priority</text>
         </assertion>
-        <assertion id="o">
+        <assertion id="q">
             <text>If a public no-arg constructor is missing, a ValidationException is raised during
                 the Configuration.buildValidatorFactory() call</text>
         </assertion>



More information about the hibernate-commits mailing list