package org.ovirt.engine.core.dao.qos; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import java.util.Collections; import java.util.List; import java.util.Map; import org.junit.Test; import org.ovirt.engine.core.common.businessentities.qos.CpuQos; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dao.BaseDaoTestCase; import org.ovirt.engine.core.dao.FixturesTool; public class CpuQosDaoTest extends BaseDaoTestCase { private CpuQosDao dao; @Override public void setUp() throws Exception { super.setUp(); dao = getDbFacade().getCpuQosDao(); } /** * Ensures that retrieving with an invalid ID returns null. */ @Test public void testGetWithInvalidId() { assertNull(dao.get(Guid.newGuid())); } @Test public void getCpuQos() { CpuQos cpuQos = new CpuQos(); cpuQos.setId(FixturesTool.QOS_ID_4); cpuQos.setName("qos_d"); cpuQos.setDescription("desc1"); cpuQos.setStoragePoolId(FixturesTool.STORAGE_POOL_NFS); cpuQos.setCpuLimit(50); CpuQos fetched = dao.get(FixturesTool.QOS_ID_4); assertNotNull(fetched); assertEquals(cpuQos, fetched); } @Test public void updateCpuQos() { CpuQos cpuQos = dao.get(FixturesTool.QOS_ID_5); assertNotNull(cpuQos); cpuQos.setName("newB"); cpuQos.setDescription("desc2"); cpuQos.setCpuLimit(30); assertFalse(cpuQos.equals(dao.get(FixturesTool.QOS_ID_5))); dao.update(cpuQos); CpuQos fetched = dao.get(FixturesTool.QOS_ID_5); assertNotNull(fetched); assertEquals(cpuQos, fetched); } @Test public void removeCpuQos() { assertNotNull(dao.get(FixturesTool.QOS_ID_6)); dao.remove(FixturesTool.QOS_ID_6); assertNull(dao.get(FixturesTool.QOS_ID_6)); } @Test public void saveCpuQos() { CpuQos cpuQos = new CpuQos(); cpuQos.setId(Guid.newGuid()); assertNull(dao.get(cpuQos.getId())); cpuQos.setName("qos_d"); cpuQos.setDescription("desc3"); cpuQos.setStoragePoolId(FixturesTool.STORAGE_POOL_MIXED_TYPES); cpuQos.setCpuLimit(40); dao.save(cpuQos); CpuQos fetched = dao.get(cpuQos.getId()); assertNotNull(fetched); assertEquals(cpuQos, fetched); } @Test public void getAllCpuQosForCpuPool() { List<CpuQos> allForCpuPoolId = dao.getAllForStoragePoolId(FixturesTool.STORAGE_POOL_NFS); assertNotNull(allForCpuPoolId); assertEquals(3, allForCpuPoolId.size()); } @Test public void getQosByVmId() { Map<Guid, CpuQos> cpuQosMap = dao.getCpuQosByVmIds(Collections.singleton(FixturesTool.VM_RHEL5_POOL_50)); assertNotNull(cpuQosMap); assertEquals(FixturesTool.QOS_ID_4, cpuQosMap.get(FixturesTool.VM_RHEL5_POOL_50).getId()); } @Test public void getNoQosByVmId() { Map<Guid, CpuQos> cpuQosMap = dao.getCpuQosByVmIds(Collections.singleton(FixturesTool.VM_RHEL5_POOL_59)); assertNotNull(cpuQosMap); assertNull(cpuQosMap.get(FixturesTool.VM_RHEL5_POOL_57)); } }