From 4a4ea7a46d663ea29ad3e6095907eb3427ae4231 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Sun, 11 Oct 2015 21:59:56 +0300 Subject: [PATCH] Improve SQLServer tests for JPA --- .../java/com/querydsl/jpa/AbstractJPATest.java | 11 ++++++++--- .../java/com/querydsl/jpa/AbstractSQLTest.java | 10 +++++----- .../src/test/java/com/querydsl/jpa/Mode.java | 18 +++++++++--------- .../test/resources/META-INF/persistence.xml | 17 +++++++++++++++++ .../com/querydsl/jpa/testutil/mssql.properties | 2 +- 5 files changed, 40 insertions(+), 18 deletions(-) diff --git a/querydsl-jpa/src/test/java/com/querydsl/jpa/AbstractJPATest.java b/querydsl-jpa/src/test/java/com/querydsl/jpa/AbstractJPATest.java index 7870efb46..63b21e497 100644 --- a/querydsl-jpa/src/test/java/com/querydsl/jpa/AbstractJPATest.java +++ b/querydsl-jpa/src/test/java/com/querydsl/jpa/AbstractJPATest.java @@ -444,6 +444,7 @@ public abstract class AbstractJPATest { } @Test + @ExcludeIn(SQLSERVER) public void Cast_ToString() { for (Tuple tuple : query().from(cat).select(cat.breed, cat.breed.stringValue()).fetch()) { assertEquals( @@ -453,6 +454,7 @@ public abstract class AbstractJPATest { } @Test + @ExcludeIn(SQLSERVER) public void Cast_ToString_Append() { for (Tuple tuple : query().from(cat).select(cat.breed, cat.breed.stringValue().append("test")).fetch()) { assertEquals( @@ -626,7 +628,7 @@ public abstract class AbstractJPATest { @Test @NoEclipseLink({DERBY, HSQLDB}) - @NoHibernate({DERBY, POSTGRESQL}) + @NoHibernate({DERBY, POSTGRESQL, SQLSERVER}) public void Date_YearWeek() { int value = query().from(cat).select(cat.birthdate.yearWeek()).fetchFirst(); assertTrue(value == 200006 || value == 200005); @@ -634,7 +636,7 @@ public abstract class AbstractJPATest { @Test @NoEclipseLink({DERBY, HSQLDB}) - @NoHibernate({DERBY, POSTGRESQL}) + @NoHibernate({DERBY, POSTGRESQL, SQLSERVER}) public void Date_Week() { int value = query().from(cat).select(cat.birthdate.week()).fetchFirst(); assertTrue(value == 6 || value == 5); @@ -737,6 +739,7 @@ public abstract class AbstractJPATest { } @Test + @ExcludeIn(SQLSERVER) public void Enum_StartsWith() { assertEquals(1, query().from(company).where(company.ratingString.stringValue().startsWith("A")).fetchCount()); } @@ -1264,6 +1267,7 @@ public abstract class AbstractJPATest { @Test @NoBatooJPA + @ExcludeIn(SQLSERVER) public void Order_NullsFirst() { assertNull(query().from(cat) .orderBy(cat.dateField.asc().nullsFirst()) @@ -1272,6 +1276,7 @@ public abstract class AbstractJPATest { @Test @NoBatooJPA + @ExcludeIn(SQLSERVER) public void Order_NullsLast() { assertNotNull(query().from(cat) .orderBy(cat.dateField.asc().nullsLast()) @@ -1355,7 +1360,7 @@ public abstract class AbstractJPATest { } @Test - @ExcludeIn({MYSQL, TERADATA}) + @ExcludeIn({MYSQL, SQLSERVER, TERADATA}) @NoOpenJPA public void StringOperations() { // NOTE : locate in MYSQL is case-insensitive diff --git a/querydsl-jpa/src/test/java/com/querydsl/jpa/AbstractSQLTest.java b/querydsl-jpa/src/test/java/com/querydsl/jpa/AbstractSQLTest.java index 253495a04..aadab9d56 100644 --- a/querydsl-jpa/src/test/java/com/querydsl/jpa/AbstractSQLTest.java +++ b/querydsl-jpa/src/test/java/com/querydsl/jpa/AbstractSQLTest.java @@ -168,7 +168,7 @@ public abstract class AbstractSQLTest { @Test public void Limit_Offset() { - assertEquals(2, query().from(cat).limit(2).offset(2).select(cat.id, cat.name).fetch().size()); + assertEquals(2, query().from(cat).orderBy(cat.id.asc()).limit(2).offset(2).select(cat.id, cat.name).fetch().size()); } @Test @@ -178,19 +178,19 @@ public abstract class AbstractSQLTest { @Test public void List_Limit_And_Offset() { - assertEquals(3, query().from(cat).offset(3).limit(3).select(cat.id).fetch().size()); + assertEquals(3, query().from(cat).orderBy(cat.id.asc()).offset(3).limit(3).select(cat.id).fetch().size()); } @Test public void List_Limit_And_Offset2() { - List tuples = query().from(cat).offset(3).limit(3).select(cat.id, cat.name).fetch(); + List tuples = query().from(cat).orderBy(cat.id.asc()).offset(3).limit(3).select(cat.id, cat.name).fetch(); assertEquals(3, tuples.size()); assertEquals(2, tuples.get(0).size()); } @Test public void List_Limit_And_Offset3() { - List tuples = query().from(cat).offset(3).limit(3).select(Projections.tuple(cat.id, cat.name)).fetch(); + List tuples = query().from(cat).orderBy(cat.id.asc()).offset(3).limit(3).select(Projections.tuple(cat.id, cat.name)).fetch(); assertEquals(3, tuples.size()); assertEquals(2, tuples.get(0).size()); } @@ -236,7 +236,7 @@ public abstract class AbstractSQLTest { @Test @ExcludeIn({Target.H2, Target.MYSQL}) public void List_With_Offset() { - assertEquals(3, query().from(cat).offset(3).select(cat.id).fetch().size()); + assertEquals(3, query().from(cat).orderBy(cat.id.asc()).offset(3).select(cat.id).fetch().size()); } @Test diff --git a/querydsl-jpa/src/test/java/com/querydsl/jpa/Mode.java b/querydsl-jpa/src/test/java/com/querydsl/jpa/Mode.java index 38aee2f87..e01433ced 100644 --- a/querydsl-jpa/src/test/java/com/querydsl/jpa/Mode.java +++ b/querydsl-jpa/src/test/java/com/querydsl/jpa/Mode.java @@ -15,16 +15,16 @@ public final class Mode { public static SQLTemplates getSQLTemplates() { switch (target.get()) { - case CUBRID: return new CUBRIDTemplates(); - case DERBY: return new DerbyTemplates(); - case H2: return new H2Templates(); - case HSQLDB: return new HSQLDBTemplates(); - case SQLSERVER: return new SQLServerTemplates(); - case MYSQL: return new MySQLTemplates(); - case ORACLE: return new OracleTemplates(); + case CUBRID: return new CUBRIDTemplates(); + case DERBY: return new DerbyTemplates(); + case H2: return new H2Templates(); + case HSQLDB: return new HSQLDBTemplates(); + case SQLSERVER: return new SQLServer2008Templates(); + case MYSQL: return new MySQLTemplates(); + case ORACLE: return new OracleTemplates(); case POSTGRESQL: return new PostgreSQLTemplates(); - case SQLITE: return new SQLiteTemplates(); - case TERADATA: return new TeradataTemplates(); + case SQLITE: return new SQLiteTemplates(); + case TERADATA: return new TeradataTemplates(); } throw new IllegalStateException("Unknown mode " + mode); } diff --git a/querydsl-jpa/src/test/resources/META-INF/persistence.xml b/querydsl-jpa/src/test/resources/META-INF/persistence.xml index 3be82791a..d7b42ea72 100644 --- a/querydsl-jpa/src/test/resources/META-INF/persistence.xml +++ b/querydsl-jpa/src/test/resources/META-INF/persistence.xml @@ -228,6 +228,23 @@ + + + + org.hibernate.ejb.HibernatePersistence + + + + + + + + + + + + + diff --git a/querydsl-jpa/src/test/resources/com/querydsl/jpa/testutil/mssql.properties b/querydsl-jpa/src/test/resources/com/querydsl/jpa/testutil/mssql.properties index 997752c0b..9ffe1de49 100644 --- a/querydsl-jpa/src/test/resources/com/querydsl/jpa/testutil/mssql.properties +++ b/querydsl-jpa/src/test/resources/com/querydsl/jpa/testutil/mssql.properties @@ -1,5 +1,5 @@ ## MSSQL -hibernate.dialect=org.hibernate.dialect.SQLServerDialect +hibernate.dialect=org.hibernate.dialect.SQLServer2008Dialect hibernate.connection.driver_class=net.sourceforge.jtds.jdbc.Driver hibernate.connection.url=jdbc:jtds:sqlserver://localhost:1433/querydsl hibernate.connection.username=querydsl