package org.tests.basic;
import io.ebean.BaseTestCase;
import io.ebean.Ebean;
import io.ebean.FutureIds;
import io.ebean.Query;
import org.tests.model.basic.Order;
import org.tests.model.basic.ResetBasicData;
import org.junit.Test;
import java.util.List;
import java.util.concurrent.ExecutionException;
import static org.assertj.core.api.Assertions.assertThat;
public class TestFetchId extends BaseTestCase {
@Test
public void testFetchId() throws InterruptedException, ExecutionException {
ResetBasicData.reset();
Query<Order> query = Ebean.find(Order.class)
.setAutoTune(false)
.fetch("details")
.where().gt("id", 1)
.gt("details.id", 0)
.query();
List<Object> ids = Ebean.getServer(null).findIds(query, null);
assertThat(ids).isNotEmpty();
FutureIds<Order> futureIds = Ebean.getServer(null).findFutureIds(query, null);
// wait for all the id's to be fetched
List<Object> idList = futureIds.get();
assertThat(idList).isNotEmpty();
}
}