From daa246c4dbc5ddecf5fde855c2f28ee37327d677 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Thu, 14 May 2015 22:39:13 +0300 Subject: [PATCH] Add test --- .../com/querydsl/sql/AbstractSQLQuery.java | 2 - .../com/querydsl/sql/SQLCloseListener.java | 6 +- .../querydsl/sql/SQLCloseListenerTest.java | 66 +++++++++++++++++++ 3 files changed, 71 insertions(+), 3 deletions(-) create mode 100644 querydsl-sql/src/test/java/com/querydsl/sql/SQLCloseListenerTest.java diff --git a/querydsl-sql/src/main/java/com/querydsl/sql/AbstractSQLQuery.java b/querydsl-sql/src/main/java/com/querydsl/sql/AbstractSQLQuery.java index 83722ef2a..f457f4d25 100644 --- a/querydsl-sql/src/main/java/com/querydsl/sql/AbstractSQLQuery.java +++ b/querydsl-sql/src/main/java/com/querydsl/sql/AbstractSQLQuery.java @@ -175,8 +175,6 @@ public abstract class AbstractSQLQuery> exte listeners.end(context); } - - /** * Get the results as an JDBC result set * diff --git a/querydsl-sql/src/main/java/com/querydsl/sql/SQLCloseListener.java b/querydsl-sql/src/main/java/com/querydsl/sql/SQLCloseListener.java index 89f097410..59bd6cb66 100644 --- a/querydsl-sql/src/main/java/com/querydsl/sql/SQLCloseListener.java +++ b/querydsl-sql/src/main/java/com/querydsl/sql/SQLCloseListener.java @@ -21,7 +21,11 @@ import com.querydsl.core.QueryException; /** * {@code SQLCloseListener} closes the JDBC connection at the end of the query or clause execution */ -public class SQLCloseListener extends SQLBaseListener { +public final class SQLCloseListener extends SQLBaseListener { + + public static final SQLCloseListener DEFAULT = new SQLCloseListener(); + + private SQLCloseListener() { } @Override public void end(SQLListenerContext context) { diff --git a/querydsl-sql/src/test/java/com/querydsl/sql/SQLCloseListenerTest.java b/querydsl-sql/src/test/java/com/querydsl/sql/SQLCloseListenerTest.java new file mode 100644 index 000000000..ac4b65b60 --- /dev/null +++ b/querydsl-sql/src/test/java/com/querydsl/sql/SQLCloseListenerTest.java @@ -0,0 +1,66 @@ +package com.querydsl.sql; + +import static com.querydsl.sql.Constants.employee; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; + +import java.sql.SQLException; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import com.mysema.commons.lang.CloseableIterator; +import com.querydsl.sql.domain.Employee; + +public class SQLCloseListenerTest { + + private SQLQuery query; + + @Before + public void setUp() throws SQLException, ClassNotFoundException { + Connections.initH2(); + Configuration conf = new Configuration(H2Templates.DEFAULT); + conf.addListener(SQLCloseListener.DEFAULT); + query = new SQLQuery(Connections.getConnection(), conf).select(employee).from(employee); + } + + @After + public void tearDown() throws SQLException { + Connections.close(); + } + + @Test + public void fetch() { + assertFalse(query.fetch().isEmpty()); + } + + @Test + public void fetchOne() { + assertNotNull(query.limit(1).fetchOne()); + } + + @Test + public void fetchFirst() { + assertNotNull(query.fetchFirst()); + } + + @Test + public void fetchResults() { + assertNotNull(query.fetchResults()); + } + + @Test + public void iterate() { + CloseableIterator it = query.iterate(); + try { + while (it.hasNext()) { + it.next(); + } + } finally { + it.close(); + } + } + + +}