Merge branch 'wip/getterCallback'

This commit is contained in:
Robin Bygrave
2016-08-02 21:34:41 +12:00
7 changed files with 130 additions and 22 deletions
@@ -10,6 +10,8 @@ import org.junit.Test;
import java.sql.Timestamp;
import static org.junit.Assert.assertNotNull;
public class TestBatchInsertFlush extends BaseTestCase {
@Test
@@ -26,12 +28,8 @@ public class TestBatchInsertFlush extends BaseTestCase {
EBasicVer b2 = new EBasicVer("b2");
server.save(b2, txn);
//txn.flushBatch();
b1.setDescription("modify");
System.out.println("here");
Timestamp lastUpdate = b1.getLastUpdate();
Integer id = b1.getId();
assertNotNull(id);
EBasicVer b3 = new EBasicVer("b3");
server.save(b3, txn);
@@ -41,7 +39,60 @@ public class TestBatchInsertFlush extends BaseTestCase {
} finally {
txn.end();
}
}
@Test
public void testFlushOnGetProperty() {
EbeanServer server = Ebean.getDefaultServer();
Transaction txn = server.beginTransaction();
try {
txn.setBatch(PersistBatch.ALL);
EBasicVer b1 = new EBasicVer("b1");
server.save(b1, txn);
EBasicVer b2 = new EBasicVer("b2");
server.save(b2, txn);
// flush here
Timestamp lastUpdate = b1.getLastUpdate();
assertNotNull(lastUpdate);
EBasicVer b3 = new EBasicVer("b3");
server.save(b3, txn);
txn.commit();
} finally {
txn.end();
}
}
@Test
public void testFlushOnSetProperty() {
EbeanServer server = Ebean.getDefaultServer();
Transaction txn = server.beginTransaction();
try {
txn.setBatch(PersistBatch.ALL);
EBasicVer b1 = new EBasicVer("b1");
server.save(b1, txn);
EBasicVer b2 = new EBasicVer("b2");
server.save(b2, txn);
// flush here
b1.setDescription("modify");
EBasicVer b3 = new EBasicVer("b3");
server.save(b3, txn);
txn.commit();
} finally {
txn.end();
}
}
}
@@ -10,6 +10,7 @@ import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertEquals;
public class TestInsertBatchThenUpdate extends BaseTestCase {
@@ -24,6 +25,8 @@ public class TestInsertBatchThenUpdate extends BaseTestCase {
try {
txn.setBatch(PersistBatch.ALL);
LoggedSqlCollector.start();
EdParent parent = new EdParent();
parent.setName("MyComputer");
@@ -36,21 +39,17 @@ public class TestInsertBatchThenUpdate extends BaseTestCase {
Ebean.save(parent);
// nothing flushed yet
List<String> loggedSql0 = LoggedSqlCollector.start();
assertEquals(0, loggedSql0.size());
parent.setName("MyDesk");
Ebean.save(parent);
// nothing flushed yet
assertEquals(0, LoggedSqlCollector.start().size());
Ebean.commitTransaction();
// insert statements for EdExtendedParent
List<String> loggedSql2 = LoggedSqlCollector.start();
assertEquals(2, loggedSql2.size());
List<String> loggedSql = LoggedSqlCollector.stop();
assertEquals(3, loggedSql.size());
assertThat(loggedSql.get(0)).contains("insert into td_parent");
assertThat(loggedSql.get(1)).contains("insert into td_child ");
assertThat(loggedSql.get(2)).contains("update td_parent set parent_name=? where parent_id=?");
} finally {
Ebean.endTransaction();