From 9f98b5333d4a218d82285650823a3f3fca7515aa Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Fri, 14 Oct 2016 20:23:36 +1300 Subject: [PATCH] Update tests - for asserts trim column alias from generated SQL if necessary (to support generating without column alias) --- .../java/com/avaje/ebean/BaseTestCase.java | 27 +++++++++++++++++++ .../com/avaje/ebean/EbeanServer_eqlTest.java | 4 +-- .../java/com/avaje/ebean/UpdateQueryTest.java | 2 +- .../IsEmptyExpressionQueryTest.java | 15 ++++++----- .../server/expression/NoopExpressionTest.java | 8 +++--- .../server/grammer/EqlParserTest.java | 26 +++++++++--------- .../tests/autofetch/TunedQueryInfoTest.java | 4 +-- .../basic/lob/TestBasicClobFetchEager.java | 16 ++++++----- .../tests/basic/lob/TestBasicClobNoVer.java | 12 +++++---- .../batchload/TestQueryDisableLazyLoad.java | 5 ++-- .../batchload/TestQueryJoinToAssocOne.java | 16 +++++------ .../tests/batchload/TestSecondaryQueries.java | 12 ++++----- .../avaje/tests/delete/TestDeleteByQuery.java | 2 +- .../TestOneToOneOptionalRelationship.java | 16 +++++------ .../album/TestOneToOneHardDelete.java | 7 ++--- .../avaje/tests/model/pview/TestPview.java | 4 +-- .../tests/model/selfref/ResourceFile.java | 2 +- .../tests/model/view/TestViewBaseEntity.java | 5 ++-- .../tests/query/TestDefaultFetchLazy.java | 4 +-- .../TestImplicitJoinOnParentRelationship.java | 12 ++++----- .../avaje/tests/query/TestManyWhereJoin.java | 20 +++++++------- .../tests/query/TestManyWhereJoinM2M.java | 4 +-- .../tests/query/TestQueryFindIterate.java | 10 +++---- .../tests/query/TestQueryFindPagedList.java | 2 +- .../joins/TestDisjunctWhereOuterOnMany.java | 4 +-- .../orderby/TestOrderByWithDistinct.java | 4 +-- .../orderby/TestOrderByWithDistinctTake2.java | 12 ++++----- .../query/orderby/TestOrderByWithMany.java | 2 +- .../other/TestQueryConversationRowCount.java | 9 +++---- .../tests/query/other/TestQueryDistinct.java | 16 +++++------ .../other/TestQueryRawExpressionMany.java | 2 +- .../other/TestQueryRowCountWithMany.java | 10 +++---- .../query/other/TestQuerySingleAttribute.java | 12 ++++----- 33 files changed, 170 insertions(+), 136 deletions(-) diff --git a/src/test/java/com/avaje/ebean/BaseTestCase.java b/src/test/java/com/avaje/ebean/BaseTestCase.java index 614a8824e..c47cfa6c2 100644 --- a/src/test/java/com/avaje/ebean/BaseTestCase.java +++ b/src/test/java/com/avaje/ebean/BaseTestCase.java @@ -18,6 +18,33 @@ public class BaseTestCase { } } + /** + * Return the generated sql trimming column alias if required. + */ + protected String sqlOf(Query query) { + return trimSql(query.getGeneratedSql(), 0); + } + + /** + * Return the generated sql trimming column alias if required. + */ + protected String sqlOf(Query query, int columns) { + return trimSql(query.getGeneratedSql(), columns); + } + + /** + * Trim out column alias if required from the generated sql. + */ + protected String trimSql(String sql, int columns) { + for (int i = 0; i <= columns; i++) { + sql = sql.replace(" c" + i + ",", ","); + } + for (int i = 0; i <= columns; i++) { + sql = sql.replace(" c" + i + " ", " "); + } + return sql; + } + /** * MS SQL Server does not allow setting explicit values on identity columns * so tests that do this need to be skipped for SQL Server. diff --git a/src/test/java/com/avaje/ebean/EbeanServer_eqlTest.java b/src/test/java/com/avaje/ebean/EbeanServer_eqlTest.java index a1074af66..a4f0897ee 100644 --- a/src/test/java/com/avaje/ebean/EbeanServer_eqlTest.java +++ b/src/test/java/com/avaje/ebean/EbeanServer_eqlTest.java @@ -76,7 +76,7 @@ public class EbeanServer_eqlTest extends BaseTestCase { Query name = server().createNamedQuery(Customer.class, "name"); name.findList(); - assertThat(name.getGeneratedSql()).contains("select t0.id c0, t0.name c1 from o_customer t0 order by t0.name"); + assertThat(sqlOf(name, 1)).contains("select t0.id, t0.name from o_customer t0 order by t0.name"); } @Test @@ -88,7 +88,7 @@ public class EbeanServer_eqlTest extends BaseTestCase { name.order().clear().asc("status"); name.findList(); - assertThat(name.getGeneratedSql()).contains("select t0.id c0, t0.name c1, t0.status c2 from o_customer t0 order by t0.status"); + assertThat(sqlOf(name, 2)).contains("select t0.id, t0.name, t0.status from o_customer t0 order by t0.status"); } @Test diff --git a/src/test/java/com/avaje/ebean/UpdateQueryTest.java b/src/test/java/com/avaje/ebean/UpdateQueryTest.java index 98e3e6535..ccabba573 100644 --- a/src/test/java/com/avaje/ebean/UpdateQueryTest.java +++ b/src/test/java/com/avaje/ebean/UpdateQueryTest.java @@ -50,7 +50,7 @@ public class UpdateQueryTest extends BaseTestCase { query.update(); - assertThat(query.getGeneratedSql()).contains("update o_customer set status=?, updtime=? where id in (select t0.id c0 from o_customer t0 left outer join o_address t1 on t1.id = t0.billing_address_id where t0.status = ? and t1.country_code = ? and t0.id > ? )"); + assertThat(sqlOf(query)).contains("update o_customer set status=?, updtime=? where id in (select t0.id from o_customer t0 left outer join o_address t1 on t1.id = t0.billing_address_id where t0.status = ? and t1.country_code = ? and t0.id > ? )"); } @Test diff --git a/src/test/java/com/avaje/ebeaninternal/server/expression/IsEmptyExpressionQueryTest.java b/src/test/java/com/avaje/ebeaninternal/server/expression/IsEmptyExpressionQueryTest.java index 7f9695f25..62b133123 100644 --- a/src/test/java/com/avaje/ebeaninternal/server/expression/IsEmptyExpressionQueryTest.java +++ b/src/test/java/com/avaje/ebeaninternal/server/expression/IsEmptyExpressionQueryTest.java @@ -1,5 +1,6 @@ package com.avaje.ebeaninternal.server.expression; +import com.avaje.ebean.BaseTestCase; import com.avaje.ebean.Ebean; import com.avaje.ebean.Query; import com.avaje.tests.model.basic.Contact; @@ -9,7 +10,7 @@ import org.junit.Test; import static org.assertj.core.api.Assertions.assertThat; -public class IsEmptyExpressionQueryTest { +public class IsEmptyExpressionQueryTest extends BaseTestCase { @Test public void isEmpty() { @@ -22,7 +23,7 @@ public class IsEmptyExpressionQueryTest { .query(); query.findList(); - assertThat(query.getGeneratedSql()).contains("select t0.id c0 from o_customer t0 where not exists (select 1 from contact where customer_id = t0.id"); + assertThat(sqlOf(query)).contains("select t0.id from o_customer t0 where not exists (select 1 from contact where customer_id = t0.id"); } @Test @@ -36,7 +37,7 @@ public class IsEmptyExpressionQueryTest { .query(); query.findList(); - assertThat(query.getGeneratedSql()).contains("select t0.id c0 from o_customer t0 where exists (select 1 from contact where customer_id = t0.id"); + assertThat(sqlOf(query)).contains("select t0.id from o_customer t0 where exists (select 1 from contact where customer_id = t0.id"); } @Test @@ -50,7 +51,7 @@ public class IsEmptyExpressionQueryTest { .query(); query.findList(); - assertThat(query.getGeneratedSql()).contains("select t0.id c0 from contact t0 where not exists (select 1 from contact_note where contact_id = t0.id"); + assertThat(sqlOf(query)).contains("select t0.id from contact t0 where not exists (select 1 from contact_note where contact_id = t0.id"); } @Test @@ -64,7 +65,7 @@ public class IsEmptyExpressionQueryTest { .query(); query.findList(); - assertThat(query.getGeneratedSql()).contains("select t0.id c0 from contact t0 where exists (select 1 from contact_note where contact_id = t0.id"); + assertThat(sqlOf(query)).contains("select t0.id from contact t0 where exists (select 1 from contact_note where contact_id = t0.id"); } @@ -93,7 +94,7 @@ public class IsEmptyExpressionQueryTest { .query(); query.findList(); - assertThat(query.getGeneratedSql()).contains("select distinct t0.id c0 from o_customer t0 join contact u1 on u1.customer_id = t0.id where not exists (select 1 from contact_note where contact_id = u1.id)"); + assertThat(sqlOf(query)).contains("select distinct t0.id from o_customer t0 join contact u1 on u1.customer_id = t0.id where not exists (select 1 from contact_note where contact_id = u1.id)"); } @Test @@ -107,7 +108,7 @@ public class IsEmptyExpressionQueryTest { .query(); query.findList(); - assertThat(query.getGeneratedSql()).contains("select distinct t0.id c0 from o_customer t0 join contact u1 on u1.customer_id = t0.id where exists (select 1 from contact_note where contact_id = u1.id)"); + assertThat(sqlOf(query)).contains("select distinct t0.id from o_customer t0 join contact u1 on u1.customer_id = t0.id where exists (select 1 from contact_note where contact_id = u1.id)"); } } \ No newline at end of file diff --git a/src/test/java/com/avaje/ebeaninternal/server/expression/NoopExpressionTest.java b/src/test/java/com/avaje/ebeaninternal/server/expression/NoopExpressionTest.java index 2f473c454..5b40071d6 100644 --- a/src/test/java/com/avaje/ebeaninternal/server/expression/NoopExpressionTest.java +++ b/src/test/java/com/avaje/ebeaninternal/server/expression/NoopExpressionTest.java @@ -20,9 +20,9 @@ public class NoopExpressionTest extends BaseTestCase { .query(); query.findList(); - String generatedSql = query.getGeneratedSql(); + String generatedSql = sqlOf(query); - assertThat(generatedSql).contains("select t0.id c0 from o_customer t0 where 1=1"); + assertThat(generatedSql).contains("select t0.id from o_customer t0 where 1=1"); } @Test @@ -36,9 +36,9 @@ public class NoopExpressionTest extends BaseTestCase { .query(); query.findList(); - String generatedSql = query.getGeneratedSql(); + String generatedSql = sqlOf(query); - assertThat(generatedSql).contains("select t0.id c0 from o_customer t0 where t0.name is null and 1=1 and t0.status is not null"); + assertThat(generatedSql).contains("select t0.id from o_customer t0 where t0.name is null and 1=1 and t0.status is not null"); } @Test diff --git a/src/test/java/com/avaje/ebeaninternal/server/grammer/EqlParserTest.java b/src/test/java/com/avaje/ebeaninternal/server/grammer/EqlParserTest.java index 38512ecbf..82c77c412 100644 --- a/src/test/java/com/avaje/ebeaninternal/server/grammer/EqlParserTest.java +++ b/src/test/java/com/avaje/ebeaninternal/server/grammer/EqlParserTest.java @@ -194,7 +194,7 @@ public class EqlParserTest extends BaseTestCase { Query query = parse("fetch billingAddress"); query.findList(); - assertThat(query.getGeneratedSql()).contains(", t1.id c9"); + assertThat(query.getGeneratedSql()).contains(", t1.id"); } @Test @@ -203,7 +203,7 @@ public class EqlParserTest extends BaseTestCase { Query query = parse("fetch billingAddress (city)"); query.findList(); - assertThat(query.getGeneratedSql()).contains(", t1.id c9, t1.city"); + assertThat(sqlOf(query, 10)).contains(", t1.id, t1.city"); } @Test @@ -212,7 +212,7 @@ public class EqlParserTest extends BaseTestCase { Query query = parse("fetch billingAddress(city)"); query.findList(); - assertThat(query.getGeneratedSql()).contains(", t1.id c9, t1.city"); + assertThat(sqlOf(query, 10)).contains(", t1.id, t1.city"); } @Test @@ -221,8 +221,8 @@ public class EqlParserTest extends BaseTestCase { Query query = parse("fetch billingAddress fetch shippingAddress"); query.findList(); - assertThat(query.getGeneratedSql()).contains(", t1.city "); - assertThat(query.getGeneratedSql()).contains(", t2.city "); + assertThat(query.getGeneratedSql()).contains(", t1.city"); + assertThat(query.getGeneratedSql()).contains(", t2.city"); } @Test @@ -231,7 +231,7 @@ public class EqlParserTest extends BaseTestCase { Query query = parse("fetch billingAddress (city) fetch shippingAddress (city)"); query.findList(); - assertThat(query.getGeneratedSql()).contains(", t1.id c8, t1.city c9, t2.id c10, t2.city c11"); + assertThat(sqlOf(query, 12)).contains(", t1.id, t1.city, t2.id, t2.city"); } @Test @@ -240,7 +240,7 @@ public class EqlParserTest extends BaseTestCase { Query query = parse("fetch lazy billingAddress"); query.findList(); - assertThat(query.getGeneratedSql()).doesNotContain(", t1.city "); + assertThat(query.getGeneratedSql()).doesNotContain(", t1.city"); } @Test @@ -249,7 +249,7 @@ public class EqlParserTest extends BaseTestCase { Query query = parse("fetch lazy(50) billingAddress"); query.findList(); - assertThat(query.getGeneratedSql()).doesNotContain(", t1.city "); + assertThat(query.getGeneratedSql()).doesNotContain(", t1.city"); } @Test @@ -259,7 +259,7 @@ public class EqlParserTest extends BaseTestCase { Query query = parse("fetch query(50) billingAddress"); query.findList(); - assertThat(query.getGeneratedSql()).doesNotContain(", t1.city "); + assertThat(query.getGeneratedSql()).doesNotContain(", t1.city"); } @Test @@ -269,7 +269,7 @@ public class EqlParserTest extends BaseTestCase { Query query = parse("fetch billingAddress (+query(50),city)"); query.findList(); - assertThat(query.getGeneratedSql()).doesNotContain(", t1.city "); + assertThat(query.getGeneratedSql()).doesNotContain(", t1.city"); } @Test @@ -279,7 +279,7 @@ public class EqlParserTest extends BaseTestCase { Query query = parse("fetch billingAddress (+lazy(50),city)"); List list = query.findList(); - assertThat(query.getGeneratedSql()).doesNotContain(", t1.city "); + assertThat(query.getGeneratedSql()).doesNotContain(", t1.city"); Customer customer = list.get(0); customer.getBillingAddress().getCity(); @@ -292,7 +292,7 @@ public class EqlParserTest extends BaseTestCase { Query query = parse("select (name)"); query.findList(); - assertThat(query.getGeneratedSql()).contains("select t0.id c0, t0.name c1 from o_customer t0"); + assertThat(sqlOf(query, 1)).contains("select t0.id, t0.name from o_customer t0"); } @Test @@ -302,7 +302,7 @@ public class EqlParserTest extends BaseTestCase { Query query = parse("select distinct (name)"); query.findList(); - assertThat(query.getGeneratedSql()).contains("select distinct t0.name c0 from o_customer t0"); + assertThat(sqlOf(query, 1)).contains("select distinct t0.name from o_customer t0"); } diff --git a/src/test/java/com/avaje/tests/autofetch/TunedQueryInfoTest.java b/src/test/java/com/avaje/tests/autofetch/TunedQueryInfoTest.java index 4ca564a39..9a80c7684 100644 --- a/src/test/java/com/avaje/tests/autofetch/TunedQueryInfoTest.java +++ b/src/test/java/com/avaje/tests/autofetch/TunedQueryInfoTest.java @@ -93,8 +93,8 @@ public class TunedQueryInfoTest extends BaseTestCase { List loggedSql = LoggedSqlCollector.stop(); Assert.assertEquals(2, loggedSql.size()); - Assert.assertTrue(loggedSql.get(0).contains("select t0.id c0, t0.id c1 from o_order t0 where t0.id = ?")); - Assert.assertTrue(loggedSql.get(1).contains("select t0.id c0, t0.status c1,")); + Assert.assertTrue(trimSql(loggedSql.get(0), 1).contains("select t0.id, t0.id from o_order t0 where t0.id = ?")); + Assert.assertTrue(trimSql(loggedSql.get(1), 1).contains("select t0.id, t0.status,")); } @NotNull diff --git a/src/test/java/com/avaje/tests/basic/lob/TestBasicClobFetchEager.java b/src/test/java/com/avaje/tests/basic/lob/TestBasicClobFetchEager.java index 44f3b0715..4486e809f 100644 --- a/src/test/java/com/avaje/tests/basic/lob/TestBasicClobFetchEager.java +++ b/src/test/java/com/avaje/tests/basic/lob/TestBasicClobFetchEager.java @@ -12,6 +12,8 @@ import com.avaje.ebean.EbeanServer; import com.avaje.ebean.Query; import com.avaje.tests.model.basic.EBasicClobFetchEager; +import static org.assertj.core.api.Assertions.assertThat; + public class TestBasicClobFetchEager extends BaseTestCase { @Test @@ -24,14 +26,14 @@ public class TestBasicClobFetchEager extends BaseTestCase { server.save(entity); - String expectedSql = "select t0.id c0, t0.name c1, t0.title c2, t0.description c3, t0.last_update c4 from ebasic_clob_fetch_eager t0 where t0.id = ?"; + String expectedSql = "select t0.id, t0.name, t0.title, t0.description, t0.last_update from ebasic_clob_fetch_eager t0 where t0.id = ?"; // Clob included in fetch as FetchType.EAGER set by annotation Query defaultQuery = Ebean.find(EBasicClobFetchEager.class).setId(entity.getId()); defaultQuery.findUnique(); - String sql = defaultQuery.getGeneratedSql(); + String sql = trimSql(defaultQuery.getGeneratedSql(), 6); - Assert.assertTrue("Clob is eager fetched", sql.contains(expectedSql)); + assertThat(sql).contains(expectedSql); LoggedSqlCollector.start(); @@ -42,7 +44,7 @@ public class TestBasicClobFetchEager extends BaseTestCase { // Assert query same as previous ... List loggedSql = LoggedSqlCollector.stop(); Assert.assertEquals(1, loggedSql.size()); - Assert.assertTrue(loggedSql.get(0).contains(expectedSql)); + assertThat(trimSql(loggedSql.get(0), 6)).contains(expectedSql); @@ -50,9 +52,9 @@ public class TestBasicClobFetchEager extends BaseTestCase { Query explicitQuery = Ebean.find(EBasicClobFetchEager.class).setId(entity.getId()).select("*"); explicitQuery.findUnique(); - sql = explicitQuery.getGeneratedSql(); + sql = sqlOf(explicitQuery, 6); - Assert.assertTrue("Explicitly include Clob", sql.contains(expectedSql)); + assertThat(sql).contains(expectedSql); // Update description to test refresh @@ -74,7 +76,7 @@ public class TestBasicClobFetchEager extends BaseTestCase { // Assert all properties fetched in refresh loggedSql = LoggedSqlCollector.stop(); Assert.assertEquals(1, loggedSql.size()); - Assert.assertTrue("Refresh includes all", loggedSql.get(0).contains(expectedSql)); + assertThat(trimSql(loggedSql.get(0), 6)).contains(expectedSql); Assert.assertEquals("modified", entity.getDescription()); } diff --git a/src/test/java/com/avaje/tests/basic/lob/TestBasicClobNoVer.java b/src/test/java/com/avaje/tests/basic/lob/TestBasicClobNoVer.java index 8666bed32..9443d9205 100644 --- a/src/test/java/com/avaje/tests/basic/lob/TestBasicClobNoVer.java +++ b/src/test/java/com/avaje/tests/basic/lob/TestBasicClobNoVer.java @@ -12,6 +12,8 @@ import com.avaje.ebean.EbeanServer; import com.avaje.ebean.Query; import com.avaje.tests.model.basic.EBasicClobNoVer; +import static org.assertj.core.api.Assertions.assertThat; + public class TestBasicClobNoVer extends BaseTestCase { @Test @@ -24,14 +26,14 @@ public class TestBasicClobNoVer extends BaseTestCase { server.save(entity); - String sqlNoClob = "select t0.id c0, t0.name c1 from ebasic_clob_no_ver t0 where t0.id = ?"; - String sqlWithClob = "select t0.id c0, t0.name c1, t0.description c2 from ebasic_clob_no_ver t0 where t0.id = ?"; + String sqlNoClob = "select t0.id, t0.name from ebasic_clob_no_ver t0 where t0.id = ?"; + String sqlWithClob = "select t0.id, t0.name, t0.description from ebasic_clob_no_ver t0 where t0.id = ?"; // Clob by default is Fetch Lazy Query defaultQuery = Ebean.find(EBasicClobNoVer.class).setId(entity.getId()); defaultQuery.findUnique(); - String sql = defaultQuery.getGeneratedSql(); + String sql = sqlOf(defaultQuery, 2); Assert.assertTrue("Clob is fetch lazy by default", sql.contains(sqlNoClob)); @@ -40,7 +42,7 @@ public class TestBasicClobNoVer extends BaseTestCase { Query explicitQuery = Ebean.find(EBasicClobNoVer.class).setId(entity.getId()).select("*"); explicitQuery.findUnique(); - sql = explicitQuery.getGeneratedSql(); + sql = sqlOf(explicitQuery, 2); Assert.assertTrue("Explicitly include Clob", sql.contains(sqlWithClob)); @@ -64,7 +66,7 @@ public class TestBasicClobNoVer extends BaseTestCase { // Assert all properties fetched in refresh List loggedSql = LoggedSqlCollector.stop(); Assert.assertEquals(1, loggedSql.size()); - Assert.assertTrue("Refresh includes all", loggedSql.get(0).contains(sqlWithClob)); + assertThat(trimSql(loggedSql.get(0), 2)).contains(sqlWithClob); Assert.assertEquals("modified", entity.getDescription()); } diff --git a/src/test/java/com/avaje/tests/batchload/TestQueryDisableLazyLoad.java b/src/test/java/com/avaje/tests/batchload/TestQueryDisableLazyLoad.java index 934d1f71c..6c465edb8 100644 --- a/src/test/java/com/avaje/tests/batchload/TestQueryDisableLazyLoad.java +++ b/src/test/java/com/avaje/tests/batchload/TestQueryDisableLazyLoad.java @@ -1,5 +1,6 @@ package com.avaje.tests.batchload; +import com.avaje.ebean.BaseTestCase; import com.avaje.ebean.Ebean; import com.avaje.tests.model.basic.Order; import com.avaje.tests.model.basic.OrderDetail; @@ -13,7 +14,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; -public class TestQueryDisableLazyLoad { +public class TestQueryDisableLazyLoad extends BaseTestCase { @Test public void onAssocMany() { @@ -37,7 +38,7 @@ public class TestQueryDisableLazyLoad { List loggedSql = LoggedSqlCollector.stop(); assertThat(loggedSql).hasSize(1); - assertThat(loggedSql.get(0)).contains("select t0.id c0, t0.status c1, t0.order_date c2,"); + assertThat(trimSql(loggedSql.get(0), 2)).contains("select t0.id, t0.status, t0.order_date,"); assertThat(loggedSql.get(0)).contains(" from o_order t0 "); } diff --git a/src/test/java/com/avaje/tests/batchload/TestQueryJoinToAssocOne.java b/src/test/java/com/avaje/tests/batchload/TestQueryJoinToAssocOne.java index da78d2485..2377fb61a 100644 --- a/src/test/java/com/avaje/tests/batchload/TestQueryJoinToAssocOne.java +++ b/src/test/java/com/avaje/tests/batchload/TestQueryJoinToAssocOne.java @@ -33,8 +33,8 @@ public class TestQueryJoinToAssocOne extends BaseTestCase { List loggedSql = LoggedSqlCollector.stop(); assertThat(loggedSql).hasSize(2); - String secondaryQuery = loggedSql.get(1); - assertThat(secondaryQuery).contains("select t0.order_id c0, t0.id c1,"); + String secondaryQuery = trimSql(loggedSql.get(1), 1); + assertThat(secondaryQuery).contains("select t0.order_id, t0.id,"); assertThat(secondaryQuery).contains(" from o_order_detail t0 left outer join o_product t1"); assertThat(secondaryQuery).contains(" (t0.order_id) in (?"); assertThat(secondaryQuery).contains(" order by t0.order_id, t0.id"); @@ -60,8 +60,8 @@ public class TestQueryJoinToAssocOne extends BaseTestCase { List loggedSql = LoggedSqlCollector.stop(); assertThat(loggedSql).hasSize(2); - String secondaryQuery = loggedSql.get(1); - assertThat(secondaryQuery).contains("select t0.order_id c0, t0.id c1,"); + String secondaryQuery = trimSql(loggedSql.get(1), 1); + assertThat(secondaryQuery).contains("select t0.order_id, t0.id,"); assertThat(secondaryQuery).contains(" from o_order_detail t0 left outer join o_product t1"); assertThat(secondaryQuery).contains(" (t0.order_id) in (?"); assertThat(secondaryQuery).contains(" order by t0.order_id, t0.id"); @@ -100,8 +100,8 @@ public class TestQueryJoinToAssocOne extends BaseTestCase { List loggedSql = LoggedSqlCollector.stop(); assertThat(loggedSql).hasSize(2); - String secondaryQuery = loggedSql.get(1); - assertThat(secondaryQuery).contains("select t0.order_id c0, t0.id c1,"); + String secondaryQuery = trimSql(loggedSql.get(1), 1); + assertThat(secondaryQuery).contains("select t0.order_id, t0.id,"); assertThat(secondaryQuery).contains(" from o_order_detail t0 left outer join o_product t1"); assertThat(secondaryQuery).contains(" (t0.order_id) in (?"); assertThat(secondaryQuery).contains(" order by t0.order_id, t0.id"); @@ -136,8 +136,8 @@ public class TestQueryJoinToAssocOne extends BaseTestCase { List loggedSql = LoggedSqlCollector.stop(); assertThat(loggedSql).hasSize(1); - String originQuery = loggedSql.get(0); - assertThat(originQuery).contains("select t0.id c0, t0.status c1, t0.ship_date c2, t1.id c3, t1.order_qty c4, t1.unit_price c5"); + String originQuery = trimSql(loggedSql.get(0), 5); + assertThat(originQuery).contains("select t0.id, t0.status, t0.ship_date, t1.id, t1.order_qty, t1.unit_price"); assertThat(originQuery).contains(" from o_order t0 left outer join o_order_detail t1 "); } } diff --git a/src/test/java/com/avaje/tests/batchload/TestSecondaryQueries.java b/src/test/java/com/avaje/tests/batchload/TestSecondaryQueries.java index 5651f484d..97ef59762 100644 --- a/src/test/java/com/avaje/tests/batchload/TestSecondaryQueries.java +++ b/src/test/java/com/avaje/tests/batchload/TestSecondaryQueries.java @@ -34,8 +34,8 @@ public class TestSecondaryQueries extends BaseTestCase { List sql = LoggedSqlCollector.stop(); assertThat(sql).hasSize(2); - assertThat(sql.get(0)).contains("select t0.id c0, t0.status c1, t0.kcustomer_id c2 from o_order t0"); - assertThat(sql.get(1)).contains("select t0.id c0, t0.name c1 from o_customer t0 where t0.id in"); + assertThat(trimSql(sql.get(0), 2)).contains("select t0.id, t0.status, t0.kcustomer_id from o_order t0"); + assertThat(trimSql(sql.get(1), 2)).contains("select t0.id, t0.name from o_customer t0 where t0.id in"); } @Test @@ -55,7 +55,7 @@ public class TestSecondaryQueries extends BaseTestCase { List sql = LoggedSqlCollector.stop(); assertThat(sql).hasSize(1); - assertThat(sql.get(0)).contains("select t0.id c0, t0.status c1, t0.kcustomer_id c2 from o_order t0"); + assertThat(trimSql(sql.get(0), 2)).contains("select t0.id, t0.status, t0.kcustomer_id from o_order t0"); LoggedSqlCollector.start(); @@ -66,7 +66,7 @@ public class TestSecondaryQueries extends BaseTestCase { sql = LoggedSqlCollector.stop(); assertThat(sql).hasSize(1); - assertThat(sql.get(0)).contains("select t0.id c0, t0.name c1 from o_customer t0 where t0.id in"); + assertThat(trimSql(sql.get(0), 1)).contains("select t0.id, t0.name from o_customer t0 where t0.id in"); } @Test @@ -127,9 +127,9 @@ public class TestSecondaryQueries extends BaseTestCase { } - String generatedSql = spiQuery.getGeneratedSql(); + String generatedSql = sqlOf(spiQuery, 2); //select t0.id c0, t0.status c1, t0.kcustomer_id c2 from o_order t0 where t0.status = ? ; --bind(NEW) - Assert.assertEquals("select t0.id c0, t0.status c1, t0.kcustomer_id c2 from o_order t0 where t0.status = ? ", generatedSql); + Assert.assertEquals("select t0.id, t0.status, t0.kcustomer_id from o_order t0 where t0.status = ? ", generatedSql); List> secondaryQueries = spiQuery.getLoggedSecondaryQueries(); diff --git a/src/test/java/com/avaje/tests/delete/TestDeleteByQuery.java b/src/test/java/com/avaje/tests/delete/TestDeleteByQuery.java index e199dfe0b..76e104a15 100644 --- a/src/test/java/com/avaje/tests/delete/TestDeleteByQuery.java +++ b/src/test/java/com/avaje/tests/delete/TestDeleteByQuery.java @@ -32,7 +32,7 @@ public class TestDeleteByQuery extends BaseTestCase { List loggedSql = LoggedSqlCollector.stop(); assertThat(loggedSql).hasSize(1); - assertThat(loggedSql.get(0)).contains("delete from contact where id in (select t0.id c0 from contact t0 left outer join"); + assertThat(trimSql(loggedSql.get(0), 1)).contains("delete from contact where id in (select t0.id from contact t0 left outer join"); Query query2 = server.find(Contact.class).where().eq("firstName", "NotARealFirstName").query(); diff --git a/src/test/java/com/avaje/tests/model/onetoone/TestOneToOneOptionalRelationship.java b/src/test/java/com/avaje/tests/model/onetoone/TestOneToOneOptionalRelationship.java index 85a8b9653..d87f1d1b1 100644 --- a/src/test/java/com/avaje/tests/model/onetoone/TestOneToOneOptionalRelationship.java +++ b/src/test/java/com/avaje/tests/model/onetoone/TestOneToOneOptionalRelationship.java @@ -29,8 +29,8 @@ public class TestOneToOneOptionalRelationship extends BaseTestCase { // join oto_user t1 on t1.account_id = t0.id // where t0.id = ? - String sql = loggedSql.get(0); - Assert.assertTrue(sql.contains("select t0.id c0, t0.name c1")); + String sql = trimSql(loggedSql.get(0), 1); + Assert.assertTrue(sql.contains("select t0.id, t0.name")); Assert.assertTrue(sql.contains(" from oto_account t0 left outer join oto_user t1 on t1.account_id = t0.id where t0.id = ?")); } @@ -64,12 +64,12 @@ public class TestOneToOneOptionalRelationship extends BaseTestCase { // join oto_user t1 on t1.account_id = t0.id // where t0.id = ? - String sql = loggedSql.get(0); - Assert.assertTrue(sql.contains("select t0.id c0, t0.name c1")); + String sql = trimSql(loggedSql.get(0), 1); + Assert.assertTrue(sql.contains("select t0.id, t0.name")); Assert.assertTrue(sql.contains(" from oto_account t0 left outer join oto_user t1 on t1.account_id = t0.id where t0.id = ?")); - String lazyLoadSql = loggedSql.get(1); - Assert.assertTrue(lazyLoadSql.contains("select t0.id c0, t0.name c1, t0.version c2, t0.when_created c3, t0.when_modified c4, t0.account_id c5 from oto_user t0 where t0.id = ?")); + String lazyLoadSql = trimSql(loggedSql.get(1), 5); + Assert.assertTrue(lazyLoadSql.contains("select t0.id, t0.name, t0.version, t0.when_created, t0.when_modified, t0.account_id from oto_user t0 where t0.id = ?")); } @@ -102,8 +102,8 @@ public class TestOneToOneOptionalRelationship extends BaseTestCase { // join oto_user t1 on t1.account_id = t0.id // where t0.id = ? - String sql = loggedSql.get(0); - Assert.assertTrue(sql.contains("select t0.id c0, t0.name c1")); + String sql = trimSql(loggedSql.get(0), 1); + Assert.assertTrue(sql.contains("select t0.id, t0.name")); Assert.assertTrue(sql.contains(" from oto_account t0 left outer join oto_user t1 on t1.account_id = t0.id where t0.id = ?")); } } diff --git a/src/test/java/com/avaje/tests/model/onetoone/album/TestOneToOneHardDelete.java b/src/test/java/com/avaje/tests/model/onetoone/album/TestOneToOneHardDelete.java index 5bd575d93..4a3d94188 100644 --- a/src/test/java/com/avaje/tests/model/onetoone/album/TestOneToOneHardDelete.java +++ b/src/test/java/com/avaje/tests/model/onetoone/album/TestOneToOneHardDelete.java @@ -1,6 +1,7 @@ package com.avaje.tests.model.onetoone.album; +import com.avaje.ebean.BaseTestCase; import org.avaje.ebeantest.LoggedSqlCollector; import org.junit.Test; @@ -8,7 +9,7 @@ import java.util.List; import static org.assertj.core.api.Assertions.assertThat; -public class TestOneToOneHardDelete { +public class TestOneToOneHardDelete extends BaseTestCase { @Test public void test() { @@ -34,7 +35,7 @@ public class TestOneToOneHardDelete { List sql = LoggedSqlCollector.stop(); assertThat(sql).hasSize(3); // assert we loaded the missing/unloaded foreign key - assertThat(sql.get(0)).contains("select t0.id c0, t0.cover_id c1 from album t0 where t0.id = ?"); + assertThat(trimSql(sql.get(0), 1)).contains("select t0.id, t0.cover_id from album t0 where t0.id = ?"); // assert soft delete cascaded assertThat(sql.get(1)).contains("update album set deleted=?, last_update=? where id=?"); assertThat(sql.get(2)).contains("update cover set deleted=? where id=?"); @@ -51,7 +52,7 @@ public class TestOneToOneHardDelete { sql = LoggedSqlCollector.stop(); assertThat(sql).hasSize(3); // assert we loaded the missing/unloaded foreign key - assertThat(sql.get(0)).contains("select t0.id c0, t0.cover_id c1 from album t0 where t0.id = ?"); + assertThat(trimSql(sql.get(0), 1)).contains("select t0.id, t0.cover_id from album t0 where t0.id = ?"); // assert hard delete cascaded assertThat(sql.get(1)).contains("delete from album where"); assertThat(sql.get(2)).contains("delete from cover where"); diff --git a/src/test/java/com/avaje/tests/model/pview/TestPview.java b/src/test/java/com/avaje/tests/model/pview/TestPview.java index 6ca6ca1b9..caf3d330a 100644 --- a/src/test/java/com/avaje/tests/model/pview/TestPview.java +++ b/src/test/java/com/avaje/tests/model/pview/TestPview.java @@ -20,9 +20,9 @@ public class TestPview extends BaseTestCase { query.where().eq("pview.wviews", wview); query.orderBy("pview.value"); query.findList(); - String generatedSql = query.getGeneratedSql(); + String generatedSql = sqlOf(query, 1); - Assert.assertTrue(generatedSql.contains("select distinct t0.amount c0, t1.value from paggview t0 join pp u1 on u1.id = t0.pview_id join pp_to_ww u2z_ on u2z_.pp_id = u1.id join wview u2 on u2.id = u2z_.ww_id left outer join pp t1 on t1.id = t0.pview_id where u2.id = ? order by t1.value")); + Assert.assertTrue(generatedSql.contains("select distinct t0.amount, t1.value from paggview t0 join pp u1 on u1.id = t0.pview_id join pp_to_ww u2z_ on u2z_.pp_id = u1.id join wview u2 on u2.id = u2z_.ww_id left outer join pp t1 on t1.id = t0.pview_id where u2.id = ? order by t1.value")); } diff --git a/src/test/java/com/avaje/tests/model/selfref/ResourceFile.java b/src/test/java/com/avaje/tests/model/selfref/ResourceFile.java index 9fd8e5039..d244b5d0e 100644 --- a/src/test/java/com/avaje/tests/model/selfref/ResourceFile.java +++ b/src/test/java/com/avaje/tests/model/selfref/ResourceFile.java @@ -15,7 +15,7 @@ import javax.persistence.Table; import com.avaje.ebean.annotation.PrivateOwned; @Entity -@Table(name = "ResourceFile") +@Table(name = "resourcefile") public class ResourceFile extends BaseResourceFile { private static final long serialVersionUID = 1L; diff --git a/src/test/java/com/avaje/tests/model/view/TestViewBaseEntity.java b/src/test/java/com/avaje/tests/model/view/TestViewBaseEntity.java index 2387b9421..115537fa9 100644 --- a/src/test/java/com/avaje/tests/model/view/TestViewBaseEntity.java +++ b/src/test/java/com/avaje/tests/model/view/TestViewBaseEntity.java @@ -1,5 +1,6 @@ package com.avaje.tests.model.view; +import com.avaje.ebean.BaseTestCase; import com.avaje.ebean.Ebean; import com.avaje.ebean.Query; import com.avaje.tests.model.basic.Order; @@ -11,7 +12,7 @@ import java.util.List; import static org.assertj.core.api.Assertions.assertThat; -public class TestViewBaseEntity { +public class TestViewBaseEntity extends BaseTestCase { @Test public void fetch() { @@ -24,7 +25,7 @@ public class TestViewBaseEntity { List list = query.findList(); - assertThat(query.getGeneratedSql()).contains("select t0.order_id c0, t0.order_total c1, t0.ship_total c2, t0.order_id c3 from order_agg_vw t0 where t0.order_total > ? "); + assertThat(sqlOf(query, 3)).contains("select t0.order_id, t0.order_total, t0.ship_total, t0.order_id from order_agg_vw t0 where t0.order_total > ? "); assertThat(list).isNotEmpty(); } diff --git a/src/test/java/com/avaje/tests/query/TestDefaultFetchLazy.java b/src/test/java/com/avaje/tests/query/TestDefaultFetchLazy.java index 82c7bf4fe..61bf4c6ba 100644 --- a/src/test/java/com/avaje/tests/query/TestDefaultFetchLazy.java +++ b/src/test/java/com/avaje/tests/query/TestDefaultFetchLazy.java @@ -45,8 +45,8 @@ public class TestDefaultFetchLazy extends BaseTestCase { queryMany.findList(); String generatedSql = queryMany.getGeneratedSql(); - Assert.assertTrue(generatedSql.contains("t1.other ")); - Assert.assertFalse(generatedSql.contains("t1.something ")); + Assert.assertTrue(generatedSql.contains("t1.other")); + Assert.assertFalse(generatedSql.contains("t1.something")); } } diff --git a/src/test/java/com/avaje/tests/query/TestImplicitJoinOnParentRelationship.java b/src/test/java/com/avaje/tests/query/TestImplicitJoinOnParentRelationship.java index 07dcff8d0..118a4fec9 100644 --- a/src/test/java/com/avaje/tests/query/TestImplicitJoinOnParentRelationship.java +++ b/src/test/java/com/avaje/tests/query/TestImplicitJoinOnParentRelationship.java @@ -23,8 +23,8 @@ public class TestImplicitJoinOnParentRelationship extends BaseTestCase { query.findList(); - String expectedSql = "select distinct t0.id c0, t0.name c1 from o_customer t0 join o_order u1 on u1.kcustomer_id = t0.id join o_order_detail u2 on u2.order_id = u1.id join o_product u3 on u3.id = u2.product_id where u3.name = ? "; - Assert.assertEquals(expectedSql, query.getGeneratedSql()); + String expectedSql = "select distinct t0.id, t0.name from o_customer t0 join o_order u1 on u1.kcustomer_id = t0.id join o_order_detail u2 on u2.order_id = u1.id join o_product u3 on u3.id = u2.product_id where u3.name = ? "; + Assert.assertEquals(expectedSql, sqlOf(query, 1)); // select distinct t0.id c0, t0.name c1 // from o_customer t0 @@ -48,8 +48,8 @@ public class TestImplicitJoinOnParentRelationship extends BaseTestCase { query.findList(); - String expectedSql = "select distinct t0.id c0, t0.name c1 from o_customer t0 left outer join o_order u1 on u1.kcustomer_id = t0.id left outer join o_order_detail u2 on u2.order_id = u1.id left outer join o_product u3 on u3.id = u2.product_id where (u3.name = ? or t0.id = ? ) "; - Assert.assertEquals(expectedSql, query.getGeneratedSql()); + String expectedSql = "select distinct t0.id, t0.name from o_customer t0 left outer join o_order u1 on u1.kcustomer_id = t0.id left outer join o_order_detail u2 on u2.order_id = u1.id left outer join o_product u3 on u3.id = u2.product_id where (u3.name = ? or t0.id = ? ) "; + Assert.assertEquals(expectedSql, sqlOf(query, 1)); } @Test @@ -64,7 +64,7 @@ public class TestImplicitJoinOnParentRelationship extends BaseTestCase { query.findList(); - String expectedSql = "select distinct t0.id c0, t0.name c1 from o_customer t0 left outer join o_order u1 on u1.kcustomer_id = t0.id left outer join o_order_detail u2 on u2.order_id = u1.id left outer join o_product u3 on u3.id = u2.product_id where (u3.name = ? or t0.id = ? ) "; - Assert.assertEquals(expectedSql, query.getGeneratedSql()); + String expectedSql = "select distinct t0.id, t0.name from o_customer t0 left outer join o_order u1 on u1.kcustomer_id = t0.id left outer join o_order_detail u2 on u2.order_id = u1.id left outer join o_product u3 on u3.id = u2.product_id where (u3.name = ? or t0.id = ? ) "; + Assert.assertEquals(expectedSql, sqlOf(query, 1)); } } diff --git a/src/test/java/com/avaje/tests/query/TestManyWhereJoin.java b/src/test/java/com/avaje/tests/query/TestManyWhereJoin.java index 4854e5dce..1dbf0142d 100644 --- a/src/test/java/com/avaje/tests/query/TestManyWhereJoin.java +++ b/src/test/java/com/avaje/tests/query/TestManyWhereJoin.java @@ -27,7 +27,7 @@ public class TestManyWhereJoin extends BaseTestCase { .query(); query.findList(); - String sql = query.getGeneratedSql(); + String sql = sqlOf(query, 1); // select distinct t0.id c0, t0.status c1 // from o_customer t0 @@ -37,7 +37,7 @@ public class TestManyWhereJoin extends BaseTestCase { Assert.assertTrue(sql.contains("select distinct ")); Assert.assertTrue(sql.contains("join o_order ")); Assert.assertTrue(sql.contains(".status = ?")); - Assert.assertTrue(sql.contains("select distinct t0.id c0, t0.status c1 from o_customer t0 join o_order u1 on u1.kcustomer_id = t0.id where u1.status = ?")); + Assert.assertTrue(sql.contains("select distinct t0.id, t0.status from o_customer t0 join o_order u1 on u1.kcustomer_id = t0.id where u1.status = ?")); } @Test @@ -55,7 +55,7 @@ public class TestManyWhereJoin extends BaseTestCase { .query(); query.findList(); - String sql = query.getGeneratedSql(); + String sql = sqlOf(query, 3); // select distinct t0.id c0, t0.status c1, // t1.id c2, t1.status c3, t1.order_date c4, t1.ship_date c5, t2.name c6, t1.cretime c7, t1.updtime c8, t1.kcustomer_id c9, t0.id @@ -66,7 +66,7 @@ public class TestManyWhereJoin extends BaseTestCase { // where t1.order_date is not null and u1.status = ? // order by t0.id; --bind(NEW) - Assert.assertTrue(sql.contains("select distinct t0.id c0, t0.status c1, t1.id c2, t1.status c3,")); + Assert.assertTrue(sql.contains("select distinct t0.id, t0.status, t1.id, t1.status,")); Assert.assertTrue(sql.contains("left outer join o_order t1 on ")); Assert.assertTrue(sql.contains("join o_order u1 on ")); Assert.assertTrue(sql.contains(" u1.status = ?")); @@ -84,7 +84,7 @@ public class TestManyWhereJoin extends BaseTestCase { .orderBy("cretime asc"); query.findList(); - String sql = query.getGeneratedSql(); + String sql = sqlOf(query, 3); // select distinct t0.id c0, t0.status c1, t0.order_date c2, t0.ship_date c3, t1.name c4, t0.cretime c5, t0.updtime c6, t0.kcustomer_id c7, t0.cretime // from o_order t0 @@ -93,7 +93,7 @@ public class TestManyWhereJoin extends BaseTestCase { // where u1.product_id = ? // order by t0.cretime; --bind(1) - Assert.assertTrue(sql.contains("select distinct t0.id c0, t0.status c1,")); + Assert.assertTrue(sql.contains("select distinct t0.id, t0.status,")); Assert.assertTrue(sql.contains(" join o_order_detail u1 on u1.order_id = t0.id")); Assert.assertTrue(sql.contains(" where u1.product_id = ?")); } @@ -114,7 +114,7 @@ public class TestManyWhereJoin extends BaseTestCase { .orderBy("cretime asc"); query.findList(); - String sql = query.getGeneratedSql(); + String sql = sqlOf(query, 3); // select distinct t0.id c0, t0.status c1, t0.order_date c2, t0.ship_date c3, t1.name c4, t0.cretime c5, t0.updtime c6, t0.kcustomer_id c7, t0.cretime // from o_order t0 @@ -123,7 +123,7 @@ public class TestManyWhereJoin extends BaseTestCase { // where u1.product_id = ? // order by t0.cretime - Assert.assertTrue(sql.contains("select distinct t0.id c0, t0.status c1,")); + Assert.assertTrue(sql.contains("select distinct t0.id, t0.status,")); Assert.assertTrue(sql.contains(" join o_order_detail u1 on u1.order_id = t0.id")); Assert.assertTrue(sql.contains(" where u1.product_id = ?")); } @@ -144,7 +144,7 @@ public class TestManyWhereJoin extends BaseTestCase { .orderBy("cretime asc"); query.findList(); - String sql = query.getGeneratedSql(); + String sql = sqlOf(query, 3); // select distinct t0.id c0, t0.status c1, t0.order_date c2, t0.ship_date c3, t2.name c4, t0.cretime c5, t0.updtime c6, t0.kcustomer_id c7, // t1.id c8, t1.order_qty c9, t1.ship_qty c10, t1.unit_price c11, t1.cretime c12, t1.updtime c13, t1.order_id c14, t1.product_id c15, t0.cretime, t0.id, t1.id, t1.order_qty, t1.cretime @@ -155,7 +155,7 @@ public class TestManyWhereJoin extends BaseTestCase { // where t1.id > 0 and u1.product_id = ? // order by t0.cretime, t0.id, t1.id asc, t1.order_qty asc, t1.cretime desc; --bind(1) - Assert.assertTrue(sql.contains("select distinct t0.id c0, t0.status c1,")); + Assert.assertTrue(sql.contains("select distinct t0.id, t0.status,")); Assert.assertTrue(sql.contains(" join o_order_detail u1 on u1.order_id = t0.id")); Assert.assertTrue(sql.contains(" u1.product_id = ?")); diff --git a/src/test/java/com/avaje/tests/query/TestManyWhereJoinM2M.java b/src/test/java/com/avaje/tests/query/TestManyWhereJoinM2M.java index 5b9f90a2d..75c294f77 100644 --- a/src/test/java/com/avaje/tests/query/TestManyWhereJoinM2M.java +++ b/src/test/java/com/avaje/tests/query/TestManyWhereJoinM2M.java @@ -77,7 +77,7 @@ public class TestManyWhereJoinM2M extends BaseTestCase { List usersWithNoRoles = query.findList(); - assertThat(query.getGeneratedSql()).contains("select t0.userid c0, t0.user_name c1, t0.user_type_id c2 from muser t0 where not exists (select 1 from mrole_muser where muser_userid = t0.userid)"); + assertThat(sqlOf(query, 2)).contains("select t0.userid, t0.user_name, t0.user_type_id from muser t0 where not exists (select 1 from mrole_muser where muser_userid = t0.userid)"); assertThat(usersWithNoRoles).isNotEmpty(); } @@ -90,7 +90,7 @@ public class TestManyWhereJoinM2M extends BaseTestCase { List usersWithRoles = query.findList(); - assertThat(query.getGeneratedSql()).contains("select t0.userid c0, t0.user_name c1 from muser t0 where exists (select 1 from mrole_muser where muser_userid = t0.userid)"); + assertThat(sqlOf(query, 1)).contains("select t0.userid, t0.user_name from muser t0 where exists (select 1 from mrole_muser where muser_userid = t0.userid)"); assertThat(usersWithRoles).isNotEmpty(); } } diff --git a/src/test/java/com/avaje/tests/query/TestQueryFindIterate.java b/src/test/java/com/avaje/tests/query/TestQueryFindIterate.java index 58b315e4c..2c50253a6 100644 --- a/src/test/java/com/avaje/tests/query/TestQueryFindIterate.java +++ b/src/test/java/com/avaje/tests/query/TestQueryFindIterate.java @@ -153,9 +153,9 @@ public class TestQueryFindIterate extends BaseTestCase { List loggedSql = LoggedSqlCollector.stop(); assertEquals(3, loggedSql.size()); - assertTrue(loggedSql.get(0).contains("select t0.id c0, t0.status c1, t0.order_date c2, t1.id c3, t1.name c4 from o_order t0 join o_customer t1")); - assertTrue(loggedSql.get(1).contains("select t0.order_id c0, t0.id c1, t0.order_qty c2, t0.ship_qty c3, t0.unit_price c4")); - assertTrue(loggedSql.get(2).contains("select t0.order_id c0, t0.id c1, t0.ship_time c2, t0.cretime c3, t0.updtime c4, t0.version c5, t0.order_id c6 from or_order_ship")); + assertTrue(trimSql(loggedSql.get(0), 7).contains("select t0.id, t0.status, t0.order_date, t1.id, t1.name from o_order t0 join o_customer t1")); + assertTrue(trimSql(loggedSql.get(1), 7).contains("select t0.order_id, t0.id, t0.order_qty, t0.ship_qty, t0.unit_price")); + assertTrue(trimSql(loggedSql.get(2), 7).contains("select t0.order_id, t0.id, t0.ship_time, t0.cretime, t0.updtime, t0.version, t0.order_id from or_order_ship")); } @Test @@ -193,8 +193,8 @@ public class TestQueryFindIterate extends BaseTestCase { List loggedSql = LoggedSqlCollector.stop(); assertEquals("Got SQL: "+loggedSql, 2, loggedSql.size()); - assertThat(loggedSql.get(0)).contains("select t0.id c0, t0.status c1, t0.order_date c2, t1.id c3, t1.name c4, t2.id c5, t2.order_qty c6, t2.ship_qty"); - assertThat(loggedSql.get(1)).contains("select t0.order_id c0, t0.id c1, t0.ship_time c2, t0.cretime c3, t0.updtime c4, t0.version c5, t0.order_id c6 from or_order_ship"); + assertThat(trimSql(loggedSql.get(0), 7).contains("select t0.id, t0.status, t0.order_date, t1.id, t1.name, t2.id, t2.order_qty, t2.ship_qty")); + assertThat(trimSql(loggedSql.get(1), 7).contains("select t0.order_id, t0.id, t0.ship_time, t0.cretime, t0.updtime, t0.version, t0.order_id from or_order_ship")); } @Test(expected=PersistenceException.class) diff --git a/src/test/java/com/avaje/tests/query/TestQueryFindPagedList.java b/src/test/java/com/avaje/tests/query/TestQueryFindPagedList.java index 0543710f3..eb98592a4 100644 --- a/src/test/java/com/avaje/tests/query/TestQueryFindPagedList.java +++ b/src/test/java/com/avaje/tests/query/TestQueryFindPagedList.java @@ -249,6 +249,6 @@ public class TestQueryFindPagedList extends BaseTestCase { assertEquals(2, loggedSql.size()); assertThat(loggedSql.get(0)).contains("select count(*) from o_order b where b.id > 0"); - assertThat(loggedSql.get(1)).contains("select b.id c0, b.status c1, b.order_date c2"); + assertThat(trimSql(loggedSql.get(1), 3)).contains("select b.id, b.status, b.order_date"); } } diff --git a/src/test/java/com/avaje/tests/query/joins/TestDisjunctWhereOuterOnMany.java b/src/test/java/com/avaje/tests/query/joins/TestDisjunctWhereOuterOnMany.java index 3b9f2dab4..ed0eb49c8 100644 --- a/src/test/java/com/avaje/tests/query/joins/TestDisjunctWhereOuterOnMany.java +++ b/src/test/java/com/avaje/tests/query/joins/TestDisjunctWhereOuterOnMany.java @@ -56,8 +56,8 @@ public class TestDisjunctWhereOuterOnMany extends BaseTestCase { Assert.assertEquals(2, list.size()); Assert.assertEquals(2, rowCount); - String expectedSql = "select distinct t0.id c0, t0.name c1 from uuone t0 left outer join uutwo u1 on u1.master_id = t0.id where (t0.name = ? or u1.name = ? ) "; - Assert.assertEquals(expectedSql, query.getGeneratedSql()); + String expectedSql = "select distinct t0.id, t0.name from uuone t0 left outer join uutwo u1 on u1.master_id = t0.id where (t0.name = ? or u1.name = ? ) "; + Assert.assertEquals(expectedSql, sqlOf(query, 1)); } diff --git a/src/test/java/com/avaje/tests/query/orderby/TestOrderByWithDistinct.java b/src/test/java/com/avaje/tests/query/orderby/TestOrderByWithDistinct.java index 1a69c2eff..896b4c26c 100644 --- a/src/test/java/com/avaje/tests/query/orderby/TestOrderByWithDistinct.java +++ b/src/test/java/com/avaje/tests/query/orderby/TestOrderByWithDistinct.java @@ -87,7 +87,7 @@ public class TestOrderByWithDistinct extends BaseTestCase { String generatedSql = query.getGeneratedSql(); Assert.assertTrue(generatedSql.contains("select distinct t0.userid")); // using distinct Assert.assertTrue(generatedSql.contains("order by t1.name,")); // name in order by - Assert.assertTrue(generatedSql.contains("t1.name c"));// name in select + Assert.assertTrue(generatedSql.contains("t1.name"));// name in select @@ -118,7 +118,7 @@ public class TestOrderByWithDistinct extends BaseTestCase { generatedSql = query.getGeneratedSql(); Assert.assertTrue(generatedSql.contains("select distinct t0.userid")); // using distinct Assert.assertTrue(generatedSql.contains("order by t1.name")); // name in order by - Assert.assertTrue(generatedSql.contains("t1.name c"));// name in select + Assert.assertTrue(generatedSql.contains("t1.name"));// name in select } diff --git a/src/test/java/com/avaje/tests/query/orderby/TestOrderByWithDistinctTake2.java b/src/test/java/com/avaje/tests/query/orderby/TestOrderByWithDistinctTake2.java index 94fc644bd..c697f9468 100644 --- a/src/test/java/com/avaje/tests/query/orderby/TestOrderByWithDistinctTake2.java +++ b/src/test/java/com/avaje/tests/query/orderby/TestOrderByWithDistinctTake2.java @@ -30,14 +30,14 @@ public class TestOrderByWithDistinctTake2 extends BaseTestCase { query.findList(); - String generatedSql = query.getGeneratedSql(); + String generatedSql = sqlOf(query); // select distinct t0.id c0, t0.name // from o_customer t0 join contact u1 on u1.customer_id = t0.id // where lower(u1.first_name) like ? // order by t0.name; --bind(r%) - - Assert.assertTrue("t0.name added to the select clause", generatedSql.contains("select distinct t0.id c0, t0.name")); + + Assert.assertTrue("t0.name added to the select clause", generatedSql.contains("select distinct t0.id, t0.name")); Assert.assertTrue(generatedSql.contains("order by t0.name desc")); Assert.assertTrue(generatedSql.contains("from o_customer t0 join contact u1 on u1.customer_id = t0.id")); Assert.assertTrue(generatedSql.contains("where lower(u1.first_name) like ?")); @@ -53,9 +53,9 @@ public class TestOrderByWithDistinctTake2 extends BaseTestCase { query.findList(); - String generatedSql = query.getGeneratedSql(); - - Assert.assertTrue("t0.name added to the select clause", generatedSql.contains("select distinct t0.id c0, t0.name, t0.id")); + String generatedSql = sqlOf(query); + + Assert.assertTrue("t0.name added to the select clause", generatedSql.contains("select distinct t0.id, t0.name, t0.id")); Assert.assertTrue(generatedSql.contains("order by t0.name, t0.id desc")); Assert.assertTrue(generatedSql.contains("from o_customer t0 join contact u1 on u1.customer_id = t0.id")); Assert.assertTrue(generatedSql.contains("where lower(u1.first_name) like ?")); diff --git a/src/test/java/com/avaje/tests/query/orderby/TestOrderByWithMany.java b/src/test/java/com/avaje/tests/query/orderby/TestOrderByWithMany.java index ae2e2bc3f..4f8ebff01 100644 --- a/src/test/java/com/avaje/tests/query/orderby/TestOrderByWithMany.java +++ b/src/test/java/com/avaje/tests/query/orderby/TestOrderByWithMany.java @@ -52,7 +52,7 @@ public class TestOrderByWithMany extends BaseTestCase { String lazyLoadSql = loggedSql.get(1); // contains the foreign key back to the parent bean (t0.order_id) - Assert.assertTrue(lazyLoadSql, lazyLoadSql.contains("select t0.order_id c0, t0.id")); + Assert.assertTrue(lazyLoadSql, trimSql(lazyLoadSql, 2).contains("select t0.order_id, t0.id")); Assert.assertTrue(lazyLoadSql.contains("order by t0.order_id, t0.id, t0.order_qty, t0.cretime desc")); } diff --git a/src/test/java/com/avaje/tests/query/other/TestQueryConversationRowCount.java b/src/test/java/com/avaje/tests/query/other/TestQueryConversationRowCount.java index 01d64fc36..a453905b3 100644 --- a/src/test/java/com/avaje/tests/query/other/TestQueryConversationRowCount.java +++ b/src/test/java/com/avaje/tests/query/other/TestQueryConversationRowCount.java @@ -33,7 +33,7 @@ public class TestQueryConversationRowCount extends BaseTestCase { .orderBy("whenCreated desc"); query.findList(); - String generatedSql = query.getGeneratedSql(); + String generatedSql = sqlOf(query, 1); // select distinct t0.id c0, t0.title c1, t0.open c2, t0.version c3, t0.when_created c4, t0.when_updated c5, t0.group_id c6, t0.when_created // from c_conversation t0 @@ -41,7 +41,7 @@ public class TestQueryConversationRowCount extends BaseTestCase { // where t0.group_id = ? and ((t0.open = ? and u1.user_id = ? ) or t0.open = ? ) // order by t0.when_created desc; - Assert.assertTrue(generatedSql.contains("select distinct t0.id c0, t0.title c1, t0.isopen")); + Assert.assertTrue(generatedSql.contains("select distinct t0.id, t0.title, t0.isopen")); Assert.assertTrue(generatedSql.contains("left outer join c_participation u1 on u1.conversation_id = t0.id")); Assert.assertTrue(generatedSql.contains("where t0.group_id = ? and ((t0.isopen = ? and u1.user_id = ? ) or t0.isopen = ? )")); @@ -59,9 +59,8 @@ public class TestQueryConversationRowCount extends BaseTestCase { List loggedSql = LoggedSqlCollector.stop(); Assert.assertEquals(1, loggedSql.size()); - String countSql = loggedSql.get(0); - - Assert.assertTrue(countSql.contains("select count(*) from ( select distinct t0.id c0 from c_conversation t0 left outer join c_participation u1 on u1.conversation_id = t0.id where t0.group_id = ? and ((t0.isopen = ? and u1.user_id = ? ) or t0.isopen = ? )")); + String countSql = trimSql(loggedSql.get(0), 0); + Assert.assertTrue(countSql.contains("select count(*) from ( select distinct t0.id from c_conversation t0 left outer join c_participation u1 on u1.conversation_id = t0.id where t0.group_id = ? and ((t0.isopen = ? and u1.user_id = ? ) or t0.isopen = ? )")); } } diff --git a/src/test/java/com/avaje/tests/query/other/TestQueryDistinct.java b/src/test/java/com/avaje/tests/query/other/TestQueryDistinct.java index 751bbc73c..1e02c5a28 100644 --- a/src/test/java/com/avaje/tests/query/other/TestQueryDistinct.java +++ b/src/test/java/com/avaje/tests/query/other/TestQueryDistinct.java @@ -29,8 +29,8 @@ public class TestQueryDistinct extends BaseTestCase { List customers = query.findList(); - String generatedSql = query.getGeneratedSql(); - assertThat(generatedSql).contains("select distinct t0.name c0 from o_customer t0"); + String generatedSql = sqlOf(query); + assertThat(generatedSql).contains("select distinct t0.name from o_customer t0"); for (Customer customer : customers) { @@ -55,8 +55,8 @@ public class TestQueryDistinct extends BaseTestCase { query.findList(); - String generatedSql = query.getGeneratedSql(); - assertThat(generatedSql).contains("select distinct t0.name c0 from o_customer t0"); + String generatedSql = sqlOf(query); + assertThat(generatedSql).contains("select distinct t0.name from o_customer t0"); } @Test @@ -71,8 +71,8 @@ public class TestQueryDistinct extends BaseTestCase { List customers = query.findList(); - String generatedSql = query.getGeneratedSql(); - assertThat(generatedSql).contains("select distinct t0.status c0 from o_customer t0"); + String generatedSql = sqlOf(query); + assertThat(generatedSql).contains("select distinct t0.status from o_customer t0"); for (Customer customer : customers) { @@ -97,8 +97,8 @@ public class TestQueryDistinct extends BaseTestCase { query.findList(); if (isH2() || isPostgres()) { - String generatedSql = query.getGeneratedSql(); - assertThat(generatedSql).contains("select distinct t0.name c0 from o_customer t0 limit 10"); + String generatedSql = sqlOf(query); + assertThat(generatedSql).contains("select distinct t0.name from o_customer t0 limit 10"); } } diff --git a/src/test/java/com/avaje/tests/query/other/TestQueryRawExpressionMany.java b/src/test/java/com/avaje/tests/query/other/TestQueryRawExpressionMany.java index f21ea9212..4a406f59f 100644 --- a/src/test/java/com/avaje/tests/query/other/TestQueryRawExpressionMany.java +++ b/src/test/java/com/avaje/tests/query/other/TestQueryRawExpressionMany.java @@ -30,6 +30,6 @@ public class TestQueryRawExpressionMany extends BaseTestCase { query.findCount(); List sql = LoggedSqlCollector.stop(); - assertThat(sql.get(0)).contains("select count(*) from ( select distinct t0.id c0 from o_order t0 left outer join o_order_detail t1 on t1.order_id = t0.id where t1.order_qty = ?)"); + assertThat(trimSql(sql.get(0), 1)).contains("select count(*) from ( select distinct t0.id from o_order t0 left outer join o_order_detail t1 on t1.order_id = t0.id where t1.order_qty = ?)"); } } diff --git a/src/test/java/com/avaje/tests/query/other/TestQueryRowCountWithMany.java b/src/test/java/com/avaje/tests/query/other/TestQueryRowCountWithMany.java index bf472df71..0823c86b2 100644 --- a/src/test/java/com/avaje/tests/query/other/TestQueryRowCountWithMany.java +++ b/src/test/java/com/avaje/tests/query/other/TestQueryRowCountWithMany.java @@ -39,8 +39,8 @@ public class TestQueryRowCountWithMany extends BaseTestCase { // where t1.id > 0 and u1.product_id = ? // order by t0.cretime, t0.id, t1.id asc, t1.order_qty asc, t1.cretime desc; --bind(1) - String generatedSql = query.getGeneratedSql(); - Assert.assertTrue(generatedSql.contains("select distinct t0.id c0, t0.status c1,")); // need the distinct + String generatedSql = sqlOf(query, 1); + Assert.assertTrue(generatedSql.contains("select distinct t0.id, t0.status,")); // need the distinct Assert.assertTrue(generatedSql.contains("left outer join o_order_detail t1 on t1.order_id = t0.id")); //fetch join Assert.assertTrue(generatedSql.contains("join o_order_detail u1 on u1.order_id = t0.id")); //predicate join Assert.assertTrue(generatedSql.contains(" u1.product_id = ?")); // u1 as predicate alias @@ -62,8 +62,8 @@ public class TestQueryRowCountWithMany extends BaseTestCase { Assert.assertEquals(list.size(), rowCount); Assert.assertEquals(2, sqlLogged.size()); - Assert.assertTrue(sqlLogged.get(1).contains( - "select count(*) from ( select distinct t0.id c0 from o_order t0 join o_order_detail u1 on u1.order_id = t0.id where u1.product_id = ? )")); + Assert.assertTrue(trimSql(sqlLogged.get(1), 1).contains( + "select count(*) from ( select distinct t0.id from o_order t0 join o_order_detail u1 on u1.order_id = t0.id where u1.product_id = ? )")); } @@ -89,7 +89,7 @@ public class TestQueryRowCountWithMany extends BaseTestCase { List sqlLogged = LoggedSqlCollector.stop(); Assert.assertEquals(1, sqlLogged.size()); - Assert.assertTrue(sqlLogged.get(0).contains("select count(*) from ( select distinct t0.id c0 from o_order t0 join o_order_detail u1 on u1.order_id = t0.id where u1.product_id = ? )")); + Assert.assertTrue(trimSql(sqlLogged.get(0), 1).contains("select count(*) from ( select distinct t0.id from o_order t0 join o_order_detail u1 on u1.order_id = t0.id where u1.product_id = ? )")); } } diff --git a/src/test/java/com/avaje/tests/query/other/TestQuerySingleAttribute.java b/src/test/java/com/avaje/tests/query/other/TestQuerySingleAttribute.java index 7fddbceb3..7e12facc6 100644 --- a/src/test/java/com/avaje/tests/query/other/TestQuerySingleAttribute.java +++ b/src/test/java/com/avaje/tests/query/other/TestQuerySingleAttribute.java @@ -60,7 +60,7 @@ public class TestQuerySingleAttribute extends BaseTestCase { .setMaxRows(100); query.findSingleAttributeList(); - assertThat(query.getGeneratedSql()).contains("select distinct t0.name c0 from o_customer t0 where t0.status = ? order by t0.name "); + assertThat(sqlOf(query)).contains("select distinct t0.name from o_customer t0 where t0.status = ? order by t0.name "); } @Test @@ -72,7 +72,7 @@ public class TestQuerySingleAttribute extends BaseTestCase { List names = query.findSingleAttributeList();//String.class); - assertThat(query.getGeneratedSql()).contains("select t0.name c0 from o_customer t0"); + assertThat(sqlOf(query)).contains("select t0.name from o_customer t0"); assertThat(names).isNotNull(); } @@ -89,7 +89,7 @@ public class TestQuerySingleAttribute extends BaseTestCase { List names = query.findSingleAttributeList(); - assertThat(query.getGeneratedSql()).contains("select distinct t0.name c0 from o_customer t0 where t0.status = ? "); + assertThat(sqlOf(query)).contains("select distinct t0.name from o_customer t0 where t0.status = ? "); assertThat(names).isNotNull(); } @@ -107,7 +107,7 @@ public class TestQuerySingleAttribute extends BaseTestCase { List names = query.findSingleAttributeList(); - assertThat(query.getGeneratedSql()).contains("select distinct t0.name c0 from o_customer t0 left outer join o_address t1 on t1.id = t0.billing_address_id where t0.status = ? and lower(t1.city) like ?"); + assertThat(sqlOf(query)).contains("select distinct t0.name from o_customer t0 left outer join o_address t1 on t1.id = t0.billing_address_id where t0.status = ? and lower(t1.city) like ?"); assertThat(names).isNotNull(); } @@ -119,10 +119,10 @@ public class TestQuerySingleAttribute extends BaseTestCase { Query query = Ebean.find(Customer.class).select("name"); query.findSingleAttributeList(); - assertThat(query.getGeneratedSql()).contains("select t0.name c0 from o_customer t0"); + assertThat(sqlOf(query)).contains("select t0.name from o_customer t0"); Query query2 = Ebean.find(Customer.class).select("name"); query2.findList(); - assertThat(query2.getGeneratedSql()).contains("select t0.id c0, t0.name c1 from o_customer t0"); + assertThat(sqlOf(query2, 1)).contains("select t0.id, t0.name from o_customer t0"); } }