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 org.junit.experimental.categories.Category; import com.mysema.commons.lang.CloseableIterator; import com.querydsl.core.testutil.H2; import com.querydsl.sql.domain.Employee; @Category(H2.class) public class SQLCloseListenerTest { private SQLQuery<Employee> query; @Before public void setUp() throws SQLException, ClassNotFoundException { Connections.initH2(); Configuration conf = new Configuration(H2Templates.DEFAULT); conf.addListener(SQLCloseListener.DEFAULT); query = new SQLQuery<Void>(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<Employee> it = query.iterate(); try { while (it.hasNext()) { it.next(); } } finally { it.close(); } } }