From 6880b5673a96efc82cc6832d84d48211ea5a64c8 Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Wed, 26 Feb 2025 22:24:05 +1300 Subject: [PATCH 1/4] #3511 bump ebean-test-containers dependency ebean-test-containers version 7.6 supports extraDb for MySql and MariaDb, resolving #3511 with extraDb configuration for each extra schema/database required with MySql or MariaDb. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a23289ffef..1529eef38a 100644 --- a/pom.xml +++ b/pom.xml @@ -51,7 +51,7 @@ 2.3 1.2 14.2.0 - 7.5 + 7.6 9.0 14.9.0 14.9.0 From 00d7db31d6f496061bc6371a60bd98873f5ea4df Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Wed, 26 Feb 2025 23:07:53 +1300 Subject: [PATCH 2/4] test only - update TestQueryFindIterate which is flaky --- .../src/test/java/org/tests/query/TestQueryFindIterate.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ebean-test/src/test/java/org/tests/query/TestQueryFindIterate.java b/ebean-test/src/test/java/org/tests/query/TestQueryFindIterate.java index 817f783aaf..3e0f8b3052 100644 --- a/ebean-test/src/test/java/org/tests/query/TestQueryFindIterate.java +++ b/ebean-test/src/test/java/org/tests/query/TestQueryFindIterate.java @@ -138,9 +138,9 @@ public void testWithLazyBatchSize() { List loggedSql = LoggedSql.stop(); assertEquals(3, loggedSql.size()); - 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")); + assertThat(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"); + assertThat(trimSql(loggedSql.get(1), 7)).contains("select t0.order_id, t0.id, t0.order_qty, t0.ship_qty, t0.unit_price"); + assertThat(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 From d04181865cb5f633284437e318a06b02bb27184b Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Wed, 26 Feb 2025 23:10:55 +1300 Subject: [PATCH 3/4] test only - update TestOrderByWithMany which is flaky --- .../query/orderby/TestOrderByWithMany.java | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/ebean-test/src/test/java/org/tests/query/orderby/TestOrderByWithMany.java b/ebean-test/src/test/java/org/tests/query/orderby/TestOrderByWithMany.java index e910ed8a34..57268d21f2 100644 --- a/ebean-test/src/test/java/org/tests/query/orderby/TestOrderByWithMany.java +++ b/ebean-test/src/test/java/org/tests/query/orderby/TestOrderByWithMany.java @@ -49,12 +49,12 @@ private void checkWithLazyLoadingOnBuiltInMany() { // first one is the main query and others are lazy loading queries List loggedSql = LoggedSql.stop(); - assertTrue(loggedSql.size() > 1); + assertThat(loggedSql.size()).isGreaterThan(1); String lazyLoadSql = loggedSql.get(1); // contains the foreign key back to the parent bean (t0.order_id) - assertTrue(trimSql(lazyLoadSql, 2).contains("select t0.order_id, t0.id")); - assertTrue(lazyLoadSql.contains("order by t0.order_id, t0.id, t0.order_qty, t0.cretime desc")); + assertThat(trimSql(lazyLoadSql, 2)).contains("select t0.order_id, t0.id"); + assertThat(lazyLoadSql).contains("order by t0.order_id, t0.id, t0.order_qty, t0.cretime desc"); } @@ -77,8 +77,8 @@ private void checkWithBuiltInMany() { String sql = query.getGeneratedSql(); // t0.id inserted into the middle of the order by - assertTrue(sql.contains("order by t1.name desc, t0.id, t2.id asc")); - assertTrue(sql.contains("t2.id asc, t2.order_qty asc, t2.cretime desc")); + assertThat(sql).contains("order by t1.name desc, t0.id, t2.id asc"); + assertThat(sql).contains("t2.id asc, t2.order_qty asc, t2.cretime desc"); } private void checkAppendId() { @@ -90,7 +90,7 @@ private void checkAppendId() { String sql = query.getGeneratedSql(); // append the id to ensure ordering of root level objects - assertTrue(sql.contains("order by t1.name desc, t0.id")); + assertThat(sql).contains("order by t1.name desc, t0.id"); } private void checkNone() { @@ -103,8 +103,8 @@ private void checkNone() { // no need to append id to order by as there is no 'many' included in the // query - assertTrue(sql.contains("order by t1.name desc")); - assertTrue(!sql.contains("order by t1.name desc,")); + assertThat(sql).contains("order by t1.name desc"); + assertThat(sql).doesNotContain("order by t1.name desc,"); } private void checkBoth() { @@ -116,7 +116,7 @@ private void checkBoth() { String sql = query.getGeneratedSql(); // insert id into the middle of the order by - assertTrue(sql.contains("order by t1.name, t0.id, t2.ship_time desc")); + assertThat(sql).contains("order by t1.name, t0.id, t2.ship_time desc"); } private void checkPrepend() { @@ -128,7 +128,7 @@ private void checkPrepend() { String sql = query.getGeneratedSql(); // prepend id in order by - assertTrue(sql.contains("order by t0.id, t1.ship_time desc")); + assertThat(sql).contains("order by t0.id, t1.ship_time desc"); } private void checkAlreadyIncluded() { @@ -140,7 +140,7 @@ private void checkAlreadyIncluded() { String sql = query.getGeneratedSql(); // prepend id in order by - assertTrue(sql.contains("order by t0.id, t1.ship_time desc")); + assertThat(sql).contains("order by t0.id, t1.ship_time desc"); } private void checkAlreadyIncluded2() { From 3845861e24e0c388639f1180669da9538600ea38 Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Wed, 26 Feb 2025 23:15:51 +1300 Subject: [PATCH 4/4] test only - Fix tests due to automatic inline comment included in generated sql like: select /* TestQueryDefaultBatchSize.test_findEach_details__lazy */ t0.order_id, t0.id, select /* TestQueryDefaultBatchSize.test_findEach_details__lazy */ t0.order_id --- .../src/test/java/org/tests/query/TestQueryFindIterate.java | 6 +++--- .../java/org/tests/query/orderby/TestOrderByWithMany.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ebean-test/src/test/java/org/tests/query/TestQueryFindIterate.java b/ebean-test/src/test/java/org/tests/query/TestQueryFindIterate.java index 3e0f8b3052..ac564181c8 100644 --- a/ebean-test/src/test/java/org/tests/query/TestQueryFindIterate.java +++ b/ebean-test/src/test/java/org/tests/query/TestQueryFindIterate.java @@ -138,9 +138,9 @@ public void testWithLazyBatchSize() { List loggedSql = LoggedSql.stop(); assertEquals(3, loggedSql.size()); - assertThat(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"); - assertThat(trimSql(loggedSql.get(1), 7)).contains("select t0.order_id, t0.id, t0.order_qty, t0.ship_qty, t0.unit_price"); - assertThat(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"); + assertThat(trimSql(loggedSql.get(0), 7)).contains(" t0.id, t0.status, t0.order_date, t1.id, t1.name from o_order t0 join o_customer t1"); + assertThat(trimSql(loggedSql.get(1), 7)).contains(" t0.order_id, t0.id, t0.order_qty, t0.ship_qty, t0.unit_price"); + assertThat(trimSql(loggedSql.get(2), 7)).contains(" t0.order_id, t0.id, t0.ship_time, t0.cretime, t0.updtime, t0.version, t0.order_id from or_order_ship"); } @Test diff --git a/ebean-test/src/test/java/org/tests/query/orderby/TestOrderByWithMany.java b/ebean-test/src/test/java/org/tests/query/orderby/TestOrderByWithMany.java index 57268d21f2..cefb17fd28 100644 --- a/ebean-test/src/test/java/org/tests/query/orderby/TestOrderByWithMany.java +++ b/ebean-test/src/test/java/org/tests/query/orderby/TestOrderByWithMany.java @@ -53,7 +53,7 @@ private void checkWithLazyLoadingOnBuiltInMany() { String lazyLoadSql = loggedSql.get(1); // contains the foreign key back to the parent bean (t0.order_id) - assertThat(trimSql(lazyLoadSql, 2)).contains("select t0.order_id, t0.id"); + assertThat(trimSql(lazyLoadSql, 2)).contains(" t0.order_id, t0.id"); assertThat(lazyLoadSql).contains("order by t0.order_id, t0.id, t0.order_qty, t0.cretime desc"); }