From a97a65be388c910be5e9b8d8d89c213696c0fd08 Mon Sep 17 00:00:00 2001 From: Andrea Boriero Date: Wed, 1 Mar 2017 13:47:27 +0000 Subject: [PATCH] HHH-11536 - Fix unit tests failing on Oracle (cherry picked from commit e54ce7b2662d80eaa2ca4039921f51343e70dcb3) HHH-11536 - Fix unit tests failing on Oracle (cherry picked from commit dd895c78b6b33da2660ed883b0c88681027e271d) (cherry picked from commit 285718976595a3b67b1ee44ab807fa045973db54) --- .../annotations/notfound/NotFoundTest.java | 3 +++ .../jdbc/internal/BasicConnectionTest.java | 11 +++++++++- .../org/hibernate/jpa/test/lock/LockTest.java | 20 ++++++++++++++----- .../MonotonicRevisionNumberTest.java | 2 +- 4 files changed, 29 insertions(+), 7 deletions(-) diff --git a/hibernate-core/src/test/java/org/hibernate/test/annotations/notfound/NotFoundTest.java b/hibernate-core/src/test/java/org/hibernate/test/annotations/notfound/NotFoundTest.java index 9957692081..6da8da6d4a 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/annotations/notfound/NotFoundTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/annotations/notfound/NotFoundTest.java @@ -10,6 +10,8 @@ import org.junit.Test; import org.hibernate.Session; import org.hibernate.Transaction; +import org.hibernate.testing.DialectChecks; +import org.hibernate.testing.RequiresDialectFeature; import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase; import static org.junit.Assert.assertNull; @@ -17,6 +19,7 @@ import static org.junit.Assert.assertNull; /** * @author Emmanuel Bernard */ +@RequiresDialectFeature( value = DialectChecks.SupportsIdentityColumns.class) public class NotFoundTest extends BaseCoreFunctionalTestCase { @Test public void testManyToOne() throws Exception { diff --git a/hibernate-core/src/test/java/org/hibernate/test/jdbc/internal/BasicConnectionTest.java b/hibernate-core/src/test/java/org/hibernate/test/jdbc/internal/BasicConnectionTest.java index a978cddd0e..762bc1ead6 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/jdbc/internal/BasicConnectionTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/jdbc/internal/BasicConnectionTest.java @@ -87,7 +87,16 @@ public class BasicConnectionTest extends BaseCoreFunctionalTestCase { fail( "incorrect exception type : sqlexception" ); } finally { - session.close(); + try { + session.doWork( connection -> { + final Statement stmnt = connection.createStatement(); + + stmnt.execute( getDialect().getDropTableString( "SANDBOX_JDBC_TST" ) ); + } ); + } + finally { + session.close(); + } } assertFalse( getResourceRegistry( jdbcCoord ).hasRegisteredResources() ); diff --git a/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/lock/LockTest.java b/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/lock/LockTest.java index 454a9c99a8..bfbd021249 100644 --- a/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/lock/LockTest.java +++ b/hibernate-entitymanager/src/test/java/org/hibernate/jpa/test/lock/LockTest.java @@ -15,7 +15,6 @@ import org.hibernate.ejb.AvailableSettings; import org.hibernate.ejb.QueryHints; import org.hibernate.jpa.test.BaseEntityManagerFunctionalTestCase; -import org.hibernate.testing.*; import org.jboss.logging.Logger; import org.junit.Test; @@ -28,6 +27,14 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.FutureTask; import java.util.concurrent.TimeUnit; +import org.hibernate.testing.DialectChecks; +import org.hibernate.testing.FailureExpected; +import org.hibernate.testing.RequiresDialect; +import org.hibernate.testing.RequiresDialectFeature; +import org.hibernate.testing.SkipForDialect; +import org.hibernate.testing.SkipForDialects; +import org.hibernate.testing.TestForIssue; + import static org.junit.Assert.*; /** @@ -66,7 +73,7 @@ public class LockTest extends BaseEntityManagerFunctionalTestCase { @Test(timeout = 5 * 60 * 1000) //5 minutes @TestForIssue( jiraKey = "HHH-7252" ) - @RequiresDialectFeature( value = DialectChecks.SupportsLockTimeouts.class, + @RequiresDialectFeature( value = DialectChecks.SupportsLockTimeouts.class, comment = "Test verifies proper exception throwing when a lock timeout is specified.", jiraKey = "HHH-7252" ) public void testFindWithPessimisticWriteLockTimeoutException() { @@ -98,9 +105,12 @@ public class LockTest extends BaseEntityManagerFunctionalTestCase { fail( "Find with immediate timeout should have thrown LockTimeoutException." ); } catch (PersistenceException pe) { - log.info("EntityManager.find() for PESSIMISTIC_WRITE with timeout of 0 threw a PersistenceException.\n" + - "This is likely a consequence of " + getDialect().getClass().getName() + " not properly mapping SQL errors into the correct HibernateException subtypes.\n" + - "See HHH-7251 for an example of one such situation.", pe); + log.info( + "EntityManager.find() for PESSIMISTIC_WRITE with timeout of 0 threw a PersistenceException.\n" + + "This is likely a consequence of " + getDialect().getClass() + .getName() + " not properly mapping SQL errors into the correct HibernateException subtypes.\n" + + "See HHH-7251 for an example of one such situation.", pe + ); fail( "EntityManager should be throwing LockTimeoutException." ); } finally { diff --git a/hibernate-envers/src/test/java/org/hibernate/envers/test/integration/reventity/MonotonicRevisionNumberTest.java b/hibernate-envers/src/test/java/org/hibernate/envers/test/integration/reventity/MonotonicRevisionNumberTest.java index dcb87e4d72..6b9274973d 100644 --- a/hibernate-envers/src/test/java/org/hibernate/envers/test/integration/reventity/MonotonicRevisionNumberTest.java +++ b/hibernate-envers/src/test/java/org/hibernate/envers/test/integration/reventity/MonotonicRevisionNumberTest.java @@ -38,7 +38,7 @@ public class MonotonicRevisionNumberTest extends BaseEnversFunctionalTestCase { OrderedSequenceGenerator seqGenerator = (OrderedSequenceGenerator) generator; Assert.assertTrue( "Oracle sequence needs to be ordered in RAC environment.", - seqGenerator.sqlCreateStrings( getDialect() )[0].endsWith( " order" ) + seqGenerator.sqlCreateStrings( getDialect() )[0].toLowerCase().endsWith( " order" ) ); } }