cloudstack/server/test/com/cloud/agent/manager/SearchCriteria2Test.java

70 lines
2.4 KiB
Java
Executable File

package com.cloud.agent.manager;
import java.util.List;
import org.apache.log4j.Logger;
import org.junit.After;
import org.junit.Before;
import com.cloud.host.HostVO;
import com.cloud.host.Status;
import com.cloud.host.dao.HostDao;
import com.cloud.host.dao.HostDaoImpl;
import com.cloud.utils.component.ComponentLocator;
import com.cloud.utils.component.MockComponentLocator;
import com.cloud.utils.db.DbTestUtils;
import com.cloud.utils.db.SearchCriteria2;
import com.cloud.utils.db.SearchCriteria.Op;
import com.cloud.vm.VMInstanceVO;
import com.cloud.vm.VirtualMachine;
import com.cloud.vm.dao.VMInstanceDao;
import com.cloud.vm.dao.VMInstanceDaoImpl;
import junit.framework.TestCase;
public class SearchCriteria2Test extends TestCase {
private static final Logger s_logger = Logger.getLogger(SearchCriteria2Test.class);
@Override
@Before
public void setUp() throws Exception {
DbTestUtils.executeScript("PreviousDatabaseSchema/clean-db.sql", false, true);
MockComponentLocator locator = new MockComponentLocator("management-server");
locator.addDao("HostDao", HostDaoImpl.class);
locator.addDao("VmInstance", VMInstanceDaoImpl.class);
s_logger.debug("Finding sample data from 2.1.12");
DbTestUtils.executeScript("PreviousDatabaseSchema/2.2.12-newagentmanager/2.2.12_new_agent_manager_cloud_db_sample.sql", false, true);
}
public void testSearch() {
ComponentLocator locator = ComponentLocator.getCurrentLocator();
HostDao _hostDao = locator.inject(HostDaoImpl.class);
VMInstanceDao _vmDao = locator.inject(VMInstanceDaoImpl.class);
s_logger.debug("Test seraching host:");
SearchCriteria2<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
sc.addAnd(sc.getEntity().getStatus(), Op.EQ, Status.Disconnected);
List<HostVO> ups = sc.list();
for (HostVO vo : ups) {
s_logger.info("Host id: " + vo.getId() + " is Disconnected");
}
SearchCriteria2<VMInstanceVO, VMInstanceVO> sc1 = SearchCriteria2.create(VMInstanceVO.class);
sc1.addAnd(sc1.getEntity().getState(), Op.EQ, VirtualMachine.State.Running);
List<VMInstanceVO> vms = sc1.list();
for (VMInstanceVO vm : vms) {
s_logger.info("Vm name:" + vm.getInstanceName());
}
}
@Override
@After
public void tearDown() throws Exception {
}
}