From 60a8679a79949dec06f83afb824efa005d82b39d Mon Sep 17 00:00:00 2001 From: Ruben Dijkstra Date: Mon, 20 Oct 2014 16:51:13 +0200 Subject: [PATCH] Add the simple exception creation case to the ExceptionSuiteTest --- .../query/suites/H2ExceptionSuiteTest.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/querydsl-sql/src/test/java/com/mysema/query/suites/H2ExceptionSuiteTest.java b/querydsl-sql/src/test/java/com/mysema/query/suites/H2ExceptionSuiteTest.java index 68ecc1db0..4a9ba4184 100644 --- a/querydsl-sql/src/test/java/com/mysema/query/suites/H2ExceptionSuiteTest.java +++ b/querydsl-sql/src/test/java/com/mysema/query/suites/H2ExceptionSuiteTest.java @@ -4,18 +4,24 @@ import static com.mysema.query.sql.domain.QSurvey.survey; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import java.sql.SQLException; + import com.google.common.base.Throwables; import com.mysema.query.AbstractBaseTest; import com.mysema.query.Connections; import com.mysema.query.JavaSpecVersion; import com.mysema.query.QueryException; +import com.mysema.query.sql.DefaultSQLExceptionTranslator; import com.mysema.query.sql.H2Templates; +import com.mysema.query.sql.SQLExceptionTranslator; import org.junit.BeforeClass; import org.junit.Test; public class H2ExceptionSuiteTest extends AbstractBaseTest { + private static final SQLExceptionTranslator exceptionTranslator = DefaultSQLExceptionTranslator.DEFAULT; + @BeforeClass public static void setUp() throws Exception { Connections.initH2(); @@ -30,6 +36,17 @@ public class H2ExceptionSuiteTest extends AbstractBaseTest { .execute("ALTER TABLE SURVEY DROP CONSTRAINT UNIQUE_ID"); } + @Test + public void SQLExceptionCreationTranslated() { + SQLException e1 = new SQLException("Exception #1", "42001", 181); + SQLException e2 = new SQLException("Exception #2", "HY000", 1030); + e1.setNextException(e2); + SQLException sqlException = new SQLException("Batch operation failed"); + sqlException.setNextException(e1); + RuntimeException result = exceptionTranslator.translate(sqlException); + inspectExceptionResult(result); + } + @Test public void UpdateBatchFailed() { execute(insert(survey).columns(survey.name, survey.name2) @@ -43,6 +60,10 @@ public class H2ExceptionSuiteTest extends AbstractBaseTest { result = e; } assertNotNull(result); + inspectExceptionResult(result); + } + + private void inspectExceptionResult(Exception result) { String stackTraceAsString = Throwables.getStackTraceAsString(result); switch (JavaSpecVersion.CURRENT) { case JAVA6: