From 70d65b734f945248799a11af88ab420dc2369732 Mon Sep 17 00:00:00 2001 From: Robin Bygrave Date: Tue, 22 Dec 2015 16:48:42 +1300 Subject: [PATCH] #504 - @Draft treated as transient such that it doesn't invoke lazy loading in 4.8.1 enhancement agent --- pom.xml | 4 +-- .../avaje/tests/draftable/DocLinkTest.java | 29 ++++++++++++++++++- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 7503964f4..07e63efcd 100644 --- a/pom.xml +++ b/pom.xml @@ -152,7 +152,7 @@ org.avaje.ebeanorm avaje-ebeanorm-agent - 4.7.1 + 4.8.1 test @@ -219,7 +219,7 @@ org.avaje.ebeanorm avaje-ebeanorm-mavenenhancer - 4.7.1 + 4.8.1 diff --git a/src/test/java/com/avaje/tests/draftable/DocLinkTest.java b/src/test/java/com/avaje/tests/draftable/DocLinkTest.java index 4e11ffbbc..5132091e3 100644 --- a/src/test/java/com/avaje/tests/draftable/DocLinkTest.java +++ b/src/test/java/com/avaje/tests/draftable/DocLinkTest.java @@ -1,11 +1,13 @@ package com.avaje.tests.draftable; +import com.avaje.ebean.BaseTestCase; import com.avaje.ebean.Ebean; import com.avaje.ebean.EbeanServer; import com.avaje.ebean.Query; import com.avaje.tests.model.draftable.Doc; import com.avaje.tests.model.draftable.Link; import org.assertj.core.api.StrictAssertions; +import org.avaje.ebeantest.LoggedSqlCollector; import org.junit.Test; import javax.persistence.PersistenceException; @@ -15,7 +17,32 @@ import java.util.List; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertTrue; -public class DocLinkTest { +public class DocLinkTest extends BaseTestCase { + + @Test + public void testLazyLoadOnDraftProperty() { + + Link link1 = new Link("something"); + link1.save(); + + Ebean.getDefaultServer().publish(Link.class, link1.getId()); + + Link link = Ebean.find(Link.class) + .setId(link1.getId()) + .select("name") + .findUnique(); + + assertThat(link).isNotNull(); + + LoggedSqlCollector.start(); + + // no lazy loading is invoked as draft property considered @Transient + assertThat(link.isDraft()).isFalse(); + + List loggedSql = LoggedSqlCollector.stop(); + assertThat(loggedSql).isEmpty(); + + } @Test public void testUpdate_whenNotPublished() {