From d6a19dd56a020d2991129584dcf221262bff28d1 Mon Sep 17 00:00:00 2001 From: Mark Struberg Date: Sat, 10 Apr 2021 11:11:21 +0200 Subject: [PATCH] Oracle seems to have changed their error handling. They now (tested with Oracle 18) behave more like other databases, so we should validate whether one of the described error situations got catched. --- .../batch/exception/TestBatchLimitException.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/batch/exception/TestBatchLimitException.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/batch/exception/TestBatchLimitException.java index 26a235892..b129ac357 100644 --- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/batch/exception/TestBatchLimitException.java +++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/batch/exception/TestBatchLimitException.java @@ -355,6 +355,9 @@ public class TestBatchLimitException extends AbstractPersistenceTestCase { assertNotNull("Failed object was null.", failedObject); if (!isOracle && !isPostgres) { assertEquals(expectedFailedObject, failedObject); + } else if (isOracle) { + // since Oracle 18 we see a different behaviour, so test both ways + assertTrue(failedObject.equals(expectedFailedObject) || failedObject.equals(expectedFailedObjectOracle) ); } else { // special case, as Oracle returns all statements in the batch assertEquals(expectedFailedObjectOracle, failedObject); @@ -370,6 +373,9 @@ public class TestBatchLimitException extends AbstractPersistenceTestCase { if (!isOracle && !isPostgres) { assertTrue("Did not see expected text in message. Expected <" + expectedFailureMsg + "> but was " + msg, msg.contains(expectedFailureMsg)); + } else if (isOracle) { + // since Oracle 18 we see a different behaviour, so test both ways + assertTrue(msg.contains(expectedFailureMsg) || msg.contains(expectedFailureMsgOracle)); } else { // special case, as Oracle returns all statements in the batch assertTrue("Did not see expected text in message. Expected <" + expectedFailureMsgOracle + "> but was " +