From 82eaf3dfd8fc5c4647da7e60453003a9b046daad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Mon, 21 Jun 2010 15:10:17 +0000 Subject: [PATCH] #593530 : added test --- .../mysema/query/sql/GeneratedKeysTest.java | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 querydsl-sql/src/test/java/com/mysema/query/sql/GeneratedKeysTest.java diff --git a/querydsl-sql/src/test/java/com/mysema/query/sql/GeneratedKeysTest.java b/querydsl-sql/src/test/java/com/mysema/query/sql/GeneratedKeysTest.java new file mode 100644 index 000000000..5396d2984 --- /dev/null +++ b/querydsl-sql/src/test/java/com/mysema/query/sql/GeneratedKeysTest.java @@ -0,0 +1,81 @@ +package com.mysema.query.sql; + +import static org.junit.Assert.*; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import com.mysema.query.sql.dml.SQLInsertClause; +import com.mysema.query.types.path.PEntity; +import com.mysema.query.types.path.PNumber; +import com.mysema.query.types.path.PString; +import com.mysema.query.types.path.PathMetadataFactory; + +public class GeneratedKeysTest { + + @Table("GENERATED_KEYS") + public static class QGeneratedKeysEntity extends PEntity{ + + private static final long serialVersionUID = 2002306246819687158L; + + public QGeneratedKeysEntity(String name) { + super(QGeneratedKeysEntity.class, PathMetadataFactory.forVariable(name)); + } + + public final PNumber id = createNumber("ID", java.lang.Integer.class); + + public final PString name = createString("NAME"); + + } + + private Connection conn; + + private Statement stmt; + + @Before + public void setUp() throws ClassNotFoundException, SQLException{ + Class.forName("org.h2.Driver"); + String url = "jdbc:h2:target/h2"; + conn = DriverManager.getConnection(url, "sa", ""); + stmt = conn.createStatement(); + } + + @After + public void tearDown() throws SQLException{ + try{ + stmt.close(); + }finally{ + conn.close(); + } + } + + @Test + public void test() throws SQLException{ + stmt.execute("drop table GENERATED_KEYS if exists"); + stmt.execute("create table GENERATED_KEYS(" + + "ID int AUTO_INCREMENT PRIMARY KEY, " + + "NAME varchar(30))"); + + QGeneratedKeysEntity entity = new QGeneratedKeysEntity("entity"); + SQLInsertClause insertClause = new SQLInsertClause(conn, new H2Templates(), entity); + ResultSet rs = insertClause.set(entity.name, "Hello").executeWithKeys(); + assertTrue(rs.next()); + assertEquals(1, rs.getInt(1)); + assertFalse(rs.next()); + + insertClause = new SQLInsertClause(conn, new H2Templates(), entity); + rs = insertClause.set(entity.name, "World").executeWithKeys(); + assertTrue(rs.next()); + assertEquals(2, rs.getInt(1)); + assertFalse(rs.next()); + + } + +}