[hibernate-commits] Hibernate SVN: r19737 - core/branches/Branch_3_5/annotations/src/test/java/org/hibernate/test/annotations/beanvalidation.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Tue Jun 15 06:26:04 EDT 2010


Author: epbernard
Date: 2010-06-15 06:26:04 -0400 (Tue, 15 Jun 2010)
New Revision: 19737

Added:
   core/branches/Branch_3_5/annotations/src/test/java/org/hibernate/test/annotations/beanvalidation/DDLWithoutCallbackTest.java
Modified:
   core/branches/Branch_3_5/annotations/src/test/java/org/hibernate/test/annotations/beanvalidation/BeanValidationDisabledTest.java
Log:
HHH-4968 Do not activate Bean Validation listeners when only DDL is requested (Vladimir Klyushnikov).

Modified: core/branches/Branch_3_5/annotations/src/test/java/org/hibernate/test/annotations/beanvalidation/BeanValidationDisabledTest.java
===================================================================
--- core/branches/Branch_3_5/annotations/src/test/java/org/hibernate/test/annotations/beanvalidation/BeanValidationDisabledTest.java	2010-06-15 10:25:26 UTC (rev 19736)
+++ core/branches/Branch_3_5/annotations/src/test/java/org/hibernate/test/annotations/beanvalidation/BeanValidationDisabledTest.java	2010-06-15 10:26:04 UTC (rev 19737)
@@ -3,8 +3,10 @@
 import java.math.BigDecimal;
 import javax.validation.ConstraintViolationException;
 
+import org.hibernate.mapping.PersistentClass;
 import org.hibernate.Session;
 import org.hibernate.Transaction;
+import org.hibernate.mapping.Column;
 import org.hibernate.cfg.Configuration;
 import org.hibernate.test.annotations.TestCase;
 
@@ -27,6 +29,12 @@
 		tx.rollback();
 		s.close();
 	}
+	
+	public void testDDLDisabled() {
+		PersistentClass classMapping = getCfg().getClassMapping( Address.class.getName() ); 		
+		Column countryColumn = (Column) classMapping.getProperty( "country" ).getColumnIterator().next(); 	
+		assertTrue("DDL constraints are applied", countryColumn.isNullable() ); 	
+	}
 
 	@Override
 	protected void configure(Configuration cfg) {
@@ -36,7 +44,8 @@
 
 	protected Class<?>[] getAnnotatedClasses() {
 		return new Class<?>[] {
+				Address.class,
 				CupHolder.class
 		};
 	}
-}
\ No newline at end of file
+}

Copied: core/branches/Branch_3_5/annotations/src/test/java/org/hibernate/test/annotations/beanvalidation/DDLWithoutCallbackTest.java (from rev 19736, core/branches/Branch_3_5/annotations/src/test/java/org/hibernate/test/annotations/beanvalidation/BeanValidationDisabledTest.java)
===================================================================
--- core/branches/Branch_3_5/annotations/src/test/java/org/hibernate/test/annotations/beanvalidation/DDLWithoutCallbackTest.java	                        (rev 0)
+++ core/branches/Branch_3_5/annotations/src/test/java/org/hibernate/test/annotations/beanvalidation/DDLWithoutCallbackTest.java	2010-06-15 10:26:04 UTC (rev 19737)
@@ -0,0 +1,51 @@
+package org.hibernate.test.annotations.beanvalidation;
+
+import java.math.BigDecimal;
+import javax.validation.ConstraintViolationException;
+
+import org.hibernate.mapping.PersistentClass;
+import org.hibernate.Session;
+import org.hibernate.Transaction;
+import org.hibernate.mapping.Column;
+import org.hibernate.cfg.Configuration;
+import org.hibernate.test.annotations.TestCase;
+
+/**
+ * @author Vladimir Klyushnikov
+ */
+public class DDLWithoutCallbackTest extends TestCase {
+	public void testListeners() {
+		CupHolder ch = new CupHolder();
+		ch.setRadius( new BigDecimal( "12" ) );
+		Session s = openSession(  );
+		Transaction tx = s.beginTransaction();
+		try {
+			s.persist( ch );
+			s.flush();
+		}
+		catch ( ConstraintViolationException e ) {
+			fail("invalid object should not be validated");
+		}
+		tx.rollback();
+		s.close();
+	}
+	
+	public void testDDLEnabled() {
+		PersistentClass classMapping = getCfg().getClassMapping( Address.class.getName() ); 		
+		Column countryColumn = (Column) classMapping.getProperty( "country" ).getColumnIterator().next(); 	
+		assertFalse("DDL constraints are not applied", countryColumn.isNullable() ); 	
+	}
+
+	@Override
+	protected void configure(Configuration cfg) {
+		super.configure( cfg );
+		cfg.setProperty( "javax.persistence.validation.mode", "ddl" );
+	}
+
+	protected Class<?>[] getAnnotatedClasses() {
+		return new Class<?>[] {
+				Address.class,
+				CupHolder.class
+		};
+	}
+}



More information about the hibernate-commits mailing list