package edu.harvard.i2b2.crc.dao.setfinder;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import java.util.Date;
import java.util.List;
import org.junit.BeforeClass;
import org.junit.Test;
import edu.harvard.i2b2.common.exception.I2B2DAOException;
import edu.harvard.i2b2.crc.dao.DAOFactoryHelper;
import edu.harvard.i2b2.crc.dao.IDAOFactory;
import edu.harvard.i2b2.crc.dao.SetFinderDAOFactory;
import edu.harvard.i2b2.crc.datavo.db.QtQueryInstance;
import edu.harvard.i2b2.crc.datavo.db.QtQueryMaster;
public class QueryInstanceDaoTest {
static SetFinderDAOFactory sfDaoFactory = null;
static String queryMasterId = null, queryInstanceId = null;
@BeforeClass
public static void setUp() throws Exception {
String hiveId = "HIVE", projectId = "/Asthma/1/1/", ownerId = "@";
DAOFactoryHelper daoFactoryHelper = new DAOFactoryHelper(hiveId,
projectId, ownerId);
IDAOFactory daoFactory = daoFactoryHelper.getDAOFactory();
sfDaoFactory = daoFactory.getSetFinderDAOFactory();
QtQueryMaster queryMaster = new QtQueryMaster();
queryMaster.setUserId("test_user");
queryMaster.setGroupId("test_group_id");
queryMaster.setName("test_name");
queryMaster.setCreateDate(new Date(System.currentTimeMillis()));
queryMaster.setRequestXml("test_request_xml");
queryMaster.setDeleteFlag("N");
queryMasterId = sfDaoFactory.getQueryMasterDAO().createQueryMaster(
queryMaster, "i2b2xml", null);
System.out.println("Query master id " + queryMasterId);
IQueryInstanceDao qiDAO = sfDaoFactory.getQueryInstanceDAO();
queryInstanceId = qiDAO.createQueryInstance(queryMasterId,
"test_instance_user", "test_instance_group", "batch_mode", 1);
}
@Test
public void getQueryInstanceByInstanceId() {
IQueryInstanceDao qiDAO = sfDaoFactory.getQueryInstanceDAO();
QtQueryInstance queryInstance = qiDAO
.getQueryInstanceByInstanceId(queryInstanceId);
assertNotNull(queryInstance);
assertEquals("test_instance_user", queryInstance.getUserId());
}
@Test
public void getQueryInstanceByMasterId() {
IQueryInstanceDao qiDAO = sfDaoFactory.getQueryInstanceDAO();
List<QtQueryInstance> queryInstanceList = qiDAO
.getQueryInstanceByMasterId(queryMasterId);
assertTrue(queryInstanceList.size() > 0);
}
@Test
public void update() throws I2B2DAOException {
IQueryInstanceDao qiDAO = sfDaoFactory.getQueryInstanceDAO();
QtQueryInstance queryInstance = qiDAO
.getQueryInstanceByInstanceId(queryInstanceId);
queryInstance.getQtQueryStatusType().setStatusTypeId(3);
qiDAO.update(queryInstance, false);
}
}