mirror of
https://github.com/ebean-orm/ebean.git
synced 2026-11-03 00:23:24 +00:00
#217 - ENH: Restore findFutureList() removing its previous deprecated status. Change implementation to use its own PersistenceContext (aka PersistenceContextScope.QUERY)
This commit is contained in:
1 parent
dd30b43d59
commit
8237072f5b
9 files changed
+399
-141
No files matched your search
@@ -0,0 +1,68 @@
|
||||
package com.avaje.tests.query;
|
||||
|
||||
import com.avaje.ebean.BaseTestCase;
|
||||
import com.avaje.ebean.Ebean;
|
||||
import com.avaje.ebean.FutureList;
|
||||
import com.avaje.ebean.Transaction;
|
||||
import com.avaje.tests.model.basic.Order;
|
||||
import com.avaje.tests.model.basic.ResetBasicData;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public class TestQueryFindFutureList extends BaseTestCase {
|
||||
|
||||
@Test
|
||||
public void test_cancel() throws InterruptedException {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
// warm the connection pool
|
||||
Transaction t0 = Ebean.getServer(null).createTransaction();
|
||||
Transaction t1 = Ebean.getServer(null).createTransaction();
|
||||
Transaction t2 = Ebean.getServer(null).createTransaction();
|
||||
t0.end();
|
||||
t1.end();
|
||||
t2.end();
|
||||
|
||||
FutureList<Order> futureList = Ebean.find(Order.class).findFutureList();
|
||||
|
||||
Thread.sleep(10);
|
||||
futureList.cancel(true);
|
||||
|
||||
// don't shutdown immediately
|
||||
Thread.sleep(50);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_findFutureList() throws InterruptedException {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
FutureList<Order> futureList = Ebean.find(Order.class).findFutureList();
|
||||
|
||||
// wait for it to complete
|
||||
List<Order> orders = futureList.getUnchecked();
|
||||
|
||||
assertEquals(Ebean.find(Order.class).findRowCount(), orders.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_findFutureListWithTimeout() throws InterruptedException, TimeoutException {
|
||||
|
||||
ResetBasicData.reset();
|
||||
|
||||
FutureList<Order> futureList = Ebean.find(Order.class).findFutureList();
|
||||
|
||||
// wait for it to complete
|
||||
List<Order> orders = futureList.getUnchecked(1, TimeUnit.SECONDS);
|
||||
|
||||
assertEquals(Ebean.find(Order.class).findRowCount(), orders.size());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user