initial add of EbeanORM server based on v2.8.1

This commit is contained in:
rbygrave
2012-09-14 00:40:39 +12:00
parent 2b74d0f9d9
commit 96ce4c0ddf
1188 changed files with 135034 additions and 0 deletions
@@ -0,0 +1,43 @@
package com.avaje.tests.basic.event;
import com.avaje.ebean.Transaction;
import com.avaje.ebean.event.TransactionEventListener;
public class MyTestTransactionEventListener implements TransactionEventListener {
private volatile static boolean doTest = false;
private static Transaction lastCommitted;
private static Transaction lastRollbacked;
public void postTransactionCommit(Transaction tx) {
if (!doTest) {
return;
}
lastCommitted = tx;
}
public void postTransactionRollback(Transaction tx, Throwable cause) {
if (!doTest) {
return;
}
lastRollbacked = tx;
}
public static void setDoTest(boolean doTest) {
MyTestTransactionEventListener.doTest = doTest;
// reset what we've recorded so far
lastCommitted = null;
lastRollbacked = null;
}
public static Transaction getLastCommitted() {
return lastCommitted;
}
public static Transaction getLastRollbacked() {
return lastRollbacked;
}
}
@@ -0,0 +1,28 @@
package com.avaje.tests.basic.event;
import com.avaje.ebean.Ebean;
import com.avaje.tests.model.basic.TWithPreInsert;
import junit.framework.Assert;
import junit.framework.TestCase;
public class TestPreInsertValidation extends TestCase {
public void test() {
TWithPreInsert e = new TWithPreInsert();
e.setTitle("Mister");
// the perInsert should populate the
// name with should not be null
Ebean.save(e);
// the save worked
Assert.assertNotNull(e.getId());
TWithPreInsert e1 = Ebean.find(TWithPreInsert.class, e.getId());
e1.setTitle("Missus");
Ebean.save(e1);
}
}
@@ -0,0 +1,34 @@
package com.avaje.tests.basic.event;
import junit.framework.Assert;
import junit.framework.TestCase;
import com.avaje.ebean.Ebean;
import com.avaje.ebean.Query;
import com.avaje.tests.model.basic.ResetBasicData;
import com.avaje.tests.model.basic.TOne;
public class TestQueryAdapter extends TestCase {
public void testSimple() {
ResetBasicData.reset();
TOne o = new TOne();
o.setName("something");
Ebean.save(o);
//Ebean.find(TOne.class, o.getId());
Query<TOne> queryFindId = Ebean.find(TOne.class)
.setId(o.getId());
TOne one = queryFindId.findUnique();
Assert.assertNotNull(one);
Assert.assertEquals(one.getId(), o.getId());
String generatedSql = queryFindId.getGeneratedSql();
Assert.assertTrue(generatedSql.contains(" 1=1"));
}
}
@@ -0,0 +1,64 @@
package com.avaje.tests.basic.event;
import com.avaje.ebean.Ebean;
import com.avaje.ebean.Transaction;
import com.avaje.tests.model.basic.TWithPreInsert;
import junit.framework.TestCase;
public class TestTransactionEvent extends TestCase {
@Override
protected void tearDown() throws Exception {
MyTestTransactionEventListener.setDoTest(false);
}
@Override
protected void setUp() throws Exception {
MyTestTransactionEventListener.setDoTest(true);
}
public void test() {
assertNull(MyTestTransactionEventListener.getLastCommitted());
assertNull(MyTestTransactionEventListener.getLastRollbacked());
final Object myUserObject = new Object();
Transaction tx = Ebean.beginTransaction();
tx.putUserObject("myUserObject", myUserObject);
TWithPreInsert e = new TWithPreInsert();
e.setTitle("Mister Transaction1");
Ebean.save(e);
tx.commit();
assertNotNull(MyTestTransactionEventListener.getLastCommitted());
assertSame(MyTestTransactionEventListener.getLastCommitted(), tx);
assertNotNull(MyTestTransactionEventListener.getLastCommitted().getUserObject("myUserObject"));
assertSame(MyTestTransactionEventListener.getLastCommitted().getUserObject("myUserObject"), myUserObject);
assertNull(MyTestTransactionEventListener.getLastRollbacked());
Transaction tx2 = Ebean.beginTransaction();
tx2.putUserObject("myUserObject2", myUserObject);
TWithPreInsert e2 = new TWithPreInsert();
e2.setTitle("Mister Transaction2");
Ebean.save(e2);
tx2.rollback();
assertNotNull(MyTestTransactionEventListener.getLastCommitted());
assertNotNull(MyTestTransactionEventListener.getLastRollbacked());
assertNotSame(MyTestTransactionEventListener.getLastCommitted(), MyTestTransactionEventListener.getLastRollbacked());
assertSame(MyTestTransactionEventListener.getLastCommitted(), tx);
assertNotNull(MyTestTransactionEventListener.getLastCommitted().getUserObject("myUserObject"));
assertSame(MyTestTransactionEventListener.getLastCommitted().getUserObject("myUserObject"), myUserObject);
assertSame(MyTestTransactionEventListener.getLastRollbacked(), tx2);
assertNotNull(MyTestTransactionEventListener.getLastRollbacked().getUserObject("myUserObject2"));
assertSame(MyTestTransactionEventListener.getLastRollbacked().getUserObject("myUserObject2"), myUserObject);
}
}