package org.ovirt.engine.core.dao.profiles; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import java.util.List; import org.junit.Test; import org.ovirt.engine.core.common.businessentities.ActionGroup; import org.ovirt.engine.core.common.businessentities.profiles.CpuProfile; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dao.BaseDaoTestCase; import org.ovirt.engine.core.dao.FixturesTool; public class CpuProfileDaoTest extends BaseDaoTestCase { private CpuProfile cpuProfile; private CpuProfileDao dao; @Override public void setUp() throws Exception { super.setUp(); dao = dbFacade.getCpuProfileDao(); cpuProfile = new CpuProfile(); cpuProfile.setId(Guid.newGuid()); cpuProfile.setName("new_profile"); cpuProfile.setClusterId(FixturesTool.CLUSTER_RHEL6_ISCSI); cpuProfile.setQosId(FixturesTool.QOS_ID_4); } /** * Ensures null is returned. */ @Test public void testGetWithNonExistingId() { CpuProfile result = dao.get(Guid.newGuid()); assertNull(result); } /** * Ensures that the interface profile is returned. */ @Test public void testGet() { CpuProfile result = dao.get(FixturesTool.CPU_PROFILE_1); assertNotNull(result); assertEquals(FixturesTool.CPU_PROFILE_1, result.getId()); } /** * Ensures that an empty collection is returned. */ @Test public void testGetAllForStorageEmpty() { List<CpuProfile> result = dao.getAllForCluster(Guid.newGuid()); assertNotNull(result); assertTrue(result.isEmpty()); } /** * Ensures that profiles are returned. */ @Test public void testGetAllForClusterFull() { checkResults(dao.getAllForCluster(FixturesTool.CLUSTER_RHEL6_ISCSI)); } private void checkResults(List<CpuProfile> result) { assertNotNull(result); assertEquals(2, result.size()); for (CpuProfile cpuProfile : result) { assertEquals(FixturesTool.CLUSTER_RHEL6_ISCSI, cpuProfile.getClusterId()); } } @Test public void testGetAll() { List<CpuProfile> result = dao.getAll(); assertNotNull(result); assertEquals(6, result.size()); } /** * Ensures that the save is working correctly */ @Test public void testSave() { assertNull(dao.get(cpuProfile.getId())); dao.save(cpuProfile); CpuProfile result = dao.get(cpuProfile.getId()); assertNotNull(result); assertEquals(cpuProfile, result); } /** * Ensures that the update is working correctly */ @Test public void testUpdate() { CpuProfile profile = dao.get(FixturesTool.CPU_PROFILE_1); assertNotNull(profile); assertEquals(FixturesTool.QOS_ID_4, profile.getQosId()); profile.setQosId(FixturesTool.QOS_ID_5); profile.setDescription("desc1"); dao.update(profile); CpuProfile result = dao.get(profile.getId()); assertNotNull(result); assertEquals(profile, result); } /** * Ensures that the remove is working correctly */ @Test public void testRemove() { dao.save(cpuProfile); CpuProfile result = dao.get(cpuProfile.getId()); assertNotNull(result); dao.remove(cpuProfile.getId()); assertNull(dao.get(cpuProfile.getId())); } @Test public void testGetByQos() { List<CpuProfile> allForQos = dao.getAllForQos(FixturesTool.QOS_ID_4); assertNotNull(allForQos); assertEquals(2, allForQos.size()); for (CpuProfile cpuProfile : allForQos) { assertEquals(FixturesTool.QOS_ID_4, cpuProfile.getQosId()); } } @Test public void testGetFilteredByPermissions() { checkResults(dao.getAllForCluster(FixturesTool.CLUSTER_RHEL6_ISCSI, PRIVILEGED_USER_ID, true, ActionGroup.ASSIGN_CPU_PROFILE)); } @Test public void testGetFilteredByPermissionsForUnprivilegedUser() { List<CpuProfile> result = dao.getAllForCluster(FixturesTool.CLUSTER_RHEL6_ISCSI, UNPRIVILEGED_USER_ID, true, ActionGroup.ASSIGN_CPU_PROFILE); assertTrue(result.isEmpty()); } }